Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@71c84c8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#10277)
PaperMC/Paper@e3bc4c4 Make debug mode print current configuration phase
PaperMC/Paper@d0ebfbb Fix corrupted plugin.yml breaking plugin loading (#10279)
PaperMC/Paper@681bbff Fix spawnreason saving
This commit is contained in:
granny
2024-02-23 22:51:48 -08:00
parent 8f4b0aeb67
commit 1083e45074
104 changed files with 782 additions and 743 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.4-R0.1-SNAPSHOT version = 1.20.4-R0.1-SNAPSHOT
mcVersion = 1.20.4 mcVersion = 1.20.4
paperCommit = 3ea95efdebba7254e842dec66214f71de4721993 paperCommit = 681bbff110d9a56152ae898c4dfe1c0356b40e69
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -20,7 +20,7 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c9ea26d2c 100644 index 241808d8619e17c0681f79acbbc98af5bf52dd89..12b774464e8de3a07993be23e233d31e11ede7b1 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
@@ -52,7 +52,7 @@ index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("org.hamcrest:hamcrest:2.2") testImplementation("org.hamcrest:hamcrest:2.2")
@@ -58,6 +69,14 @@ dependencies { @@ -59,6 +70,14 @@ dependencies {
} }
val craftbukkitPackageVersion = "1_20_R3" // Paper val craftbukkitPackageVersion = "1_20_R3" // Paper
@@ -67,7 +67,7 @@ index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c
tasks.jar { tasks.jar {
archiveClassifier.set("dev") archiveClassifier.set("dev")
@@ -70,7 +89,7 @@ tasks.jar { @@ -71,7 +90,7 @@ tasks.jar {
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -76,7 +76,7 @@ index ce3747d8d2a8f4327766cf23d5aaa72cfcb380bc..998429d65a001d5d54a3e9cf53c8314c
"Implementation-Vendor" to date, // Paper "Implementation-Vendor" to date, // Paper
"Specification-Title" to "Bukkit", "Specification-Title" to "Bukkit",
"Specification-Version" to project.version, "Specification-Version" to project.version,
@@ -210,7 +229,5 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src -> @@ -211,7 +230,5 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
} }
tasks.registerRunTask("runDev") { tasks.registerRunTask("runDev") {
description = "Spin up a non-relocated Mojang-mapped test server" description = "Spin up a non-relocated Mojang-mapped test server"
@@ -1560,7 +1560,7 @@ index 68d268b6fff126e8645b6deec3fb549ea2286b77..435b129c433704c24828d8fb57e14333
} }
} }
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 5a7278b093e37b95fb005ad5cc3cac90ac36f8fb..28d05b46952397bb664a1c8dae71816cafee89ce 100644 index 12109446fc76a39faee6cda042ca48b3fd3809f4..1081e9df44bb24b2c51ebd9364c21c7b2a3a205a 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -243,7 +243,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -243,7 +243,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1738,7 +1738,7 @@ index 529ab44baaf573b97cf7e89560c548642733188f..db55ad9aaabfa1ea998754f3ac352d16
this.wasOnGround = this.entity.onGround(); this.wasOnGround = this.entity.onGround();
this.teleportDelay = 0; this.teleportDelay = 0;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..dbe612427b894df9da1335b94163ba9b89b090c0 100644 index 6907d1be36fbdf0856c0e11983218d2fd1f9cb46..531c9ef0d6504fc1632b83bd93b9cf76e91377e8 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -894,6 +894,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -894,6 +894,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1794,7 +1794,7 @@ index 6934e9dac0d69c043b73b7c46d59f2d39b37c67f..dbe612427b894df9da1335b94163ba9b
if (this.isRainingAt(blockposition)) { if (this.isRainingAt(blockposition)) {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index ab5b259d8f72022c875cae73be25fe2da346c6b3..90910646031a73e1254fb844efdb9c8e32ec4233 100644 index 87e5ee042ab2c052d25ab4c2521a68cf2e2d67b6..601ac8738a775eafde2c9e237feb596a9a47ba89 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1135,6 +1135,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1135,6 +1135,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1918,10 +1918,10 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c
int LARGE_MAX_STACK_SIZE = 64; int LARGE_MAX_STACK_SIZE = 64;
int DEFAULT_DISTANCE_LIMIT = 8; int DEFAULT_DISTANCE_LIMIT = 8;
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f6df53999 100644 index 45439b0cc4ea69e409fd41d4684403c0e0feab12..098c410f0285948d7ac48835c352f9c97742c5c7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -308,7 +308,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -309,7 +309,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public double yo; public double yo;
public double zo; public double zo;
private Vec3 position; private Vec3 position;
@@ -1930,7 +1930,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
private ChunkPos chunkPosition; private ChunkPos chunkPosition;
private Vec3 deltaMovement; private Vec3 deltaMovement;
private float yRot; private float yRot;
@@ -423,6 +423,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -424,6 +424,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
private UUID originWorld; private UUID originWorld;
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean fixedPose = false; // Paper - Expand Pose API public boolean fixedPose = false; // Paper - Expand Pose API
@@ -1940,7 +1940,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
public void setOrigin(@javax.annotation.Nonnull Location location) { public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector(); this.origin = location.toVector();
@@ -807,6 +810,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -820,6 +823,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
public void tick() { public void tick() {
@@ -1953,7 +1953,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
this.baseTick(); this.baseTick();
} }
@@ -4405,16 +4414,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -4421,16 +4430,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) { public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
@@ -1979,7 +1979,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
double d1 = 0.0D; double d1 = 0.0D;
boolean flag = this.isPushedByFluid(); boolean flag = this.isPushedByFluid();
boolean flag1 = false; boolean flag1 = false;
@@ -4422,14 +4433,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -4438,14 +4449,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
int k1 = 0; int k1 = 0;
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
@@ -2047,7 +2047,7 @@ index 906eded9a2ab61737a30cfe89292a71237ce4eb7..0f2af6968f6bb47f5ef7e3f63cbfdc2f
if (d2 >= axisalignedbb.minY) { if (d2 >= axisalignedbb.minY) {
flag1 = true; flag1 = true;
@@ -4451,9 +4509,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -4467,9 +4525,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// CraftBukkit end // CraftBukkit end
} }
} }
@@ -2074,10 +2074,10 @@ index 09e8445a3f8c6b3ebc852a75a9a25b41a51ba659..dc11683ee4d8a6b7a1c42bcae36dc6e8
private String descriptionId; private String descriptionId;
@Nullable @Nullable
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e6c92cc99 100644 index 23570a0b1227a840b9c1e6ae326827ea655bb5f7..25e30408c964b5257f1cf945892bd668df38252b 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -143,7 +143,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent; import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end // CraftBukkit end
@@ -2085,7 +2085,7 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
public abstract class LivingEntity extends Entity implements Attackable { public abstract class LivingEntity extends Entity implements Attackable {
@@ -413,7 +412,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -414,7 +413,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = this instanceof net.minecraft.world.entity.player.Player; boolean flag = this instanceof net.minecraft.world.entity.player.Player;
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
@@ -2094,7 +2094,7 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
this.hurt(this.damageSources().inWall(), 1.0F); this.hurt(this.damageSources().inWall(), 1.0F);
} else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) { } else if (flag && !this.level().getWorldBorder().isWithinBounds(this.getBoundingBox())) {
double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone(); double d0 = this.level().getWorldBorder().getDistanceToBorder(this) + this.level().getWorldBorder().getDamageSafeZone();
@@ -1410,6 +1409,19 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1418,6 +1417,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.getHealth() <= 0.0F; return this.getHealth() <= 0.0F;
} }
@@ -2114,7 +2114,7 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
@Override @Override
public boolean hurt(DamageSource source, float amount) { public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
@@ -2016,6 +2028,20 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2024,6 +2036,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.lastClimbablePos; return this.lastClimbablePos;
} }
@@ -2136,10 +2136,10 @@ index aceee33eebd4d5f89e62a42910ec51843f33843b..aa9696facf7780313c322d01928aab7e
if (this.isSpectator()) { if (this.isSpectator()) {
return false; return false;
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index fa0b78139fecc0245e168ebeb4172ea2531a3fec..4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe 100644 index 2439f8d48daca7329049436414f06a36b4b79029..4cf2963fdbe9003fd18ac8c2035ccded57c02abd 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -221,14 +221,16 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -222,14 +222,16 @@ public abstract class Mob extends LivingEntity implements Targeting {
return this.lookControl; return this.lookControl;
} }
@@ -2158,7 +2158,7 @@ index fa0b78139fecc0245e168ebeb4172ea2531a3fec..4be5ae6bfc7bbb8c928e13208dfcd7f4
this.targetSelector.tick(); this.targetSelector.tick();
} }
} }
@@ -912,16 +914,20 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -913,16 +915,20 @@ public abstract class Mob extends LivingEntity implements Targeting {
if (i % 2 != 0 && this.tickCount > 1) { if (i % 2 != 0 && this.tickCount > 1) {
this.level().getProfiler().push("targetSelector"); this.level().getProfiler().push("targetSelector");
@@ -2359,10 +2359,10 @@ index 295769d039f2a1e4f48912a60f9dbe267d8992c1..e88b058c0734e436ef24bab6364b206c
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("frogActivityUpdate"); this.level().getProfiler().push("frogActivityUpdate");
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5 100644 index 958816ce2166248b542c96c10c398a52d769b4db..415afe3473d9f8a50b1edab8cfda6158e59836e6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java --- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -77,9 +77,11 @@ public class Tadpole extends AbstractFish { @@ -80,9 +80,11 @@ public class Tadpole extends AbstractFish {
return SoundEvents.TADPOLE_FLOP; return SoundEvents.TADPOLE_FLOP;
} }
@@ -2391,10 +2391,10 @@ index 5d247ac38fe8a61603b3d934f3000bcda773142b..2e4177cfb02616ef6fa689f6d378976e
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("goatActivityUpdate"); this.level().getProfiler().push("goatActivityUpdate");
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 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 ac9eaeaf7df1e84ee588f371628c0a10784d50bc..ea8883b0661e894a466eca24bfc247ac37f40a81 100644 index 12440ee2dccc0a697fb403765f2e1b987ccc0283..de2471cfa96a23944f229f33ffdff88b6b7756e4 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -150,6 +150,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -151,6 +151,13 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.bossEvent.setName(this.getDisplayName()); this.bossEvent.setName(this.getDisplayName());
} }
@@ -2483,10 +2483,10 @@ index 937f81a859953498abe73bea560c86e6560e1c33..0a151c679b0dc943598180942d6d4b38
this.level().getProfiler().pop(); this.level().getProfiler().pop();
super.customServerAiStep(); super.customServerAiStep();
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 1aae466e3e334d7f4bbb3ea9365a255afcc3dd3a..b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d 100644 index 24044795d8e0f1fb15a4f2f5401f44897092f2a3..96ca567af2d8fb2ba39f995be80b935344550124 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -143,6 +143,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return holder.is(PoiTypes.MEETING); return holder.is(PoiTypes.MEETING);
}); });
@@ -2495,7 +2495,7 @@ index 1aae466e3e334d7f4bbb3ea9365a255afcc3dd3a..b1fa6e102a694b63f2aa9660b9e6b649
public Villager(EntityType<? extends Villager> entityType, Level world) { public Villager(EntityType<? extends Villager> entityType, Level world) {
this(entityType, world, VillagerType.PLAINS); this(entityType, world, VillagerType.PLAINS);
} }
@@ -245,6 +247,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -246,6 +248,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
// Spigot End // Spigot End
@@ -2503,7 +2503,7 @@ index 1aae466e3e334d7f4bbb3ea9365a255afcc3dd3a..b1fa6e102a694b63f2aa9660b9e6b649
@Override @Override
@Deprecated // Paper @Deprecated // Paper
protected void customServerAiStep() { protected void customServerAiStep() {
@@ -254,7 +257,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -255,7 +258,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void customServerAiStep(final boolean inactive) { protected void customServerAiStep(final boolean inactive) {
// Paper end // Paper end
this.level().getProfiler().push("villagerBrain"); this.level().getProfiler().push("villagerBrain");
@@ -2590,10 +2590,10 @@ index 156809090f1f83ad68e7e2477a3cfddac5757a8e..837f68825f601971f374be47952b2310
if (entity != null) { if (entity != null) {
this.ownerUUID = entity.getUUID(); this.ownerUUID = entity.getUUID();
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea6914388dc24639 100644 index 756d0434472921992c9d84597d7c9c824e93614c..38c573d440946ca7ee6016ef92e9c1605031e611 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
@@ -27,7 +27,10 @@ import org.bukkit.inventory.InventoryHolder; @@ -28,7 +28,10 @@ import org.bukkit.inventory.InventoryHolder;
public abstract class AbstractMinecartContainer extends AbstractMinecart implements ContainerEntity { public abstract class AbstractMinecartContainer extends AbstractMinecart implements ContainerEntity {
@@ -2604,7 +2604,7 @@ index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea691438
@Nullable @Nullable
public ResourceLocation lootTable; public ResourceLocation lootTable;
public long lootTableSeed; public long lootTableSeed;
@@ -89,12 +92,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme @@ -90,12 +93,18 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
protected AbstractMinecartContainer(EntityType<?> type, Level world) { protected AbstractMinecartContainer(EntityType<?> type, Level world) {
super(type, world); super(type, world);
@@ -2625,7 +2625,7 @@ index 6d23c39e4eadf23616080d6d08672e13b5d3c37d..e7115f1635821e0aab32e8aeea691438
} }
@Override @Override
@@ -156,6 +165,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme @@ -164,6 +173,10 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
protected void readAdditionalSaveData(CompoundTag nbt) { protected void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt); super.readAdditionalSaveData(nbt);
this.lootableData.loadNbt(nbt); // Paper this.lootableData.loadNbt(nbt); // Paper
@@ -2697,7 +2697,7 @@ index 27b0a79f7a7c47047216aae42944bac2a2151181..a097cfc528f709c80575f35483b68783
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
int i = 0; int i = 0;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..9c02040543825e99f576c6f8995133ec6a329940 100644 index f476ba6c97944bdffae5aacae2e285d17541f46e..506100b02e7e9a3eabfde6b1f93858c4cc048524 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -207,6 +207,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -207,6 +207,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -2720,9 +2720,9 @@ index 19f23a6c8fb5c02843c27fb8a242ec9d0d1b538b..9c02040543825e99f576c6f8995133ec
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ()); final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
MinecraftServer.LOGGER.error(msg, throwable); MinecraftServer.LOGGER.error(msg, throwable);
getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
- entity.discard(); - entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
- // Paper end - Prevent block entity and entity crashes - // Paper end - Prevent block entity and entity crashes
+ entity.discard(); // Pufferfish - diff on change ServerLevel.tick + entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Pufferfish - diff on change ServerLevel.tick
+ // Paper end + // Paper end
} }
} }
@@ -2884,10 +2884,10 @@ index 9b1243d96e0694c62fc9e82e9be540bce0d2b3ad..3514022d898a24052c917ebf55dcef3e
@Override @Override
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f0478af4679f 100644 index 757edf74751dc7183454656fda9cecc4eb601e4c..9e577408d8e794c40bf34bc800cd0920856a5d2b 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -47,7 +47,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -48,7 +48,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
public static final int MOVE_ITEM_SPEED = 8; public static final int MOVE_ITEM_SPEED = 8;
public static final int HOPPER_CONTAINER_SIZE = 5; public static final int HOPPER_CONTAINER_SIZE = 5;
@@ -2898,7 +2898,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
private int cooldownTime; private int cooldownTime;
private long tickedGameTime; private long tickedGameTime;
@@ -83,14 +86,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -84,14 +87,37 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
public HopperBlockEntity(BlockPos pos, BlockState state) { public HopperBlockEntity(BlockPos pos, BlockState state) {
super(BlockEntityType.HOPPER, pos, state); super(BlockEntityType.HOPPER, pos, state);
@@ -2938,7 +2938,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
if (!this.tryLoadLootTable(nbt)) { if (!this.tryLoadLootTable(nbt)) {
ContainerHelper.loadAllItems(nbt, this.items); ContainerHelper.loadAllItems(nbt, this.items);
} }
@@ -491,6 +517,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -492,6 +518,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
} }
private static boolean isFullContainer(Container inventory, Direction direction) { private static boolean isFullContainer(Container inventory, Direction direction) {
@@ -2946,7 +2946,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
// Paper start - Perf: Optimize Hoppers // Paper start - Perf: Optimize Hoppers
if (inventory instanceof WorldlyContainer worldlyContainer) { if (inventory instanceof WorldlyContainer worldlyContainer) {
for (final int slot : worldlyContainer.getSlotsForFace(direction)) { for (final int slot : worldlyContainer.getSlotsForFace(direction)) {
@@ -513,7 +540,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -514,7 +541,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
} }
private static boolean isEmptyContainer(Container inv, Direction facing) { private static boolean isEmptyContainer(Container inv, Direction facing) {
@@ -2958,7 +2958,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
} }
public static boolean suckInItems(Level world, Hopper hopper) { public static boolean suckInItems(Level world, Hopper hopper) {
@@ -713,7 +743,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -714,7 +744,7 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
if (HopperBlockEntity.canPlaceItemInContainer(to, stack, slot, side)) { if (HopperBlockEntity.canPlaceItemInContainer(to, stack, slot, side)) {
boolean flag = false; boolean flag = false;
@@ -2967,7 +2967,7 @@ index a61d7cd2b078fe511ff00344197b6ea11feebfb2..7041394d366e6145369d032a0a14f047
if (itemstack1.isEmpty()) { if (itemstack1.isEmpty()) {
// Spigot start - SPIGOT-6693, InventorySubcontainer#setItem // Spigot start - SPIGOT-6693, InventorySubcontainer#setItem
@@ -908,7 +938,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -909,7 +939,10 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@Override @Override
protected void setItems(NonNullList<ItemStack> list) { protected void setItems(NonNullList<ItemStack> list) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c3437923f6aa4a 100644 index 12b774464e8de3a07993be23e233d31e11ede7b1..7e82d2c6a6085a5ea335ba9ef2a5ec3f5a37e787 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) { @@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
@@ -36,7 +36,7 @@ index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c34379
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("org.junit.jupiter:junit-jupiter:5.10.0") testImplementation("org.junit.jupiter:junit-jupiter:5.10.0")
testImplementation("org.hamcrest:hamcrest:2.2") testImplementation("org.hamcrest:hamcrest:2.2")
@@ -89,7 +93,7 @@ tasks.jar { @@ -90,7 +94,7 @@ tasks.jar {
attributes( attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main", "Main-Class" to "org.bukkit.craftbukkit.Main",
"Implementation-Title" to "CraftBukkit", "Implementation-Title" to "CraftBukkit",
@@ -45,7 +45,7 @@ index 998429d65a001d5d54a3e9cf53c8314c9ea26d2c..3caad009206da9c8161f549af0c34379
"Implementation-Vendor" to date, // Paper "Implementation-Vendor" to date, // Paper
"Specification-Title" to "Bukkit", "Specification-Title" to "Bukkit",
"Specification-Version" to project.version, "Specification-Version" to project.version,
@@ -173,7 +177,7 @@ fun TaskContainer.registerRunTask( @@ -174,7 +178,7 @@ fun TaskContainer.registerRunTask(
name: String, name: String,
block: JavaExec.() -> Unit block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) { ): TaskProvider<JavaExec> = register<JavaExec>(name) {
@@ -239,7 +239,7 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index f1e4dfd203d455ec089cd2b5679c4083400dbc7f..6f9cb8f328f47d6f3eb3142d701d80ceb51af926 100644 index 3f952d1409118535f325f614f1a6507c40efa4d6..98df582ca3425f621396ce93cf7a0617ce3fb11f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -953,7 +953,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -953,7 +953,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix pufferfish issues
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index 3caad009206da9c8161f549af0c3437923f6aa4a..6bceca84bd073e25fc9aa19b8b713a2873713696 100644 index 7e82d2c6a6085a5ea335ba9ef2a5ec3f5a37e787..32366253c04c493135f2b22d1940f83669104723 100644
--- a/build.gradle.kts --- a/build.gradle.kts
+++ b/build.gradle.kts +++ b/build.gradle.kts
@@ -233,5 +233,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src -> @@ -234,5 +234,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
} }
tasks.registerRunTask("runDev") { tasks.registerRunTask("runDev") {
description = "Spin up a non-relocated Mojang-mapped test server" description = "Spin up a non-relocated Mojang-mapped test server"
@@ -40,9 +40,18 @@ index f6a3364175476c57a7763a087ff55e1689474800..5e01bfdad663656168604fc878a993dd
"This can improve performance by a few percent, but has minor gameplay implications."); "This can improve performance by a few percent, but has minor gameplay implications.");
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index dbe612427b894df9da1335b94163ba9b89b090c0..0982d44b9dd30c13d9d879095cc9a839bbda8bdc 100644 index 531c9ef0d6504fc1632b83bd93b9cf76e91377e8..09594f96cf79aa38142a859bef2e3b6b8d00f7db 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -924,7 +924,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
final String msg = String.format("Entity threw exception at %s:%s,%s,%s", entity.level().getWorld().getName(), entity.getX(), entity.getY(), entity.getZ());
MinecraftServer.LOGGER.error(msg, throwable);
getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable)));
- entity.discard();
+ entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Purpur
// Paper end
}
// Pufferfish end
@@ -992,7 +992,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -992,7 +992,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
@@ -52,8 +61,34 @@ index dbe612427b894df9da1335b94163ba9b89b090c0..0982d44b9dd30c13d9d879095cc9a839
// Paper end // Paper end
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 098c410f0285948d7ac48835c352f9c97742c5c7..3773b05d0e2875db8817835e623272292855925f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -825,7 +825,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void tick() {
// Pufferfish start - entity TTL
if (type != EntityType.PLAYER && type.ttl >= 0 && this.tickCount >= type.ttl) {
- discard();
+ discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Purpur
return;
}
// Pufferfish end - entity TTL
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 837f68825f601971f374be47952b23108bf66ba6..2a8a8030feefae84e394460612405887e63f2ac7 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -64,7 +64,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
if (!isLoaded) {
if (Projectile.loadedThisTick > gg.pufferfish.pufferfish.PufferfishConfig.maxProjectileLoadsPerTick) {
if (++this.loadedLifetime > gg.pufferfish.pufferfish.PufferfishConfig.maxProjectileLoadsPerProjectile) {
- this.discard();
+ this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); // Purpur
}
return;
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 9c02040543825e99f576c6f8995133ec6a329940..d6a08f06812bc15813559eb8ff66eddf7cf22888 100644 index 506100b02e7e9a3eabfde6b1f93858c4cc048524..27447e4acb7db91b7595a7c25b682a4a4ce8c151 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -207,7 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -207,7 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {

View File

@@ -36,10 +36,10 @@ index 1d91ce01e7ce806a5b2e937ff855ebf159534f29..d39a3359249e2a312da0645d5abb625d
public void displayClientMessage(Component message, boolean overlay) { public void displayClientMessage(Component message, boolean overlay) {
this.sendSystemMessage(message, overlay); this.sendSystemMessage(message, overlay);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 91feb12732564c90656da487664dbc12e55397fc..a2e76fb8431cd4dc0cbf94245086c939625fb0da 100644 index 1e5f709115007ff19901c0a6c3cf884d9e4d3a6c..6886f5808ffaaed06dcae122f7cba6a12ad563af 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1063,6 +1063,20 @@ public abstract class PlayerList { @@ -1064,6 +1064,20 @@ public abstract class PlayerList {
} }
// CraftBukkit end // CraftBukkit end
@@ -81,10 +81,10 @@ index 1561b85a45f52a8162f43553f8485bfe084b8f1f..938524dc5b495ad160b9b14219db573e
return this.type().msgId(); return this.type().msgId();
} }
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0f2af6968f6bb47f5ef7e3f63cbfdc2f6df53999..169d5e539b1474a3e400b53e21f867e5fb175182 100644 index 3773b05d0e2875db8817835e623272292855925f..b96535eb07da6535bbb287c9478b81e7022247b1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4136,6 +4136,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -4152,6 +4152,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return SlotAccess.NULL; return SlotAccess.NULL;
} }

View File

@@ -34,7 +34,7 @@ index a6d3f90f7867cfbda0ef406ff3ce1bd8b9f787b0..0831d305a3b9d8d27cef946f46c0b03f
this.profiler.push(() -> { this.profiler.push(() -> {
return worldserver + " " + worldserver.dimension().location(); return worldserver + " " + worldserver.dimension().location();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 0982d44b9dd30c13d9d879095cc9a839bbda8bdc..cdc17904cdf3d6669503e09debfbb156a80f0020 100644 index 09594f96cf79aa38142a859bef2e3b6b8d00f7db..8ef87310566772024193aeade42faf0bca1c0ecb 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -224,6 +224,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -224,6 +224,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -79,10 +79,10 @@ index 601ac8738a775eafde2c9e237feb596a9a47ba89..7f73d724af2c468a06dcfd760a70b8d6
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a178bea15 100644 index b96535eb07da6535bbb287c9478b81e7022247b1..add00d6f63ed57d95abba3666095b64c3d47791a 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -378,7 +378,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -379,7 +379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
private final Set<String> tags; private final Set<String> tags;
private final double[] pistonDeltas; private final double[] pistonDeltas;
private long pistonDeltasGameTime; private long pistonDeltasGameTime;
@@ -91,7 +91,7 @@ index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a
private float eyeHeight; private float eyeHeight;
public boolean isInPowderSnow; public boolean isInPowderSnow;
public boolean wasInPowderSnow; public boolean wasInPowderSnow;
@@ -3011,6 +3011,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3027,6 +3027,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.passengers = ImmutableList.copyOf(list); this.passengers = ImmutableList.copyOf(list);
} }
@@ -105,7 +105,7 @@ index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
} }
} }
@@ -3050,6 +3057,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3066,6 +3073,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return false; return false;
} }
// CraftBukkit end // CraftBukkit end
@@ -120,7 +120,7 @@ index 169d5e539b1474a3e400b53e21f867e5fb175182..46e3d7a949d79d9168e0a976be09be5a
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
this.passengers = ImmutableList.of(); this.passengers = ImmutableList.of();
} else { } else {
@@ -4987,4 +5002,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -5011,4 +5026,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
} }
// Paper end - Expose entity id counter // Paper end - Expose entity id counter
@@ -190,10 +190,10 @@ index 1bb8b6e91c44cd13411d96d749fa64835c75a267..75c278b67ad2b78766efd8f89c4c2ca7
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; 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 diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353ae1717ede 100644 index 25e30408c964b5257f1cf945892bd668df38252b..4621dd94e9346bdd2eeca1d17869ff99aede0077 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -218,9 +218,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected int deathScore; protected int deathScore;
public float lastHurt; public float lastHurt;
public boolean jumping; public boolean jumping;
@@ -206,7 +206,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
protected int lerpSteps; protected int lerpSteps;
protected double lerpX; protected double lerpX;
protected double lerpY; protected double lerpY;
@@ -285,7 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -286,7 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.effectsDirty = true; this.effectsDirty = true;
this.useItem = ItemStack.EMPTY; this.useItem = ItemStack.EMPTY;
this.lastClimbablePos = Optional.empty(); this.lastClimbablePos = Optional.empty();
@@ -215,7 +215,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor // CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue()); this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -336,6 +336,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -337,6 +337,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public static AttributeSupplier.Builder createLivingAttributes() { public static AttributeSupplier.Builder createLivingAttributes() {
return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION); return AttributeSupplier.builder().add(Attributes.MAX_HEALTH).add(Attributes.KNOCKBACK_RESISTANCE).add(Attributes.MOVEMENT_SPEED).add(Attributes.ARMOR).add(Attributes.ARMOR_TOUGHNESS).add(Attributes.MAX_ABSORPTION);
} }
@@ -223,7 +223,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
@Override @Override
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
@@ -2742,7 +2743,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2750,7 +2751,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
protected long lastJumpTime = 0L; // Paper - Prevent excessive velocity through repeated crits protected long lastJumpTime = 0L; // Paper - Prevent excessive velocity through repeated crits
@@ -232,7 +232,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
// Paper start - Prevent excessive velocity through repeated crits // Paper start - Prevent excessive velocity through repeated crits
long time = System.nanoTime(); long time = System.nanoTime();
@@ -3520,8 +3521,10 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3528,8 +3529,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities(); this.pushEntities();
this.level().getProfiler().pop(); this.level().getProfiler().pop();
// Paper start - Add EntityMoveEvent // Paper start - Add EntityMoveEvent
@@ -245,7 +245,7 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); Location to = new Location(this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
@@ -3531,6 +3534,21 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3539,6 +3542,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
} }
} }
@@ -268,10 +268,10 @@ index aa9696facf7780313c322d01928aab7e6c92cc99..5436e9645426e01f2cae2f567fe3353a
// Paper end - Add EntityMoveEvent // Paper end - Add EntityMoveEvent
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c9130a77015 100644 index 4cf2963fdbe9003fd18ac8c2035ccded57c02abd..8b39ea90558dbd5356c038b74fa4037fb69546ac 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -149,8 +149,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
this.restrictRadius = -1.0F; this.restrictRadius = -1.0F;
this.goalSelector = new GoalSelector(world.getProfilerSupplier()); this.goalSelector = new GoalSelector(world.getProfilerSupplier());
this.targetSelector = new GoalSelector(world.getProfilerSupplier()); this.targetSelector = new GoalSelector(world.getProfilerSupplier());
@@ -282,7 +282,7 @@ index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c91
this.jumpControl = new JumpControl(this); this.jumpControl = new JumpControl(this);
this.bodyRotationControl = this.createBodyControl(); this.bodyRotationControl = this.createBodyControl();
this.navigation = this.createNavigation(world); this.navigation = this.createNavigation(world);
@@ -1397,7 +1397,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1398,7 +1398,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
protected InteractionResult mobInteract(Player player, InteractionHand hand) { protected InteractionResult mobInteract(Player player, InteractionHand hand) {
@@ -291,7 +291,7 @@ index 4be5ae6bfc7bbb8c928e13208dfcd7f455c56cfe..1a31090435898c9ffc1a4e124d2d6c91
} }
public boolean isWithinRestriction() { public boolean isWithinRestriction() {
@@ -1786,4 +1786,56 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1787,4 +1787,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
} }
@@ -965,10 +965,10 @@ index 3cdd9f379c7e2d46ea47c9ef55b121c93ec0bb4a..b0cff23aa6f841ad291437964ea5bebb
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f 100644 index 45646c69ea73936a8916756fde37dd3f39db0d04..18380c1ee458507de98a8aeb53c8b0c863d1eb89 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -82,14 +82,82 @@ public class Dolphin extends WaterAnimal { @@ -83,14 +83,82 @@ public class Dolphin extends WaterAnimal {
public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> { public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> {
return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater(); return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater();
}; };
@@ -1052,7 +1052,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
@Nullable @Nullable
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
@@ -159,6 +227,7 @@ public class Dolphin extends WaterAnimal { @@ -160,6 +228,7 @@ public class Dolphin extends WaterAnimal {
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new BreathAirGoal(this)); this.goalSelector.addGoal(0, new BreathAirGoal(this));
this.goalSelector.addGoal(0, new TryFindWaterGoal(this)); this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
@@ -1060,7 +1060,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this)); this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D)); this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
this.goalSelector.addGoal(4, new RandomSwimmingGoal(this, 1.0D, 10)); this.goalSelector.addGoal(4, new RandomSwimmingGoal(this, 1.0D, 10));
@@ -169,6 +238,7 @@ public class Dolphin extends WaterAnimal { @@ -170,6 +239,7 @@ public class Dolphin extends WaterAnimal {
this.goalSelector.addGoal(8, new Dolphin.PlayWithItemsGoal()); this.goalSelector.addGoal(8, new Dolphin.PlayWithItemsGoal());
this.goalSelector.addGoal(8, new FollowBoatGoal(this)); this.goalSelector.addGoal(8, new FollowBoatGoal(this));
this.goalSelector.addGoal(9, new AvoidEntityGoal<>(this, Guardian.class, 8.0F, 1.0D, 1.0D)); this.goalSelector.addGoal(9, new AvoidEntityGoal<>(this, Guardian.class, 8.0F, 1.0D, 1.0D));
@@ -1068,7 +1068,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers()); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers());
} }
@@ -220,7 +290,7 @@ public class Dolphin extends WaterAnimal { @@ -221,7 +291,7 @@ public class Dolphin extends WaterAnimal {
@Override @Override
protected boolean canRide(Entity entity) { protected boolean canRide(Entity entity) {
@@ -1077,7 +1077,7 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
} }
@Override @Override
@@ -255,6 +325,11 @@ public class Dolphin extends WaterAnimal { @@ -256,6 +326,11 @@ public class Dolphin extends WaterAnimal {
@Override @Override
public void tick() { public void tick() {
super.tick(); super.tick();
@@ -1090,10 +1090,10 @@ index 178e1e75fcd0e60a1dd2729a894df08cf4129526..2412cdb1bdaf7a558ad7235fca7ea5c7
this.setAirSupply(this.getMaxAirSupply()); this.setAirSupply(this.getMaxAirSupply());
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe104505fa7dab 100644 index f7a7810fdc2f74b79fa14470493485e4b74539ab..c63634825ffffed2eccc560af9e9fcef1a9dc2e8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -144,6 +144,44 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -148,6 +148,44 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.setCanPickUpLoot(true); this.setCanPickUpLoot(true);
} }
@@ -1138,7 +1138,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
@Override @Override
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
@@ -163,6 +201,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -167,6 +205,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
return entityliving instanceof AbstractSchoolingFish; return entityliving instanceof AbstractSchoolingFish;
}); });
this.goalSelector.addGoal(0, new Fox.FoxFloatGoal()); this.goalSelector.addGoal(0, new Fox.FoxFloatGoal());
@@ -1146,7 +1146,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
this.goalSelector.addGoal(0, new ClimbOnTopOfPowderSnowGoal(this, this.level())); this.goalSelector.addGoal(0, new ClimbOnTopOfPowderSnowGoal(this, this.level()));
this.goalSelector.addGoal(1, new Fox.FaceplantGoal()); this.goalSelector.addGoal(1, new Fox.FaceplantGoal());
this.goalSelector.addGoal(2, new Fox.FoxPanicGoal(2.2D)); this.goalSelector.addGoal(2, new Fox.FoxPanicGoal(2.2D));
@@ -189,6 +228,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -193,6 +232,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.goalSelector.addGoal(11, new Fox.FoxSearchForItemsGoal()); this.goalSelector.addGoal(11, new Fox.FoxSearchForItemsGoal());
this.goalSelector.addGoal(12, new Fox.FoxLookAtPlayerGoal(this, Player.class, 24.0F)); this.goalSelector.addGoal(12, new Fox.FoxLookAtPlayerGoal(this, Player.class, 24.0F));
this.goalSelector.addGoal(13, new Fox.PerchAndSearchGoal()); this.goalSelector.addGoal(13, new Fox.PerchAndSearchGoal());
@@ -1154,7 +1154,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
this.targetSelector.addGoal(3, new Fox.DefendTrustedTargetGoal(LivingEntity.class, false, false, (entityliving) -> { this.targetSelector.addGoal(3, new Fox.DefendTrustedTargetGoal(LivingEntity.class, false, false, (entityliving) -> {
return Fox.TRUSTED_TARGET_SELECTOR.test(entityliving) && !this.trusts(entityliving.getUUID()); return Fox.TRUSTED_TARGET_SELECTOR.test(entityliving) && !this.trusts(entityliving.getUUID());
})); }));
@@ -781,16 +821,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -785,16 +825,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
return new Vec3(0.0D, (double) (0.55F * this.getEyeHeight()), (double) (this.getBbWidth() * 0.4F)); return new Vec3(0.0D, (double) (0.55F * this.getEyeHeight()), (double) (this.getBbWidth() * 0.4F));
} }
@@ -1174,7 +1174,7 @@ index 12b49510deb0494c4a70b63679f8818960f2af06..142e45f4b5f2eb90b980f5085abe1045
} }
} }
@@ -801,16 +841,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -805,16 +845,16 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
} }
@@ -1251,10 +1251,10 @@ index 6cfe0d6c46caa122db107c607d27a2bdcd82f7a8..cb05267fb287b9de9d1829e90d9bb9c9
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F; float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9f0206c23 100644 index 161c128d27f50f145f88142191f1a5c93649ea65..b59d6a3f799f100702efb1fd10bbc48da4f4bd8f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -63,6 +63,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -64,6 +64,23 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
super(type, world); super(type, world);
} }
@@ -1278,7 +1278,7 @@ index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9
@Override @Override
public float getWalkTargetValue(BlockPos pos, LevelReader world) { public float getWalkTargetValue(BlockPos pos, LevelReader world) {
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos); return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
@@ -127,7 +144,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -128,7 +145,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops); org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
if (event != null) { if (event != null) {
if (event.isCancelled()) { if (event.isCancelled()) {
@@ -1287,7 +1287,7 @@ index e1f174ff0f791b20be7d6ad8e4a172d1e0c81e33..2f1385cbd88e7085ee5f39f8b5c371c9
} }
drops = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getDrops()); drops = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getDrops());
} }
@@ -151,7 +168,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -152,7 +169,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
Optional<List<SuspiciousEffectHolder.EffectEntry>> optional = this.getEffectsFromItemStack(itemstack); Optional<List<SuspiciousEffectHolder.EffectEntry>> optional = this.getEffectsFromItemStack(itemstack);
if (optional.isEmpty()) { if (optional.isEmpty()) {
@@ -1340,10 +1340,10 @@ index 4300fab61765dd224fab084d118aae7294fc9de6..66f80ec010909648278c4e74c80d3766
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, false, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, false, false, Turtle.BABY_ON_LAND_SELECTOR));
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67a802fa1b 100644 index d683c49fdf2d1e5b0f2620641f9c241e82f96825..c900776b626b2f038b92dedc86bb9f431e0e0b89 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -114,6 +114,32 @@ public class Panda extends Animal { @@ -115,6 +115,32 @@ public class Panda extends Animal {
} }
@@ -1376,7 +1376,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
@Override @Override
public boolean canTakeItem(ItemStack stack) { public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack); EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
@@ -275,6 +301,7 @@ public class Panda extends Animal { @@ -276,6 +302,7 @@ public class Panda extends Animal {
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
@@ -1384,7 +1384,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
this.goalSelector.addGoal(2, new Panda.PandaPanicGoal(this, 2.0D)); this.goalSelector.addGoal(2, new Panda.PandaPanicGoal(this, 2.0D));
this.goalSelector.addGoal(2, new Panda.PandaBreedGoal(this, 1.0D)); this.goalSelector.addGoal(2, new Panda.PandaBreedGoal(this, 1.0D));
this.goalSelector.addGoal(3, new Panda.PandaAttackGoal(this, 1.2000000476837158D, true)); this.goalSelector.addGoal(3, new Panda.PandaAttackGoal(this, 1.2000000476837158D, true));
@@ -290,6 +317,7 @@ public class Panda extends Animal { @@ -291,6 +318,7 @@ public class Panda extends Animal {
this.goalSelector.addGoal(12, new Panda.PandaRollGoal(this)); this.goalSelector.addGoal(12, new Panda.PandaRollGoal(this));
this.goalSelector.addGoal(13, new FollowParentGoal(this, 1.25D)); this.goalSelector.addGoal(13, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(14, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(14, new WaterAvoidingRandomStrollGoal(this, 1.0D));
@@ -1392,7 +1392,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
this.targetSelector.addGoal(1, (new Panda.PandaHurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0])); this.targetSelector.addGoal(1, (new Panda.PandaHurtByTargetGoal(this, new Class[0])).setAlertOthers(new Class[0]));
} }
@@ -636,7 +664,7 @@ public class Panda extends Animal { @@ -637,7 +665,7 @@ public class Panda extends Animal {
ItemStack itemstack = player.getItemInHand(hand); ItemStack itemstack = player.getItemInHand(hand);
if (this.isScared()) { if (this.isScared()) {
@@ -1401,7 +1401,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
} else if (this.isOnBack()) { } else if (this.isOnBack()) {
this.setOnBack(false); this.setOnBack(false);
return InteractionResult.sidedSuccess(this.level().isClientSide); return InteractionResult.sidedSuccess(this.level().isClientSide);
@@ -654,7 +682,7 @@ public class Panda extends Animal { @@ -655,7 +683,7 @@ public class Panda extends Animal {
this.setInLove(player, breedCopy); // Paper - Fix EntityBreedEvent copying this.setInLove(player, breedCopy); // Paper - Fix EntityBreedEvent copying
} else { } else {
if (this.level().isClientSide || this.isSitting() || this.isInWater()) { if (this.level().isClientSide || this.isSitting() || this.isInWater()) {
@@ -1410,7 +1410,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
} }
this.tryToSit(); this.tryToSit();
@@ -673,7 +701,7 @@ public class Panda extends Animal { @@ -674,7 +702,7 @@ public class Panda extends Animal {
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;
} else { } else {
@@ -1419,7 +1419,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
} }
} }
@@ -718,7 +746,7 @@ public class Panda extends Animal { @@ -719,7 +747,7 @@ public class Panda extends Animal {
return new Vector3f(0.0F, dimensions.height - (this.isBaby() ? 0.4375F : 0.0F) * scaleFactor, 0.0F); return new Vector3f(0.0F, dimensions.height - (this.isBaby() ? 0.4375F : 0.0F) * scaleFactor, 0.0F);
} }
@@ -1428,7 +1428,7 @@ index be554dbaa9900207753e4f67f0ba402333e21338..87a1a6ff04b40ceebded50e81aaafe67
private final Panda panda; private final Panda panda;
@@ -728,9 +756,9 @@ public class Panda extends Animal { @@ -729,9 +757,9 @@ public class Panda extends Animal {
} }
@Override @Override
@@ -1527,10 +1527,10 @@ index f3f48225c2a1e4bd3d0091d1b4b7e4e150850ed2..06568c109d806a4e98b092016d0efd5b
this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this)); this.goalSelector.addGoal(2, new SitWhenOrderedToGoal(this));
this.goalSelector.addGoal(2, new FollowOwnerGoal(this, 1.0D, 5.0F, 1.0F, true)); this.goalSelector.addGoal(2, new FollowOwnerGoal(this, 1.0D, 5.0F, 1.0F, true));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index a43479c92775d618794f8f1fbeb31f42d303e167..28f68a7383fe6e53541eb1b36ba73eb15723f0f7 100644 index 24770540c51fe4831040d6b46b27636d25ebac40..ebfa162f172bdad7b17ce153fdee508748620fc0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -67,9 +67,27 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -68,9 +68,27 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
this.steering = new ItemBasedSteering(this.entityData, Pig.DATA_BOOST_TIME, Pig.DATA_SADDLE_ID); this.steering = new ItemBasedSteering(this.entityData, Pig.DATA_BOOST_TIME, Pig.DATA_SADDLE_ID);
} }
@@ -2372,10 +2372,10 @@ index e88b058c0734e436ef24bab6364b206c13e5a9c2..156fd7b01853f4ad50235646a15893bb
super(entity); super(entity);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index 6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5..3103df74b7ae5a5ed841bf97794284cd43ad59de 100644 index 415afe3473d9f8a50b1edab8cfda6158e59836e6..c19513b3b35bbb05c3159606caacee0559366610 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java --- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -45,13 +45,50 @@ public class Tadpole extends AbstractFish { @@ -48,13 +48,50 @@ public class Tadpole extends AbstractFish {
protected static final ImmutableList<SensorType<? extends Sensor<? super Tadpole>>> SENSOR_TYPES = ImmutableList.of(SensorType.NEAREST_LIVING_ENTITIES, SensorType.NEAREST_PLAYERS, SensorType.HURT_BY, SensorType.FROG_TEMPTATIONS); protected static final ImmutableList<SensorType<? extends Sensor<? super Tadpole>>> SENSOR_TYPES = ImmutableList.of(SensorType.NEAREST_LIVING_ENTITIES, SensorType.NEAREST_PLAYERS, SensorType.HURT_BY, SensorType.FROG_TEMPTATIONS);
protected static final ImmutableList<MemoryModuleType<?>> MEMORY_TYPES = ImmutableList.of(MemoryModuleType.LOOK_TARGET, MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES, MemoryModuleType.WALK_TARGET, MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE, MemoryModuleType.PATH, MemoryModuleType.NEAREST_VISIBLE_ADULT, MemoryModuleType.TEMPTATION_COOLDOWN_TICKS, MemoryModuleType.IS_TEMPTED, MemoryModuleType.TEMPTING_PLAYER, MemoryModuleType.BREED_TARGET, MemoryModuleType.IS_PANICKING); protected static final ImmutableList<MemoryModuleType<?>> MEMORY_TYPES = ImmutableList.of(MemoryModuleType.LOOK_TARGET, MemoryModuleType.NEAREST_VISIBLE_LIVING_ENTITIES, MemoryModuleType.WALK_TARGET, MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE, MemoryModuleType.PATH, MemoryModuleType.NEAREST_VISIBLE_ADULT, MemoryModuleType.TEMPTATION_COOLDOWN_TICKS, MemoryModuleType.IS_TEMPTED, MemoryModuleType.TEMPTING_PLAYER, MemoryModuleType.BREED_TARGET, MemoryModuleType.IS_PANICKING);
public boolean ageLocked; // Paper public boolean ageLocked; // Paper
@@ -2427,7 +2427,7 @@ index 6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5..3103df74b7ae5a5ed841bf97794284cd
@Override @Override
protected PathNavigation createNavigation(Level world) { protected PathNavigation createNavigation(Level world) {
return new WaterBoundPathNavigation(this, world); return new WaterBoundPathNavigation(this, world);
@@ -81,8 +118,7 @@ public class Tadpole extends AbstractFish { @@ -84,8 +121,7 @@ public class Tadpole extends AbstractFish {
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("tadpoleBrain"); this.level().getProfiler().push("tadpoleBrain");
@@ -2636,10 +2636,10 @@ index a6601f70890f90691923c0e6a9f10ea597ccabc2..ae7bcfa608d8bdd2a2320618225294de
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound() {
return SoundEvents.MULE_AMBIENT; return SoundEvents.MULE_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 41596d9c2e8e6c91f77b1bbe3ccf828708b6b970..6e7b7d2e9ccf67f9df458dc30cfea7242dc212ac 100644 index 184f508d19aad46267302a0e17f7cb9bdafce079..19d463cf5f57b2943431f1c5306fb51c19c7dc3a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -35,6 +35,13 @@ public class SkeletonHorse extends AbstractHorse { @@ -42,6 +42,13 @@ public class SkeletonHorse extends AbstractHorse {
super(type, world); super(type, world);
} }
@@ -2651,21 +2651,24 @@ index 41596d9c2e8e6c91f77b1bbe3ccf828708b6b970..6e7b7d2e9ccf67f9df458dc30cfea724
+ // Purpur end + // Purpur end
+ +
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
}
@@ -59,7 +66,9 @@ public class SkeletonHorse extends AbstractHorse {
} }
@@ -54,6 +61,7 @@ public class SkeletonHorse extends AbstractHorse {
@Override @Override
protected void addBehaviourGoals() { - protected void addBehaviourGoals() {}
+ protected void addBehaviourGoals() {
+ if (level().purpurConfig.skeletonHorseCanSwim) goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); + if (level().purpurConfig.skeletonHorseCanSwim) goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this));
} + }
@Override @Override
protected SoundEvent getAmbientSound() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index b016f53c6644c6411b3a91e09049892131187179..5fc37e2322188e0db12f7679e40b1a3d40268ca7 100644 index 038de19633002e8f7c4b1ead7438cef0163456ce..c1d1321c75330231777adb4ff6e0ca604f3fab80 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -27,6 +27,28 @@ public class TraderLlama extends Llama { @@ -30,6 +30,28 @@ public class TraderLlama extends Llama {
super(type, world); super(type, world);
} }
@@ -2781,10 +2784,10 @@ index a6f3fba3b02b0b4d2a4e9e5205301c6f52d0188a..4eebfc27ded55e4d764d04f35d3e9c9e
protected void defineSynchedData() { protected void defineSynchedData() {
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6ead32b0a 100644 index 1df13af62af7d0bbd92c84d424a07da66bb8583f..3d4ecd05af1794b37102996305a2346b7c0a72e2 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -107,6 +107,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -108,6 +108,7 @@ public class EnderDragon extends Mob implements Enemy {
@Nullable @Nullable
private BlockPos podium; private BlockPos podium;
// Paper end - Allow changing the EnderDragon podium // Paper end - Allow changing the EnderDragon podium
@@ -2792,7 +2795,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
public EnderDragon(EntityType<? extends EnderDragon> entitytypes, Level world) { public EnderDragon(EntityType<? extends EnderDragon> entitytypes, Level world) {
super(EntityType.ENDER_DRAGON, world); super(EntityType.ENDER_DRAGON, world);
@@ -129,6 +130,37 @@ public class EnderDragon extends Mob implements Enemy { @@ -130,6 +131,37 @@ public class EnderDragon extends Mob implements Enemy {
this.noCulling = true; this.noCulling = true;
this.phaseManager = new EnderDragonPhaseManager(this); this.phaseManager = new EnderDragonPhaseManager(this);
this.explosionSource = new Explosion(world, this, null, null, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.BlockInteraction.DESTROY, ParticleTypes.EXPLOSION, ParticleTypes.EXPLOSION_EMITTER, SoundEvents.GENERIC_EXPLODE); // CraftBukkit this.explosionSource = new Explosion(world, this, null, null, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.BlockInteraction.DESTROY, ParticleTypes.EXPLOSION, ParticleTypes.EXPLOSION_EMITTER, SoundEvents.GENERIC_EXPLODE); // CraftBukkit
@@ -2830,7 +2833,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
} }
public void setDragonFight(EndDragonFight fight) { public void setDragonFight(EndDragonFight fight) {
@@ -143,6 +175,17 @@ public class EnderDragon extends Mob implements Enemy { @@ -144,6 +176,17 @@ public class EnderDragon extends Mob implements Enemy {
return this.fightOrigin; return this.fightOrigin;
} }
@@ -2848,7 +2851,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D); return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
} }
@@ -204,6 +247,37 @@ public class EnderDragon extends Mob implements Enemy { @@ -205,6 +248,37 @@ public class EnderDragon extends Mob implements Enemy {
@Override @Override
public void aiStep() { public void aiStep() {
@@ -2886,7 +2889,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
this.processFlappingMovement(); this.processFlappingMovement();
if (this.level().isClientSide) { if (this.level().isClientSide) {
this.setHealth(this.getHealth()); this.setHealth(this.getHealth());
@@ -230,6 +304,8 @@ public class EnderDragon extends Mob implements Enemy { @@ -231,6 +305,8 @@ public class EnderDragon extends Mob implements Enemy {
float f; float f;
if (this.isDeadOrDying()) { if (this.isDeadOrDying()) {
@@ -2895,7 +2898,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
float f1 = (this.random.nextFloat() - 0.5F) * 8.0F; float f1 = (this.random.nextFloat() - 0.5F) * 8.0F;
f = (this.random.nextFloat() - 0.5F) * 4.0F; f = (this.random.nextFloat() - 0.5F) * 4.0F;
@@ -242,9 +318,9 @@ public class EnderDragon extends Mob implements Enemy { @@ -243,9 +319,9 @@ public class EnderDragon extends Mob implements Enemy {
f = 0.2F / ((float) vec3d.horizontalDistance() * 10.0F + 1.0F); f = 0.2F / ((float) vec3d.horizontalDistance() * 10.0F + 1.0F);
f *= (float) Math.pow(2.0D, vec3d.y); f *= (float) Math.pow(2.0D, vec3d.y);
@@ -2907,7 +2910,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
this.flapTime += f * 0.5F; this.flapTime += f * 0.5F;
} else { } else {
this.flapTime += f; this.flapTime += f;
@@ -278,7 +354,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -279,7 +355,7 @@ public class EnderDragon extends Mob implements Enemy {
} }
this.phaseManager.getCurrentPhase().doClientTick(); this.phaseManager.getCurrentPhase().doClientTick();
@@ -2916,7 +2919,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
DragonPhaseInstance idragoncontroller = this.phaseManager.getCurrentPhase(); DragonPhaseInstance idragoncontroller = this.phaseManager.getCurrentPhase();
idragoncontroller.doServerTick(); idragoncontroller.doServerTick();
@@ -347,7 +423,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -348,7 +424,7 @@ public class EnderDragon extends Mob implements Enemy {
this.tickPart(this.body, (double) (f11 * 0.5F), 0.0D, (double) (-f12 * 0.5F)); this.tickPart(this.body, (double) (f11 * 0.5F), 0.0D, (double) (-f12 * 0.5F));
this.tickPart(this.wing1, (double) (f12 * 4.5F), 2.0D, (double) (f11 * 4.5F)); this.tickPart(this.wing1, (double) (f12 * 4.5F), 2.0D, (double) (f11 * 4.5F));
this.tickPart(this.wing2, (double) (f12 * -4.5F), 2.0D, (double) (f11 * -4.5F)); this.tickPart(this.wing2, (double) (f12 * -4.5F), 2.0D, (double) (f11 * -4.5F));
@@ -2925,7 +2928,7 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
this.knockBack(this.level().getEntities((Entity) this, this.wing1.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR)); this.knockBack(this.level().getEntities((Entity) this, this.wing1.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
this.knockBack(this.level().getEntities((Entity) this, this.wing2.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR)); this.knockBack(this.level().getEntities((Entity) this, this.wing2.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
this.hurt(this.level().getEntities((Entity) this, this.head.getBoundingBox().inflate(1.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR)); this.hurt(this.level().getEntities((Entity) this, this.head.getBoundingBox().inflate(1.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
@@ -391,7 +467,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -392,7 +468,7 @@ public class EnderDragon extends Mob implements Enemy {
} }
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
@@ -2935,10 +2938,10 @@ index a86ae40b945b1ecdf42a69d753d0412f39ee3001..8f0bd246d41627bf9725f88268530ac6
this.dragonFight.updateDragon(this); 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 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 ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5bab6f795 100644 index de2471cfa96a23944f229f33ffdff88b6b7756e4..8fbfd134005c0813406fecbce8a918cd0376d03e 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/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 @@ -85,16 +85,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable(); return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable();
}; };
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR); private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
@@ -2970,7 +2973,7 @@ index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5
this.setHealth(this.getMaxHealth()); this.setHealth(this.getMaxHealth());
this.xpReward = 50; this.xpReward = 50;
} }
@@ -108,13 +122,113 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -109,13 +123,113 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
return navigationflying; return navigationflying;
} }
@@ -3084,7 +3087,7 @@ index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5
this.targetSelector.addGoal(1, new HurtByTargetGoal(this, new Class[0])); 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)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, LivingEntity.class, 0, false, false, WitherBoss.LIVING_ENTITY_SELECTOR));
} }
@@ -263,6 +377,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -264,6 +378,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
@@ -3101,7 +3104,7 @@ index ea8883b0661e894a466eca24bfc247ac37f40a81..6af131d0574a508bccc84b85d0e0b3b5
int i; int i;
if (this.getInvulnerableTicks() > 0) { if (this.getInvulnerableTicks() > 0) {
@@ -584,11 +708,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -585,11 +709,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
public int getAlternativeTarget(int headIndex) { public int getAlternativeTarget(int headIndex) {
@@ -3247,10 +3250,10 @@ index 70d25bb45ad603095a1f5812cc396dfc5f16a1e1..562faf0257388d9c22146a418f25716c
public boolean doHurtTarget(Entity target) { public boolean doHurtTarget(Entity target) {
if (super.doHurtTarget(target)) { if (super.doHurtTarget(target)) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 6a91960f93e624a4b975c1cf76698eb45ceda838..577a829595f67708b220407b53dca1bd145a3479 100644 index 9657796d08f4a102d9d5ff7685f2a152d1a87fda..30b4c8513e97463ce1a96775b1c22a1d95bd6fbd 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -59,21 +59,98 @@ public class Creeper extends Monster implements PowerableMob { @@ -60,21 +60,98 @@ public class Creeper extends Monster implements PowerableMob {
public int maxSwell = 30; public int maxSwell = 30;
public int explosionRadius = 3; public int explosionRadius = 3;
private int droppedSkulls; private int droppedSkulls;
@@ -3349,7 +3352,7 @@ index 6a91960f93e624a4b975c1cf76698eb45ceda838..577a829595f67708b220407b53dca1bd
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, true));
this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0])); this.targetSelector.addGoal(2, new HurtByTargetGoal(this, new Class[0]));
} }
@@ -324,6 +401,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -325,6 +402,7 @@ public class Creeper extends Monster implements PowerableMob {
com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited); com.destroystokyo.paper.event.entity.CreeperIgniteEvent event = new com.destroystokyo.paper.event.entity.CreeperIgniteEvent((org.bukkit.entity.Creeper) getBukkitEntity(), ignited);
if (event.callEvent()) { if (event.callEvent()) {
this.entityData.set(Creeper.DATA_IS_IGNITED, event.isIgnited()); this.entityData.set(Creeper.DATA_IS_IGNITED, event.isIgnited());
@@ -3503,10 +3506,10 @@ index 6563e625ebae47fc68e5010d36bd4b4d327c07b7..01dd5347bc8fa25b9b1f6cb746c25ca6
boolean flag = source.getDirectEntity() instanceof ThrownPotion; boolean flag = source.getDirectEntity() instanceof ThrownPotion;
boolean flag1; boolean flag1;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index 66b6c55f72aec7e4e9dfa5417a46ba68dbb16a83..7fb02aab225a45e951ab1e7c6ba1c53f53d0fecd 100644 index b8ce2a9ad151b20f0f4e9e8e34a57069d8d77128..75de003b4f7556cd9c5137fe324b66348835141a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java --- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java +++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -38,14 +38,33 @@ public class Endermite extends Monster { @@ -43,14 +43,33 @@ public class Endermite extends Monster {
this.xpReward = 3; this.xpReward = 3;
} }
@@ -3537,7 +3540,7 @@ index 66b6c55f72aec7e4e9dfa5417a46ba68dbb16a83..7fb02aab225a45e951ab1e7c6ba1c53f
this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 8.0F)); this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 8.0F));
this.goalSelector.addGoal(8, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(8, new RandomLookAroundGoal(this));
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur + this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this)).setAlertOthers()); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
@@ -4048,10 +4051,10 @@ index 187037c43ebb5b245ffa4b50163d443490668744..98ced015ceb4f68364ff5ee6f7ee1a69
private class PhantomBodyRotationControl extends BodyRotationControl { private class PhantomBodyRotationControl extends BodyRotationControl {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
index cec545c3baa6599d47b9cf1a4b97de8771062a22..31d204d8d81ccc30371070af3678d82dc721618d 100644 index 05ed2f06a41f3b12e0432a37faf98d0b1fea7a8b..3eca357a82eebedc56237a03503017a17f17d3a6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
@@ -62,15 +62,34 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve @@ -66,15 +66,34 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
super(type, world); super(type, world);
} }
@@ -4083,7 +4086,7 @@ index cec545c3baa6599d47b9cf1a4b97de8771062a22..31d204d8d81ccc30371070af3678d82d
this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F)); this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F));
this.goalSelector.addGoal(10, new LookAtPlayerGoal(this, Mob.class, 15.0F)); this.goalSelector.addGoal(10, new LookAtPlayerGoal(this, Mob.class, 15.0F));
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur + this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, Raider.class)).setAlertOthers()); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Raider.class})).setAlertOthers());
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, false));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -4185,10 +4188,10 @@ index f3c2a2ffb74daa89a516db4c188ce675c79932bf..a695ac9b9e4c3e423d74d082e2492858
public ShulkerLookControl(Mob entity) { public ShulkerLookControl(Mob entity) {
super(entity); super(entity);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 2c60a3765d22909e73b660492410ab8456304b68..f5dda5ed4532c8572bc4f511c49377c262efe057 100644 index fcd5cc3ff8d4b38f4dea08f78723db3dac53ffde..e884e44139e2c7a05f5769192c3f6c7632eeb730 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -47,14 +47,33 @@ public class Silverfish extends Monster { @@ -48,14 +48,33 @@ public class Silverfish extends Monster {
super(type, world); super(type, world);
} }
@@ -4251,10 +4254,10 @@ index 92974452d8f63fde8524cfac305ee2ef5212f840..3568c4b7ecfa250bbeb1799685b487df
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b16f8b4f9 100644 index 3d9107d2c19a09215445aa0e0aacc32f9f82a536..bb1d0cae9d51a64e0752a59218dc71da73330139 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -61,6 +61,7 @@ public class Slime extends Mob implements Enemy { @@ -62,6 +62,7 @@ public class Slime extends Mob implements Enemy {
public float squish; public float squish;
public float oSquish; public float oSquish;
private boolean wasOnGround; private boolean wasOnGround;
@@ -4262,7 +4265,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
public Slime(EntityType<? extends Slime> type, Level world) { public Slime(EntityType<? extends Slime> type, Level world) {
super(type, world); super(type, world);
@@ -68,12 +69,48 @@ public class Slime extends Mob implements Enemy { @@ -69,12 +70,48 @@ public class Slime extends Mob implements Enemy {
this.moveControl = new Slime.SlimeMoveControl(this); this.moveControl = new Slime.SlimeMoveControl(this);
} }
@@ -4311,7 +4314,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, (entityliving) -> { this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, (entityliving) -> {
return Math.abs(entityliving.getY() - this.getY()) <= 4.0D; return Math.abs(entityliving.getY() - this.getY()) <= 4.0D;
})); }));
@@ -378,11 +415,12 @@ public class Slime extends Mob implements Enemy { @@ -386,11 +423,12 @@ public class Slime extends Mob implements Enemy {
} }
@Override @Override
@@ -4325,7 +4328,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
} }
@Nullable @Nullable
@@ -416,7 +454,7 @@ public class Slime extends Mob implements Enemy { @@ -424,7 +462,7 @@ public class Slime extends Mob implements Enemy {
return super.getDimensions(pose).scale(0.255F * (float) this.getSize()); return super.getDimensions(pose).scale(0.255F * (float) this.getSize());
} }
@@ -4334,7 +4337,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
private float yRot; private float yRot;
private int jumpDelay; private int jumpDelay;
@@ -435,21 +473,33 @@ public class Slime extends Mob implements Enemy { @@ -443,21 +481,33 @@ public class Slime extends Mob implements Enemy {
} }
public void setWantedMovement(double speed) { public void setWantedMovement(double speed) {
@@ -4371,7 +4374,7 @@ index 2502cb476032c6a247132ce2e427721d6c9f8ce4..23ed3890fd5a5786c1d251b926cb386b
if (this.jumpDelay-- <= 0) { if (this.jumpDelay-- <= 0) {
this.jumpDelay = this.slime.getJumpDelay(); this.jumpDelay = this.slime.getJumpDelay();
if (this.isAggressive) { if (this.isAggressive) {
@@ -466,7 +516,7 @@ public class Slime extends Mob implements Enemy { @@ -474,7 +524,7 @@ public class Slime extends Mob implements Enemy {
this.mob.setSpeed(0.0F); this.mob.setSpeed(0.0F);
} }
} else { } else {
@@ -5007,10 +5010,10 @@ index 0a151c679b0dc943598180942d6d4b3886211688..384e7b29215cadfa40af07a183a9c9c6
public static void applyDarknessAround(ServerLevel world, Vec3 pos, @Nullable Entity entity, int range) { public static void applyDarknessAround(ServerLevel world, Vec3 pos, @Nullable Entity entity, int range) {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2a75fbb48 100644 index 96ca567af2d8fb2ba39f995be80b935344550124..8e3e9bfe614057450ec771f72c9b1d7ea061d66e 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -157,6 +157,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -158,6 +158,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE)); this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
} }
@@ -5039,7 +5042,7 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
@Override @Override
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
@@ -257,11 +279,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -258,11 +280,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void customServerAiStep(final boolean inactive) { protected void customServerAiStep(final boolean inactive) {
// Paper end // Paper end
this.level().getProfiler().push("villagerBrain"); this.level().getProfiler().push("villagerBrain");
@@ -5054,7 +5057,7 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
this.level().getProfiler().pop(); this.level().getProfiler().pop();
if (this.assignProfessionWhenSpawned) { if (this.assignProfessionWhenSpawned) {
this.assignProfessionWhenSpawned = false; this.assignProfessionWhenSpawned = false;
@@ -318,7 +340,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -319,7 +341,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
if (!itemstack.is(Items.VILLAGER_SPAWN_EGG) && this.isAlive() && !this.isTrading() && !this.isSleeping()) { if (!itemstack.is(Items.VILLAGER_SPAWN_EGG) && this.isAlive() && !this.isTrading() && !this.isSleeping()) {
if (this.isBaby()) { if (this.isBaby()) {
this.setUnhappy(); this.setUnhappy();
@@ -5063,7 +5066,7 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
} else { } else {
boolean flag = this.getOffers().isEmpty(); boolean flag = this.getOffers().isEmpty();
@@ -331,8 +353,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -332,8 +354,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
if (flag) { if (flag) {
@@ -5075,10 +5078,10 @@ index b1fa6e102a694b63f2aa9660b9e6b649bcae9a7d..3f9945db1970c6356e3fbde3520c07e2
this.startTrading(player); this.startTrading(player);
} }
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15cba025843 100644 index 8d1cc1a644415be251f469ab1cb2ebc09fe5c3eb..80b9c2043f2a84dc44b082a9c97a7b5dbbb93dc2 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -70,6 +70,23 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -71,6 +71,23 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
//this.setDespawnDelay(48000); // CraftBukkit - set default from MobSpawnerTrader // Paper - move back to MobSpawnerTrader - Vanilla behavior is that only traders spawned by it have this value set. //this.setDespawnDelay(48000); // CraftBukkit - set default from MobSpawnerTrader // Paper - move back to MobSpawnerTrader - Vanilla behavior is that only traders spawned by it have this value set.
} }
@@ -5102,7 +5105,7 @@ index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15c
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
@@ -117,8 +134,9 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -118,8 +135,9 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
} }
if (this.getOffers().isEmpty()) { if (this.getOffers().isEmpty()) {
@@ -5114,10 +5117,10 @@ index 1c89f20debfad9807c90a21cc336d5790294ebce..3782209c6d3408393e91ffe64976a15c
this.setTradingPlayer(player); this.setTradingPlayer(player);
this.openTradingScreen(player, this.getDisplayName(), 1); this.openTradingScreen(player, this.getDisplayName(), 1);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 5ca1f834f311a87323ced2578535e66efa14e47f..835e4451b075d00de53f99a796b91010fbae29b2 100644 index 567704f61034363e48ef2a5b5566ebdc91682297..8a6acc19e9f3afb778420495a5ed41ce78227f1a 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity { @@ -194,6 +194,19 @@ public abstract class Player extends LivingEntity {
} }
// CraftBukkit end // CraftBukkit end
@@ -5138,10 +5141,10 @@ index 5ca1f834f311a87323ced2578535e66efa14e47f..835e4451b075d00de53f99a796b91010
super(EntityType.PLAYER, world); super(EntityType.PLAYER, world);
this.lastItemInMainHand = ItemStack.EMPTY; this.lastItemInMainHand = ItemStack.EMPTY;
diff --git a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
index 0bbe853f7df93f9dcd2b21d762939f8b6be069aa..7db9844083703944f59e112c6dc5e1a5e062d31c 100644 index 8f5376543cca9cbfb2a014f67ec373d984b0df64..3673d1442778331ece25f8faca95b3499cafe46e 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java --- a/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java +++ b/src/main/java/net/minecraft/world/entity/projectile/LlamaSpit.java
@@ -26,6 +26,12 @@ public class LlamaSpit extends Projectile { @@ -29,6 +29,12 @@ public class LlamaSpit extends Projectile {
this.setPos(owner.getX() - (double) (owner.getBbWidth() + 1.0F) * 0.5D * (double) Mth.sin(owner.yBodyRot * 0.017453292F), owner.getEyeY() - 0.10000000149011612D, owner.getZ() + (double) (owner.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(owner.yBodyRot * 0.017453292F)); this.setPos(owner.getX() - (double) (owner.getBbWidth() + 1.0F) * 0.5D * (double) Mth.sin(owner.yBodyRot * 0.017453292F), owner.getEyeY() - 0.10000000149011612D, owner.getZ() + (double) (owner.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(owner.yBodyRot * 0.017453292F));
} }
@@ -5155,10 +5158,10 @@ index 0bbe853f7df93f9dcd2b21d762939f8b6be069aa..7db9844083703944f59e112c6dc5e1a5
public void tick() { public void tick() {
super.tick(); super.tick();
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java 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 78dd3365dc4d1265fc2102f740d75a384f5df5c5..4a2331c22a022881d66bcfd4134b0ffe421a0633 100644 index 35e76fc8667d9fde5a8fc426699a617fb0a08e4b..41261b72bfa5157139a5384b6a0b66b719ec02b9 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java --- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -110,6 +110,12 @@ public class WitherSkull extends AbstractHurtingProjectile { @@ -111,6 +111,12 @@ public class WitherSkull extends AbstractHurtingProjectile {
} }
@@ -5172,10 +5175,10 @@ index 78dd3365dc4d1265fc2102f740d75a384f5df5c5..4a2331c22a022881d66bcfd4134b0ffe
public boolean isPickable() { public boolean isPickable() {
return false; return false;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41bc70b193c 100644 index 0b5a31477e3b76833fb97a455842316193663c8e..74599d29538b7072464d3bb16b6356da09513d21 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1227,4 +1227,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1228,4 +1228,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
return this.getHandle().getScoreboardName(); return this.getHandle().getScoreboardName();
} }
// Paper end - entity scoreboard name // Paper end - entity scoreboard name
@@ -5204,10 +5207,10 @@ index 8698104e3eb98e2cc5da5de87a8f538860c1d91d..39ae3335866669be54f31ee6cd10d41b
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index d677759ac6b6d3cfe5a2af76dc1f0034b216ac2d..2d47fd8290c9712bbf720452f5ffe134b1941d8c 100644 index 4c2e8129481384a143384d327e14320023735b1a..ac836274a2d725e3fac55394154ae2148024853a 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -591,6 +591,15 @@ public class CraftEventFactory { @@ -592,6 +592,15 @@ public class CraftEventFactory {
// Paper end // Paper end
craftServer.getPluginManager().callEvent(event); craftServer.getPluginManager().callEvent(event);
@@ -5223,7 +5226,7 @@ index d677759ac6b6d3cfe5a2af76dc1f0034b216ac2d..2d47fd8290c9712bbf720452f5ffe134
return event; return event;
} }
@@ -1182,6 +1191,7 @@ public class CraftEventFactory { @@ -1183,6 +1192,7 @@ public class CraftEventFactory {
EntityDamageEvent event; EntityDamageEvent event;
if (damager != null) { if (damager != null) {
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical); event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, bukkitDamageSource, modifiers, modifierFunctions, critical);
@@ -6357,10 +6360,10 @@ index 0000000000000000000000000000000000000000..ba2a37dad43e238e54632975abea8ee6
+} +}
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c7a08fe02 index 0000000000000000000000000000000000000000..b7e3994879a2b1de0c504f122b0c3c3229e4c356
--- /dev/null --- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java +++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
@@ -0,0 +1,99 @@ @@ -0,0 +1,100 @@
+package org.purpurmc.purpur.entity; +package org.purpurmc.purpur.entity;
+ +
+import net.minecraft.core.particles.ParticleTypes; +import net.minecraft.core.particles.ParticleTypes;
@@ -6379,6 +6382,7 @@ index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c
+import net.minecraft.world.phys.EntityHitResult; +import net.minecraft.world.phys.EntityHitResult;
+import net.minecraft.world.phys.HitResult; +import net.minecraft.world.phys.HitResult;
+import net.minecraft.world.phys.Vec3; +import net.minecraft.world.phys.Vec3;
+import org.bukkit.event.entity.EntityRemoveEvent;
+ +
+public class DolphinSpit extends LlamaSpit { +public class DolphinSpit extends LlamaSpit {
+ public LivingEntity dolphin; + public LivingEntity dolphin;
@@ -6422,7 +6426,7 @@ index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c
+ } + }
+ +
+ if (++ticksLived > 20) { + if (++ticksLived > 20) {
+ this.discard(); + this.discard(EntityRemoveEvent.Cause.DISCARD);
+ } else { + } else {
+ this.setDeltaMovement(mot.scale(0.99D)); + this.setDeltaMovement(mot.scale(0.99D));
+ if (!this.isNoGravity()) { + if (!this.isNoGravity()) {
@@ -6457,12 +6461,12 @@ index 0000000000000000000000000000000000000000..83dd3f982d5869e26748e6e0d0b38a3c
+ } + }
+ BlockState state = this.level().getBlockState(blockHitResult.getBlockPos()); + BlockState state = this.level().getBlockState(blockHitResult.getBlockPos());
+ state.onProjectileHit(this.level(), state, blockHitResult, this); + state.onProjectileHit(this.level(), state, blockHitResult, this);
+ this.discard(); + this.discard(EntityRemoveEvent.Cause.DISCARD);
+ } + }
+} +}
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..8fa9b376682d9e8b1971a9f72b918c6dc6872d04 index 0000000000000000000000000000000000000000..bc139e518c8214246c3f514b64f987bdd5de6f23
--- /dev/null --- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java +++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
@@ -0,0 +1,114 @@ @@ -0,0 +1,114 @@
@@ -6530,11 +6534,11 @@ index 0000000000000000000000000000000000000000..8fa9b376682d9e8b1971a9f72b918c6d
+ } + }
+ +
+ if (++ticksLived > 20) { + if (++ticksLived > 20) {
+ this.discard(); + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ } else if (this.level().getBlockStates(this.getBoundingBox()).noneMatch(BlockBehaviour.BlockStateBase::isAir)) { + } else if (this.level().getBlockStates(this.getBoundingBox()).noneMatch(BlockBehaviour.BlockStateBase::isAir)) {
+ this.discard(); + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ } else if (this.isInWaterOrBubble()) { + } else if (this.isInWaterOrBubble()) {
+ this.discard(); + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ } else { + } else {
+ this.setDeltaMovement(mot.scale(0.99D)); + this.setDeltaMovement(mot.scale(0.99D));
+ if (!this.isNoGravity()) { + if (!this.isNoGravity()) {
@@ -6577,7 +6581,7 @@ index 0000000000000000000000000000000000000000..8fa9b376682d9e8b1971a9f72b918c6d
+ BlockState state = this.level().getBlockState(blockHitResult.getBlockPos()); + BlockState state = this.level().getBlockState(blockHitResult.getBlockPos());
+ state.onProjectileHit(this.level(), state, blockHitResult, this); + state.onProjectileHit(this.level(), state, blockHitResult, this);
+ } + }
+ this.discard(); + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ } + }
+} +}
diff --git a/src/main/java/org/purpurmc/purpur/entity/ai/HasRider.java b/src/main/java/org/purpurmc/purpur/entity/ai/HasRider.java diff --git a/src/main/java/org/purpurmc/purpur/entity/ai/HasRider.java b/src/main/java/org/purpurmc/purpur/entity/ai/HasRider.java

View File

@@ -5,10 +5,10 @@ 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 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 46e3d7a949d79d9168e0a976be09be5a178bea15..9a025cb4b760090fe506d7c398d5c86fb3ac13ca 100644 index add00d6f63ed57d95abba3666095b64c3d47791a..aa1e2c05c65391b5fbfce203c5095afd50682874 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -159,7 +159,7 @@ import org.bukkit.plugin.PluginManager; @@ -160,7 +160,7 @@ import org.bukkit.plugin.PluginManager;
// CraftBukkit end // CraftBukkit end
public abstract class Entity implements Nameable, EntityAccess, CommandSource, ScoreHolder { public abstract class Entity implements Nameable, EntityAccess, CommandSource, ScoreHolder {
@@ -34,10 +34,10 @@ index 75c278b67ad2b78766efd8f89c4c2ca7eb7cdcb2..dc99e7f0e6f173c1313c0d5e9ea5dd6b
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; 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 diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index dfc7b015da2a553122f98677c12636a84ce90a1f..e907240898d30084acd7b048c44fc85d4c2435df 100644 index 4621dd94e9346bdd2eeca1d17869ff99aede0077..781eefa21c958c28c35d2d9559d89da236ce9387 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -287,6 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.useItem = ItemStack.EMPTY; this.useItem = ItemStack.EMPTY;
this.lastClimbablePos = Optional.empty(); this.lastClimbablePos = Optional.empty();
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
@@ -45,7 +45,7 @@ index dfc7b015da2a553122f98677c12636a84ce90a1f..e907240898d30084acd7b048c44fc85d
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor // CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue()); this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -301,6 +302,8 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -302,6 +303,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap())))); this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
} }
@@ -158,10 +158,10 @@ index b0cff23aa6f841ad291437964ea5bebb6395de84..f440eabffb1abe4c7370bf7badf6137a
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f..f3a145be1970dd1e78e04b2ea0d77c6339a42fd8 100644 index 18380c1ee458507de98a8aeb53c8b0c863d1eb89..df6306572f11762ec0d54b738c1a8a30269c9224 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -158,6 +158,11 @@ public class Dolphin extends WaterAnimal { @@ -159,6 +159,11 @@ public class Dolphin extends WaterAnimal {
} }
// Purpur end // Purpur end
@@ -174,10 +174,10 @@ index 2412cdb1bdaf7a558ad7235fca7ea5c74eeaad3f..f3a145be1970dd1e78e04b2ea0d77c63
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 142e45f4b5f2eb90b980f5085abe104505fa7dab..310f7b5ad4d1441c186045c296aded01610c1b4a 100644 index c63634825ffffed2eccc560af9e9fcef1a9dc2e8..3faa945f9687abeba7a36f8198cb307685e348a9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -182,6 +182,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -186,6 +186,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
// Purpur end // Purpur end
@@ -206,10 +206,10 @@ index cb05267fb287b9de9d1829e90d9bb9c9f4aac9f7..46e28d807a72b6d302d29d65c52ab081
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 2f1385cbd88e7085ee5f39f8b5c371c9f0206c23..d6fbb914ad2434e4431f3aa6bfab07b8b8eb0da4 100644 index b59d6a3f799f100702efb1fd10bbc48da4f4bd8f..0ff5902dde47c4bb9922d6605d874868fb4820b9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -80,6 +80,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -81,6 +81,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
} }
// Purpur end // Purpur end
@@ -238,10 +238,10 @@ index 66f80ec010909648278c4e74c80d3766b9cf6c6a..14daac1a87e32e0ff0a610aef256e20c
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING); return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 87a1a6ff04b40ceebded50e81aaafe67a802fa1b..846cbac0f862ec881347325dcd6db8eaedbd0e75 100644 index c900776b626b2f038b92dedc86bb9f431e0e0b89..641e0ba16afe6720c5a5ff4e8e4882d4e9bdb46d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -140,6 +140,12 @@ public class Panda extends Animal { @@ -141,6 +141,12 @@ public class Panda extends Animal {
} }
// Purpur end // Purpur end
@@ -254,7 +254,7 @@ index 87a1a6ff04b40ceebded50e81aaafe67a802fa1b..846cbac0f862ec881347325dcd6db8ea
@Override @Override
public boolean canTakeItem(ItemStack stack) { public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack); EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
@@ -641,7 +647,10 @@ public class Panda extends Animal { @@ -642,7 +648,10 @@ public class Panda extends Animal {
public void setAttributes() { public void setAttributes() {
if (this.isWeak()) { if (this.isWeak()) {
@@ -283,10 +283,10 @@ index 06568c109d806a4e98b092016d0efd5b2cdfd359..9334fb348e559ee27ba38bbd51c30876
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 28f68a7383fe6e53541eb1b36ba73eb15723f0f7..6480e0f026e686b2d0a093d901d7f1e312a45021 100644 index ebfa162f172bdad7b17ce153fdee508748620fc0..fdf5651c7877313437ecd32914823d00e53bdb99 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -84,6 +84,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -85,6 +85,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
} }
// Purpur end // Purpur end
@@ -665,10 +665,10 @@ index ae7bcfa608d8bdd2a2320618225294de0314ce53..abbeb305b2d09e9c4c02ade603adac5c
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound() {
return SoundEvents.MULE_AMBIENT; return SoundEvents.MULE_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 6e7b7d2e9ccf67f9df458dc30cfea7242dc212ac..68981762e3b71cfdf12180c9a711f22b33c471b7 100644 index 19d463cf5f57b2943431f1c5306fb51c19c7dc3a..d65d3c1275623a199d90497152519e45317a110f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -42,6 +42,21 @@ public class SkeletonHorse extends AbstractHorse { @@ -49,6 +49,21 @@ public class SkeletonHorse extends AbstractHorse {
} }
// Purpur end // Purpur end
@@ -688,13 +688,13 @@ index 6e7b7d2e9ccf67f9df458dc30cfea7242dc212ac..68981762e3b71cfdf12180c9a711f22b
+ } + }
+ +
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 5fc37e2322188e0db12f7679e40b1a3d40268ca7..4abb9d5fedf63eba9dc3f716d44ea11806607af0 100644 index c1d1321c75330231777adb4ff6e0ca604f3fab80..85e32d35cdfb7dd11b3c28146b9b71eae2b5c685 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -49,6 +49,21 @@ public class TraderLlama extends Llama { @@ -52,6 +52,21 @@ public class TraderLlama extends Llama {
} }
// Purpur end // Purpur end
@@ -759,10 +759,10 @@ index 7fb2c28b567c6c338a68bdc29d24cb652a4a15bf..074835d3e315eb78d318e81c5fd04e5e
@Override @Override
protected void defineSynchedData() { protected void defineSynchedData() {
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 8f0bd246d41627bf9725f88268530ac6ead32b0a..61365fc2d9b1726cb7c50bf4f0c178d17674044a 100644 index 3d4ecd05af1794b37102996305a2346b7c0a72e2..62ca0378469e74497bf256a58f55c2a73028d090 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -186,6 +186,11 @@ public class EnderDragon extends Mob implements Enemy { @@ -187,6 +187,11 @@ public class EnderDragon extends Mob implements Enemy {
} }
// Purpur end // Purpur end
@@ -775,10 +775,10 @@ index 8f0bd246d41627bf9725f88268530ac6ead32b0a..61365fc2d9b1726cb7c50bf4f0c178d1
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D); 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 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 6af131d0574a508bccc84b85d0e0b3b5bab6f795..42bfd02fc5e844367e761c98ffc62e6c236f0c03 100644 index 8fbfd134005c0813406fecbce8a918cd0376d03e..51ccbf3bd77bbcf77833b39fadc6c01fd28f2131 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/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 @@ -113,6 +113,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.xpReward = 50; this.xpReward = 50;
} }
@@ -790,7 +790,7 @@ index 6af131d0574a508bccc84b85d0e0b3b5bab6f795..42bfd02fc5e844367e761c98ffc62e6c
@Override @Override
protected PathNavigation createNavigation(Level world) { protected PathNavigation createNavigation(Level world) {
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world); FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
@@ -428,7 +433,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -429,7 +434,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.setInvulnerableTicks(i); this.setInvulnerableTicks(i);
if (this.tickCount % 10 == 0) { if (this.tickCount % 10 == 0) {
@@ -832,10 +832,10 @@ index 562faf0257388d9c22146a418f25716cef7471b8..c8bac8cb738ad96003a014b468681c43
public boolean doHurtTarget(Entity target) { public boolean doHurtTarget(Entity target) {
if (super.doHurtTarget(target)) { if (super.doHurtTarget(target)) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 577a829595f67708b220407b53dca1bd145a3479..27bcebb3b71842bc4ae5d440334d7d6dd51b741a 100644 index 30b4c8513e97463ce1a96775b1c22a1d95bd6fbd..e6542240c317be28a7b536a736f7ccdc9f050dca 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -250,6 +250,11 @@ public class Creeper extends Monster implements PowerableMob { @@ -251,6 +251,11 @@ public class Creeper extends Monster implements PowerableMob {
} }
} }
@@ -901,10 +901,10 @@ index 01dd5347bc8fa25b9b1f6cb746c25ca68eda95bb..d973adad5411b390464d7a654d8e8c1d
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index 7fb02aab225a45e951ab1e7c6ba1c53f53d0fecd..336a22876bcf1cdfcd9d17d22f615d45c2863589 100644 index 75de003b4f7556cd9c5137fe324b66348835141a..2cbc2f158b2bb65bfbf6b122a5b6e000252e51ce 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java --- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java +++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -55,6 +55,11 @@ public class Endermite extends Monster { @@ -60,6 +60,11 @@ public class Endermite extends Monster {
} }
// Purpur end // Purpur end
@@ -1091,10 +1091,10 @@ index 98ced015ceb4f68364ff5ee6f7ee1a69251dbb04..6819acda60e783ee57dd8b9b5d27bc1e
public void tick() { public void tick() {
super.tick(); super.tick();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
index 31d204d8d81ccc30371070af3678d82dc721618d..6a6349c7002439965422aa4979682b4ce6dfba1e 100644 index 3eca357a82eebedc56237a03503017a17f17d3a6..c4af35ac6c8ac6e76adb061bf628f6cca2e7199c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
@@ -79,6 +79,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve @@ -83,6 +83,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
} }
// Purpur end // Purpur end
@@ -1139,10 +1139,10 @@ index a695ac9b9e4c3e423d74d082e24928581333947e..2d8d88a3552516becdd7adb11b7706fc
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index f5dda5ed4532c8572bc4f511c49377c262efe057..1738f0a251e4cab2eb3f122e83366afb02201765 100644 index e884e44139e2c7a05f5769192c3f6c7632eeb730..e81c162f7a2061180f81754de341b2c33da76a0d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -64,6 +64,11 @@ public class Silverfish extends Monster { @@ -65,6 +65,11 @@ public class Silverfish extends Monster {
} }
// Purpur end // Purpur end
@@ -1171,10 +1171,10 @@ index 3568c4b7ecfa250bbeb1799685b487df53537919..23b385205fe8d1245e65a42b8a356f01
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 23ed3890fd5a5786c1d251b926cb386b16f8b4f9..76240a809e4a06422bee4fcc8995c76e8ff634f1 100644 index bb1d0cae9d51a64e0752a59218dc71da73330139..fdfb0d1582e377e59e808e4388d660579377a286 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -101,6 +101,37 @@ public class Slime extends Mob implements Enemy { @@ -102,6 +102,37 @@ public class Slime extends Mob implements Enemy {
} }
return true; // do not jump() in wasd controller, let vanilla controller handle return true; // do not jump() in wasd controller, let vanilla controller handle
} }
@@ -1212,7 +1212,7 @@ index 23ed3890fd5a5786c1d251b926cb386b16f8b4f9..76240a809e4a06422bee4fcc8995c76e
// Purpur end // Purpur end
@Override @Override
@@ -135,9 +166,9 @@ public class Slime extends Mob implements Enemy { @@ -136,9 +167,9 @@ public class Slime extends Mob implements Enemy {
this.entityData.set(Slime.ID_SIZE, j); this.entityData.set(Slime.ID_SIZE, j);
this.reapplyPosition(); this.reapplyPosition();
this.refreshDimensions(); this.refreshDimensions();
@@ -1273,7 +1273,7 @@ index bfd69abf24d788b5e539498d56ade57fcb78f580..9b853fd05a3a851cb08d7f849b51f2b2
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable(); BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
index 841fba3edf697647f59d0485b751c83625cccc83..7b76a4dadf57d8476d4bf85e6e1861f6fd122b67 100644 index b676f6c814d63e950af192a56ab5a4bf5f14a7d6..0dae7c87a9f61a7d8e493537e0aada78370bb334 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java --- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
@@ -107,6 +107,11 @@ public class Vex extends Monster implements TraceableEntity { @@ -107,6 +107,11 @@ public class Vex extends Monster implements TraceableEntity {
@@ -1472,10 +1472,10 @@ index 2d842c0dfce1c7e7229bd42b2a92c024a4162b68..04e54c241078e6cd6419a21ba1bf913f
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D); return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 3f9945db1970c6356e3fbde3520c07e2a75fbb48..36e360a3b72ad20b4fe2e3a57ce1a1c6caaa494f 100644 index 8e3e9bfe614057450ec771f72c9b1d7ea061d66e..8a864f236048e0c2b120f698439af652a8bcb0a8 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -180,6 +180,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
// Purpur end // Purpur end
@@ -1488,10 +1488,10 @@ index 3f9945db1970c6356e3fbde3520c07e2a75fbb48..36e360a3b72ad20b4fe2e3a57ce1a1c6
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 3782209c6d3408393e91ffe64976a15cba025843..5184939949ab54504f178f86fffba4507a895568 100644 index 80b9c2043f2a84dc44b082a9c97a7b5dbbb93dc2..80a157aa57fe5e6725b6e06a93b841d66cf62455 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -87,6 +87,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -88,6 +88,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
} }
// Purpur end // Purpur end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index a2e76fb8431cd4dc0cbf94245086c939625fb0da..a2715cc02f3a8a12aa8538fb7b52e5da03f1278c 100644 index 6886f5808ffaaed06dcae122f7cba6a12ad563af..f8a6d48200dae42cb73ed4f7eb52f957e7530e8c 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1188,6 +1188,27 @@ public abstract class PlayerList { @@ -1189,6 +1189,27 @@ public abstract class PlayerList {
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
this.server.getCommands().sendCommands(player); this.server.getCommands().sendCommands(player);
} // Paper - Add sendOpLevel API } // Paper - Add sendOpLevel API
@@ -37,10 +37,10 @@ index a2e76fb8431cd4dc0cbf94245086c939625fb0da..a2715cc02f3a8a12aa8538fb7b52e5da
public boolean isWhiteListed(GameProfile profile) { public boolean isWhiteListed(GameProfile profile) {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 835e4451b075d00de53f99a796b91010fbae29b2..0c06194b9a182447459815d88a8dcb96b7b4b896 100644 index 8a6acc19e9f3afb778420495a5ed41ce78227f1a..cad2ff51d79d584312a03f35266774b297883c0c 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -182,6 +182,7 @@ public abstract class Player extends LivingEntity { @@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity {
public float hurtDir; // Paper - protected -> public public float hurtDir; // Paper - protected -> public
public boolean affectsSpawning = true; // Paper - Affects Spawning API public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage

View File

@@ -78,7 +78,7 @@ index 44409eed0b603a1e8203a35ff0263d360d81be32..cdb3cf1b9a809e3936164dbbcf9ccdfc
return this.stats; return this.stats;
} }
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 88eaf67ee621e06025f23657fe870cc2c9cb9b8f..56589f5c674670534ecf0b97c73c97e302716b9c 100644 index 7f73d724af2c468a06dcfd760a70b8d6bd9ac31a..69919fa008780a09b5cfea5e41bb71ddfb4c0b80 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -324,6 +324,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -324,6 +324,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -192,10 +192,10 @@ index 931cbbe41905d7ed3fd46c53d3ddd06a6b9a7c8a..d8642979b7296737d08529f6db4f64e4
if (baseEntity == null) { if (baseEntity == null) {
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) { if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) {
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 0c06194b9a182447459815d88a8dcb96b7b4b896..e1e5837c6f90c811f63053bbca80c512229cd727 100644 index cad2ff51d79d584312a03f35266774b297883c0c..97805659af862213e9217c408519563de2be5b35 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -188,6 +188,13 @@ public abstract class Player extends LivingEntity { @@ -189,6 +189,13 @@ public abstract class Player extends LivingEntity {
public boolean fauxSleeping; public boolean fauxSleeping;
public int oldLevel = -1; public int oldLevel = -1;
@@ -223,7 +223,7 @@ index ed84c87a3f76bc0254c1abb189e6b8b808823465..5bc68b1ef33f297e9a4b1bdd7d69f86a
if (range < 0.0D || d < range * range) { if (range < 0.0D || d < range * range) {
return true; return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index ab96c92d3d995a64ea9fd1c3996da35148195c48..008da41d0fa6d80dc731e4eeb9aa4d4cb4b1873e 100644 index ee8c5a9881de75a9a8fe4224f7585a036017653a..bcf3393ad12a70eea0e1b24f69fac15b08af32fb 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -488,10 +488,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -488,10 +488,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f997270a49e1e 100644 index 781eefa21c958c28c35d2d9559d89da236ce9387..5e5485906f1157e52a7082278adcb7b6e56f3f06 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -253,6 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected boolean skipDropExperience; protected boolean skipDropExperience;
// CraftBukkit start // CraftBukkit start
public int expToDrop; public int expToDrop;
@@ -16,7 +16,7 @@ index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f9972
public boolean forceDrops; public boolean forceDrops;
public ArrayList<DefaultDrop> drops = new ArrayList<>(); // Paper - Restore vanilla drops behavior public ArrayList<DefaultDrop> drops = new ArrayList<>(); // Paper - Restore vanilla drops behavior
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes; public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -352,7 +353,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -353,7 +354,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.tryAddSoulSpeed(); this.tryAddSoulSpeed();
} }
@@ -25,7 +25,7 @@ index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f9972
double d1 = this.getX(); double d1 = this.getX();
double d2 = this.getY(); double d2 = this.getY();
double d3 = this.getZ(); double d3 = this.getZ();
@@ -367,7 +368,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -368,7 +369,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D; d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D;
} }
@@ -34,7 +34,7 @@ index e907240898d30084acd7b048c44fc85d4c2435df..a9d54deefa076a03bd142983261f9972
double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D); double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
int i = (int) (150.0D * d7); int i = (int) (150.0D * d7);
@@ -2109,7 +2110,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2117,7 +2118,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP); MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1); float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -69,7 +69,7 @@ index 2a30499fd6f4a1340f6911f0f7f079bcbe8576a3..c3c0fbe71c9af1125c80698865cb9eaf
// Purpur start // Purpur start
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 6f9cb8f328f47d6f3eb3142d701d80ceb51af926..152dff14fec82432aeddf82cda6236b7d6326dca 100644 index 98df582ca3425f621396ce93cf7a0617ce3fb11f..de7a555a646aa4eb1ed4b75e01e6ef373444ac65 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1156,4 +1156,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -1156,4 +1156,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 33ba948bafc879f6e9cd28f7fe6bce85628cc463..7770880c9525805b67199f3c6b54618af15d106f 100644 index e6542240c317be28a7b536a736f7ccdc9f050dca..bc3d0654759b330c473de080b8a51c0a04cf3a19 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -255,6 +255,14 @@ public class Creeper extends Monster implements PowerableMob { @@ -256,6 +256,14 @@ public class Creeper extends Monster implements PowerableMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.creeperMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.creeperMaxHealth);
} }
@@ -24,7 +24,7 @@ index 33ba948bafc879f6e9cd28f7fe6bce85628cc463..7770880c9525805b67199f3c6b54618a
protected SoundEvent getHurtSound(DamageSource source) { protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT; return SoundEvents.CREEPER_HURT;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 06ea43ddbbaf3165b74303a713f55512b9701765..c7956dfe6ef01868106d7c0989d5c6a612e07b7d 100644 index 41822b9b050f4267cc0151ea85682523f89af57f..e033ef722d9b6336f1cbc6bdf404f35c34b45db9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -345,6 +345,7 @@ public class PurpurWorldConfig { @@ -345,6 +345,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f9034576ad140e1 100644 index 3faa945f9687abeba7a36f8198cb307685e348a9..a910e897cbd11fa17469642de43225eb512c1c51 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -36,6 +36,7 @@ import net.minecraft.util.RandomSource; @@ -36,6 +36,7 @@ import net.minecraft.util.RandomSource;
@@ -16,7 +16,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
import net.minecraft.world.damagesource.DamageSource; import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.AgeableMob; import net.minecraft.world.entity.AgeableMob;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
@@ -390,6 +391,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -394,6 +395,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
private void setTargetGoals() { private void setTargetGoals() {
@@ -28,7 +28,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
if (this.getVariant() == Fox.Type.RED) { if (this.getVariant() == Fox.Type.RED) {
this.targetSelector.addGoal(4, this.landTargetGoal); this.targetSelector.addGoal(4, this.landTargetGoal);
this.targetSelector.addGoal(4, this.turtleEggTargetGoal); this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
@@ -423,6 +429,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -427,6 +433,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
public void setVariant(Fox.Type variant) { public void setVariant(Fox.Type variant) {
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId()); this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
@@ -36,7 +36,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
} }
List<UUID> getTrustedUUIDs() { List<UUID> getTrustedUUIDs() {
@@ -769,6 +776,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -773,6 +780,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
// Paper end // Paper end
@@ -67,7 +67,7 @@ index 310f7b5ad4d1441c186045c296aded01610c1b4a..586d6453b45efc75b4c150707f903457
// Paper start - Cancellable death event // Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6087141b308c1998a6be13dbf6e1ef75d6ddc6a8..532e25d00128c62c6eae4d0076dc0a3bd16c5b4e 100644 index a96aa7f127467a6ea8025c09f4e336f1910cc8af..d084d5ef20b2fb4d3b5479cb51003fb82a0358fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -509,6 +509,7 @@ public class PurpurWorldConfig { @@ -509,6 +509,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 036688d52541dda8d8eef6fee43823844f245124..7ca03d221e33cec1df99b6dcd60fcdd401530938 100644 index aa1e2c05c65391b5fbfce203c5095afd50682874..f8db28b15e551fc0e0c7f37c355237685c637529 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -336,7 +336,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -337,7 +337,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public double xOld; public double xOld;
public double yOld; public double yOld;
public double zOld; public double zOld;
@@ -18,10 +18,10 @@ index 036688d52541dda8d8eef6fee43823844f245124..7ca03d221e33cec1df99b6dcd60fcdd4
public final RandomSource random; public final RandomSource random;
public int tickCount; public int tickCount;
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 94a30a0c1266bf919d1dc4ca2b19489edd54a7fa..61a2048625df012f563d3a0db567630bdfe489c3 100644 index eadcebd7845ee716e33c0ac0544502da1a6c5941..8cb248a185d880bf82ea4746341fe3db5dc89459 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -677,6 +677,7 @@ public class ArmorStand extends LivingEntity { @@ -678,6 +678,7 @@ public class ArmorStand extends LivingEntity {
@Override @Override
public void tick() { public void tick() {
@@ -30,7 +30,7 @@ index 94a30a0c1266bf919d1dc4ca2b19489edd54a7fa..61a2048625df012f563d3a0db567630b
if (!this.canTick) { if (!this.canTick) {
if (this.noTickPoseDirty) { if (this.noTickPoseDirty) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c76957ae7e9f2aa6b34d0a1098cfbc036b723237..ba7f378b9b0c791dd77862439f310a6653cccf30 100644 index 4cd6d9309ed81956d59063fe4d229c6f930922ed..6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -90,6 +90,11 @@ public class PurpurWorldConfig { @@ -90,6 +90,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981611b0bc3 100644 index f440eabffb1abe4c7370bf7badf6137a22f99071..9a1e1387932a92fdf86a144b2d94b4df50feef90 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal; @@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
@@ -100,7 +100,7 @@ index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981
+ return InteractionResult.PASS; + return InteractionResult.PASS;
+ } + }
+ this.level().addFreshEntity(mooshroom); + this.level().addFreshEntity(mooshroom);
+ this.remove(RemovalReason.DISCARDED); + this.remove(RemovalReason.DISCARDED, org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ if (!player.getAbilities().instabuild) { + if (!player.getAbilities().instabuild) {
+ stack.shrink(1); + stack.shrink(1);
+ } + }
@@ -114,7 +114,7 @@ index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6102535823eab8862c23919f20a8062f9f750eb6..0db470bab81016af906dda69c9ff487e88bb63a9 100644 index c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa..ab5960b9104d362852ee3d6ba151cf78dd58a0ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -342,6 +342,7 @@ public class PurpurWorldConfig { @@ -342,6 +342,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 557592aa5799dca43c778ef7a0d3b98619b90b90..c58b3ff4e7e5dba4543a77c2c4d9bad3911fba98 100644 index 0ff5902dde47c4bb9922d6605d874868fb4820b9..4c3a4a5e79412a570b0dc1fdeaf540b83eb84b82 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -221,7 +221,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -222,7 +222,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
// this.discard(); // CraftBukkit - moved down // this.discard(); // CraftBukkit - moved down
entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
entitycow.setHealth(this.getHealth()); entitycow.setHealth(this.getHealth());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Pigs give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 6480e0f026e686b2d0a093d901d7f1e312a45021..dc27fa0df90f8eefc20bf76ff58b1b2ebaacf120 100644 index fdf5651c7877313437ecd32914823d00e53bdb99..77147698154dfa6221a979ba170671d60da048ff 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -177,6 +177,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -178,6 +178,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
public InteractionResult mobInteract(Player player, InteractionHand hand) { public InteractionResult mobInteract(Player player, InteractionHand hand) {
boolean flag = this.isFood(player.getItemInHand(hand)); boolean flag = this.isFood(player.getItemInHand(hand));
@@ -27,7 +27,7 @@ index 6480e0f026e686b2d0a093d901d7f1e312a45021..dc27fa0df90f8eefc20bf76ff58b1b2e
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
player.startRiding(this); player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0db470bab81016af906dda69c9ff487e88bb63a9..05b7788d168cadb594613d81cbff0726a63d81d2 100644 index ab5960b9104d362852ee3d6ba151cf78dd58a0ee..1c530384c9040236ce525329f37913cdd3e424ff 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -911,6 +911,7 @@ public class PurpurWorldConfig { @@ -911,6 +911,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index e9cdda0dd902cade5cc32acf4dcdc6c3174e0191..cfe7086b0259eefcd221a54529c111f7eb1adc38 100644 index 62ca0378469e74497bf256a58f55c2a73028d090..e4b2b35cb1704e61ce0a84cb97578cee7e1eed43 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -748,7 +748,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -749,7 +749,7 @@ public class EnderDragon extends Mob implements Enemy {
boolean flag = this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT); boolean flag = this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
short short0 = 500; short short0 = 500;
@@ -18,7 +18,7 @@ index e9cdda0dd902cade5cc32acf4dcdc6c3174e0191..cfe7086b0259eefcd221a54529c111f7
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a48dbad212789f90525e669ea81b1042c53cd06a..10572cc8cae0902a050e62e568b29b96d9c54a21 100644 index acec5455e9c16508ae474e1307e3cc234d17e6ee..a9d6c6713a098ca87d62b43d491bc2d9a8590741 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -455,6 +455,7 @@ public class PurpurWorldConfig { @@ -455,6 +455,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a9d54deefa076a03bd142983261f997270a49e1e..ba1ca47591756558d6722788695338ef03aadef6 100644 index 5e5485906f1157e52a7082278adcb7b6e56f3f06..a065009d01a5e28a3054241f30e5bedf21350cb5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1843,6 +1843,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1851,6 +1851,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.dropEquipment(); // CraftBukkit - from below this.dropEquipment(); // CraftBukkit - from below
if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
@@ -16,7 +16,7 @@ index a9d54deefa076a03bd142983261f997270a49e1e..ba1ca47591756558d6722788695338ef
this.dropFromLootTable(source, flag); this.dropFromLootTable(source, flag);
// Paper start // Paper start
final boolean prev = this.clearEquipmentSlots; final boolean prev = this.clearEquipmentSlots;
@@ -1851,6 +1852,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1859,6 +1860,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
// Paper end // Paper end
this.dropCustomDeathLoot(source, i, flag); this.dropCustomDeathLoot(source, i, flag);
this.clearEquipmentSlots = prev; // Paper this.clearEquipmentSlots = prev; // Paper

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] End gateway should check if entity can use portal
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
index 7491e075baebc7d412d35593bb844b200e304447..2e264b8b13df9da9163a80b3dd4345af3cff431c 100644 index 54f7bdd0e003ed170d739593199a2bb8ff0bbd68..400b7bbf49b1aa42eebb5d8f349a19d4ff321a7c 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
@@ -177,6 +177,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { @@ -178,6 +178,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) { public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) {
if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) { if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 2b65d30a143fdc2af635125901f2aba8fdc8c4a7..77f69ea078975f2e74a07526e4ed8c7eb742c05b 100644 index f8a6d48200dae42cb73ed4f7eb52f957e7530e8c..8d4e080540fb24b434e6d01eee6e7c2116c66804 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1180,6 +1180,7 @@ public abstract class PlayerList { @@ -1181,6 +1181,7 @@ public abstract class PlayerList {
} else { } else {
b0 = (byte) (24 + permissionLevel); b0 = (byte) (24 + permissionLevel);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to allow loyalty on tridents to work in the void
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
index 01e8f6f36a17c484b825879c377f7d6cc08e1fda..f74e5e055243abb36c7444422de54c806a39e675 100644 index 8ae7d62b72fb72d893e68b02b645d48374595ae6..2bd77524313ae7b32f710e7d197e81a2ddd12965 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java
@@ -60,7 +60,7 @@ public class ThrownTrident extends AbstractArrow { @@ -63,7 +63,7 @@ public class ThrownTrident extends AbstractArrow {
Entity entity = this.getOwner(); Entity entity = this.getOwner();
byte b0 = (Byte) this.entityData.get(ThrownTrident.ID_LOYALTY); byte b0 = (Byte) this.entityData.get(ThrownTrident.ID_LOYALTY);
@@ -18,7 +18,7 @@ index 01e8f6f36a17c484b825879c377f7d6cc08e1fda..f74e5e055243abb36c7444422de54c80
if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F); this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 297dfcc634cbe6993e7844209ee564ad530866ac..44a7ccb0f8f69dc4a4af65f3e45d714f46f60071 100644 index 40493cbb1b14f16549b95aa439e4c25c04a0627c..a5ec746fc30af0093430bb7a7f6848081220ec57 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,9 +97,11 @@ public class PurpurWorldConfig { @@ -97,9 +97,11 @@ public class PurpurWorldConfig {

View File

@@ -5,20 +5,20 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 7770880c9525805b67199f3c6b54618af15d106f..54184d7641e435654e987f866162b610a9352947 100644 index bc3d0654759b330c473de080b8a51c0a04cf3a19..88a1f4ee23c29daec81e1807129e4facf3c19714 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -362,7 +362,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -363,7 +363,7 @@ public class Creeper extends Monster implements PowerableMob {
if (!event.isCancelled()) { if (!event.isCancelled()) {
// CraftBukkit end // CraftBukkit end
this.dead = true; this.dead = true;
- this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.MOB); // CraftBukkit - this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.MOB); // CraftBukkit
+ this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), this.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) && level().purpurConfig.creeperAllowGriefing ? Level.ExplosionInteraction.MOB : Level.ExplosionInteraction.NONE); // CraftBukkit // Purpur + this.level().explode(this, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), this.level().getGameRules().getBoolean(net.minecraft.world.level.GameRules.RULE_MOBGRIEFING) && level().purpurConfig.creeperAllowGriefing ? Level.ExplosionInteraction.MOB : Level.ExplosionInteraction.NONE); // CraftBukkit // Purpur
this.discard(); this.discard(EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause
this.spawnLingeringCloud(); this.spawnLingeringCloud();
// CraftBukkit start // CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index ac1c9f44f2a9b7294f2999c70d7dfddb4f0c1ca2..2af9b2334a4baa15620b06ffddfbc60833bd4187 100644 index d973adad5411b390464d7a654d8e8c1dcf69729c..cc917e69d8d15061121278fe833225f5c8812007 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -547,6 +547,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -547,6 +547,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -38,7 +38,7 @@ index ac1c9f44f2a9b7294f2999c70d7dfddb4f0c1ca2..2af9b2334a4baa15620b06ffddfbc608
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 44a7ccb0f8f69dc4a4af65f3e45d714f46f60071..511cec787f2fb9e4985ffcfb13b1352a2c789fee 100644 index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c04316fec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -437,6 +437,7 @@ public class PurpurWorldConfig { @@ -437,6 +437,7 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 0d9b194781d152e842c9a4b8d6f23d307b2e4452..00cf59524477ec79d4354cc403fc3e75
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
index 5a591c439c5cef6b7e7e6f836ab813cb4f29b08c..44bb73e6846fc5f536b6efd5db7c5f1560ffecae 100644 index 4e6c2f6b2e54a4c126e9a026b9cad05ce835ad66..69553b5b3c56998e4ae40876b1458929b335ad5d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
@@ -42,6 +42,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent; @@ -42,6 +42,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
@@ -30,10 +30,10 @@ index 5a591c439c5cef6b7e7e6f836ab813cb4f29b08c..44bb73e6846fc5f536b6efd5db7c5f15
// CraftBukkit start // CraftBukkit start
private CraftMerchant craftMerchant; private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index c21b06edb9507ddf9e5a1de56164d9c187f83cab..a39457752612fc0dbbb022cb7faebc73bc2ad5e5 100644 index 8a864f236048e0c2b120f698439af652a8bcb0a8..798325b7594bc0167657eef1bee6aff770591d04 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -155,6 +155,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -156,6 +156,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.getNavigation().setCanFloat(true); this.getNavigation().setCanFloat(true);
this.setCanPickUpLoot(true); this.setCanPickUpLoot(true);
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE)); this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
@@ -42,10 +42,10 @@ index c21b06edb9507ddf9e5a1de56164d9c187f83cab..a39457752612fc0dbbb022cb7faebc73
// Purpur start // Purpur start
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 731bf43e2685554174d7ff295b5561ecf9dd70fa..64dd35573db3feae6507fc05086ed08c60f5ea01 100644 index 80a157aa57fe5e6725b6e06a93b841d66cf62455..301d985b89b98a644603a6b086889442f4a37d79 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -112,6 +112,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -113,6 +113,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D)); this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D));
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this)); this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D)); this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D));
@@ -54,7 +54,7 @@ index 731bf43e2685554174d7ff295b5561ecf9dd70fa..64dd35573db3feae6507fc05086ed08c
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index edbe9c93d03d3811e536d1a079e7b3511569ffa7..431fa9e522662b506c82fbe7e0266e5662ad91cc 100644 index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb42481c041e9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig { @@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 155e2c928edb63e15c36dd831051c08a8cf2a3fc..9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043 100644 index 8b39ea90558dbd5356c038b74fa4037fb69546ac..43f2654eb0a396bce98e0840bdc8a8b16f00b2ba 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1324,6 +1324,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1325,6 +1325,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
if (!this.isAlive()) { if (!this.isAlive()) {
return InteractionResult.PASS; return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) { } else if (this.getLeashHolder() == player) {
@@ -17,10 +17,10 @@ index 155e2c928edb63e15c36dd831051c08a8cf2a3fc..9101ac55f26f130e5d4aa4b4d4a4d500
// Paper start - Expand EntityUnleashEvent // Paper start - Expand EntityUnleashEvent
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild); org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index ac8915163a7bf0bae24d7d40e9561a76a6ff02ef..7e8a0c818247b4d283e3451226db83a3bb35408b 100644 index 798325b7594bc0167657eef1bee6aff770591d04..451443c942285b0553c87c3456e140e69586b77c 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -185,6 +185,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -186,6 +186,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
} }
@@ -33,10 +33,10 @@ index ac8915163a7bf0bae24d7d40e9561a76a6ff02ef..7e8a0c818247b4d283e3451226db83a3
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 8ead6c74e598eeeccb5f24cc3d1e86f03d2fe46a..8ab868c88e37fad978ffcf151ad527e57bdf4cb5 100644 index 301d985b89b98a644603a6b086889442f4a37d79..6f30c22fe0058320b995570c9af7b15ae917dd76 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -92,6 +92,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -93,6 +93,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth); this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
} }
@@ -49,7 +49,7 @@ index 8ead6c74e598eeeccb5f24cc3d1e86f03d2fe46a..8ab868c88e37fad978ffcf151ad527e5
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 431fa9e522662b506c82fbe7e0266e5662ad91cc..40a0cd68b1e35894360f0edc45bc30a5bd47622f 100644 index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346af890ae0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1436,6 +1436,7 @@ public class PurpurWorldConfig { @@ -1436,6 +1436,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index e1e5837c6f90c811f63053bbca80c512229cd727..f26322bfa6b26d2b97a1e89218c685b508a3253b 100644 index 97805659af862213e9217c408519563de2be5b35..e68ed7339d8aed2b97e310edeee3960611ed7bf1 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1936,9 +1936,19 @@ public abstract class Player extends LivingEntity { @@ -1944,9 +1944,19 @@ public abstract class Player extends LivingEntity {
@Override @Override
public int getExperienceReward() { public int getExperienceReward() {
if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) { if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 35a92f63aaf6ad90a028bf9954de48a06030cc7b..df57683541a603daf5ac2af2d5c0e03a14bb910b 100644 index f8db28b15e551fc0e0c7f37c355237685c637529..7fe6f44d25790cd222b700cf5ce1d5f36d89e650 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -899,7 +899,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -912,7 +912,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void checkBelowWorld() { public void checkBelowWorld() {
// Paper start - Configurable nether ceiling damage // Paper start - Configurable nether ceiling damage
@@ -18,10 +18,10 @@ index 35a92f63aaf6ad90a028bf9954de48a06030cc7b..df57683541a603daf5ac2af2d5c0e03a
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end - Configurable nether ceiling damage // Paper end - Configurable nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ba1ca47591756558d6722788695338ef03aadef6..fbba6e2da222f30fc763a680a825d5f2d53b5e4d 100644 index a065009d01a5e28a3054241f30e5bedf21350cb5..c80e2c400f264d7d195dbf87f5dec95ba5df7444 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2555,7 +2555,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2563,7 +2563,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override @Override
protected void onBelowWorld() { protected void onBelowWorld() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 31c51f882fa1e6c45daeb9b8c2cd32388ed2367e..ae0162d881d75e29d662f77e8be7cd5a91df4e2f 100644 index 7fe6f44d25790cd222b700cf5ce1d5f36d89e650..95baff79c07f1fdb1f2c2799527c0d245790cd60 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -557,6 +557,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -558,6 +558,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return false; return false;
} }
@@ -20,10 +20,10 @@ index 31c51f882fa1e6c45daeb9b8c2cd32388ed2367e..ae0162d881d75e29d662f77e8be7cd5a
return this.hardCollides; return this.hardCollides;
} }
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java 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 4a2331c22a022881d66bcfd4134b0ffe421a0633..d57ef27df0a3597416564f8723b4b986413ad314 100644 index 41261b72bfa5157139a5384b6a0b66b719ec02b9..8abc8a28ae74dc78f53b9fb38fb31b47a0a42d94 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java --- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -116,6 +116,11 @@ public class WitherSkull extends AbstractHurtingProjectile { @@ -117,6 +117,11 @@ public class WitherSkull extends AbstractHurtingProjectile {
return target != this.getRider() && super.canHitEntity(target); return target != this.getRider() && super.canHitEntity(target);
} }
@@ -48,10 +48,10 @@ index 23dc37ff1f92951817864963bf93220d5aae91bb..af563ffb67c43b50555951fe1b5e4320
final EntityType<?> entityType = entity.getType(); final EntityType<?> entityType = entity.getType();
final int saveLimit = level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1); final int saveLimit = level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1);
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
index 83dd3f982d5869e26748e6e0d0b38a3c7a08fe02..92d562fa11f69bb6b841299aef257ea0c674ca1c 100644 index b7e3994879a2b1de0c504f122b0c3c3229e4c356..3e846f38902024875d1961b16a60c50201df309d 100644
--- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java --- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java +++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
@@ -35,6 +35,13 @@ public class DolphinSpit extends LlamaSpit { @@ -36,6 +36,13 @@ public class DolphinSpit extends LlamaSpit {
dolphin.getZ() + (double) (dolphin.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(dolphin.yBodyRot * 0.017453292F)); dolphin.getZ() + (double) (dolphin.getBbWidth() + 1.0F) * 0.5D * (double) Mth.cos(dolphin.yBodyRot * 0.017453292F));
} }
@@ -66,7 +66,7 @@ index 83dd3f982d5869e26748e6e0d0b38a3c7a08fe02..92d562fa11f69bb6b841299aef257ea0
super_tick(); super_tick();
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
index 8fa9b376682d9e8b1971a9f72b918c6dc6872d04..d0d951f867390fa12cae2ba2a49212354b10d7b0 100644 index bc139e518c8214246c3f514b64f987bdd5de6f23..11825590af9346c61d5d15e5ef446b3c77b81b54 100644
--- a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java --- a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java +++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
@@ -38,6 +38,13 @@ public class PhantomFlames extends LlamaSpit { @@ -38,6 +38,13 @@ public class PhantomFlames extends LlamaSpit {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043..e9b82e27730221778e38d3417d58484b139d40af 100644 index 43f2654eb0a396bce98e0840bdc8a8b16f00b2ba..b30292dcc9bbfc0ded94ee8a0f4a5e949327da54 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -66,6 +66,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -66,6 +66,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -16,7 +16,7 @@ index 9101ac55f26f130e5d4aa4b4d4a4d5003a3d1043..e9b82e27730221778e38d3417d58484b
import net.minecraft.world.level.GameRules; import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@@ -1182,6 +1183,12 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1183,6 +1184,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Mending mends most damages equipment first
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index e814b2ef2577f032d6760de2f798d4fe18c67d0c..673b3aee680bb8a2d20f96be661d5fa9c61f4ce3 100644 index 36422fb394a158f36c84ba0ee03cc704956c91b2..c8671996f07f1daafe48448f4a5b837ca2f658c6 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -331,7 +331,7 @@ public class ExperienceOrb extends Entity { @@ -332,7 +332,7 @@ public class ExperienceOrb extends Entity {
} }
private int repairPlayerItems(Player player, int amount) { private int repairPlayerItems(Player player, int amount) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index fbba6e2da222f30fc763a680a825d5f2d53b5e4d..65c36f41fe7602bfc8d2349b065c7494eb1abfb6 100644 index c80e2c400f264d7d195dbf87f5dec95ba5df7444..40a22471b7828d660b1d8aa3f16af060694a86e3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3581,7 +3581,16 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3589,7 +3589,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
int j = i / 10; int j = i / 10;
if (j % 2 == 0) { if (j % 2 == 0) {

View File

@@ -18,10 +18,10 @@ index db55ad9aaabfa1ea998754f3ac352d1698936696..04b98e23eed926d8473cc2464e04a5b9
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) { public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
this.trackedPlayers = trackedPlayers; this.trackedPlayers = trackedPlayers;
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda34937ce0b496 100644 index c7f06c3cfb737bd17a706798bf9cf0e1af5f0cc0..3cac817351a149935df75ef23d9f9417f6502016 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -58,6 +58,12 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -59,6 +59,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
public boolean canMobPickup = true; // Paper - Item#canEntityPickup public boolean canMobPickup = true; // Paper - Item#canEntityPickup
private int despawnRate = -1; // Paper - Alternative item-despawn-rate private int despawnRate = -1; // Paper - Alternative item-despawn-rate
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
@@ -34,7 +34,7 @@ index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda3493
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) { public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
super(type, world); super(type, world);
@@ -364,7 +370,16 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -365,7 +371,16 @@ public class ItemEntity extends Entity implements TraceableEntity {
@Override @Override
public boolean hurt(DamageSource source, float amount) { public boolean hurt(DamageSource source, float amount) {
@@ -52,7 +52,7 @@ index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda3493
return false; return false;
} else if (!this.getItem().isEmpty() && this.getItem().is(Items.NETHER_STAR) && source.is(DamageTypeTags.IS_EXPLOSION)) { } else if (!this.getItem().isEmpty() && this.getItem().is(Items.NETHER_STAR) && source.is(DamageTypeTags.IS_EXPLOSION)) {
return false; return false;
@@ -567,6 +582,12 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -568,6 +583,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
public void setItem(ItemStack stack) { public void setItem(ItemStack stack) {
this.getEntityData().set(ItemEntity.DATA_ITEM, stack); this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper - Alternative item-despawn-rate this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper - Alternative item-despawn-rate
@@ -66,7 +66,7 @@ index eb0d6238588efa35fa868f26290547574a08eca2..633c2b7b02873f83c488a286acda3493
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index 832def3c518be8d6d81e71f6022566e6179e2d17..e99007570a89eebe3c85ad549cf24286514306f8 100644 index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1ae17678f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -151,4 +151,46 @@ public class CraftItem extends CraftEntity implements Item { @@ -151,4 +151,46 @@ public class CraftItem extends CraftEntity implements Item {
@@ -117,7 +117,7 @@ index 832def3c518be8d6d81e71f6022566e6179e2d17..e99007570a89eebe3c85ad549cf24286
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9aab2c1dc14f9683953cb2876ee9471f603da629..b5599360a524a55183b3a21f822b5cb24f59dc67 100644 index 88aabe09118cbbad3add3cee44e237580294f685..62074152a0a494bbde4c39074942425a8b850ffd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -125,6 +125,49 @@ public class PurpurWorldConfig { @@ -125,6 +125,49 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index c99ab157e43fc990549fc06f5b6fb1e227014fde..aa75a9229210302dbccd6186439c3c35481ef46c 100644 index 036640d49a5e891e9a0f767abe33f1f51d6d4cde..c0c8bdfbab17d8a10d616e2625ebfa7babf5fab3 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -30,6 +30,12 @@ public class EndCrystal extends Entity { @@ -31,6 +31,12 @@ public class EndCrystal extends Entity {
private static final EntityDataAccessor<Boolean> DATA_SHOW_BOTTOM = SynchedEntityData.defineId(EndCrystal.class, EntityDataSerializers.BOOLEAN); private static final EntityDataAccessor<Boolean> DATA_SHOW_BOTTOM = SynchedEntityData.defineId(EndCrystal.class, EntityDataSerializers.BOOLEAN);
public int time; public int time;
public boolean generatedByDragonFight = false; // Paper - Fix invulnerable end crystals public boolean generatedByDragonFight = false; // Paper - Fix invulnerable end crystals
@@ -21,7 +21,7 @@ index c99ab157e43fc990549fc06f5b6fb1e227014fde..aa75a9229210302dbccd6186439c3c35
public EndCrystal(EntityType<? extends EndCrystal> type, Level world) { public EndCrystal(EntityType<? extends EndCrystal> type, Level world) {
super(type, world); super(type, world);
@@ -79,6 +85,49 @@ public class EndCrystal extends Entity { @@ -80,6 +86,49 @@ public class EndCrystal extends Entity {
// Paper end - Fix invulnerable end crystals // Paper end - Fix invulnerable end crystals
} }

View File

@@ -17,10 +17,10 @@ index 1cc86f8dd63802b7227de56b44c859c253a80756..b9a4815d6f942d78851213224a475b15
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85396edbe3 100644 index b30292dcc9bbfc0ded94ee8a0f4a5e949327da54..20e8c3c88891f0fe20556b700fab5122682b2bdb 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -136,6 +136,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -137,6 +137,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
private BlockPos restrictCenter; private BlockPos restrictCenter;
private float restrictRadius; private float restrictRadius;
@@ -28,7 +28,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
public boolean aware = true; // CraftBukkit public boolean aware = true; // CraftBukkit
protected Mob(EntityType<? extends Mob> type, Level world) { protected Mob(EntityType<? extends Mob> type, Level world) {
@@ -325,6 +326,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -326,6 +327,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
entityliving = null; entityliving = null;
} }
} }
@@ -36,7 +36,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
this.target = entityliving; this.target = entityliving;
return true; return true;
// CraftBukkit end // CraftBukkit end
@@ -372,8 +374,28 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -373,8 +375,28 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
this.level().getProfiler().pop(); this.level().getProfiler().pop();
@@ -57,7 +57,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
+ return; // mob persistent + return; // mob persistent
+ } + }
+ if (this.ticksSinceLastInteraction > this.level().purpurConfig.entityLifeSpan) { + if (this.ticksSinceLastInteraction > this.level().purpurConfig.entityLifeSpan) {
+ this.discard(); + this.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ } + }
+ } + }
+ // Purpur end + // Purpur end
@@ -65,7 +65,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
@Override @Override
protected void playHurtSound(DamageSource source) { protected void playHurtSound(DamageSource source) {
this.resetAmbientSoundTime(); this.resetAmbientSoundTime();
@@ -563,6 +585,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -564,6 +586,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
@@ -73,7 +73,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
} }
@Override @Override
@@ -633,6 +656,11 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -634,6 +657,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
this.aware = nbt.getBoolean("Bukkit.Aware"); this.aware = nbt.getBoolean("Bukkit.Aware");
} }
// CraftBukkit end // CraftBukkit end
@@ -85,7 +85,7 @@ index 6c6d31ca2321499b1834e16545b6af9436c96b37..431f9a872a1195d6014ff9e87eef9c85
} }
@Override @Override
@@ -1716,6 +1744,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1717,6 +1745,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
this.setLastHurtMob(target); this.setLastHurtMob(target);
} }

View File

@@ -36,10 +36,10 @@ index 8b2550bada2cca8cb9875580133ce0ee6cc19325..498c60a8669b867101f030b5735deffe
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 65c36f41fe7602bfc8d2349b065c7494eb1abfb6..7caf73407b0a98fdb316a6b738704fe737f4c65b 100644 index 40a22471b7828d660b1d8aa3f16af060694a86e3..dea777da2b5cb5182fd165d070dd90d579f99bea 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -426,6 +426,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -427,6 +427,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
double d1 = this.level().getWorldBorder().getDamagePerBlock(); double d1 = this.level().getWorldBorder().getDamagePerBlock();
if (d1 > 0.0D) { if (d1 > 0.0D) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index f4ed6ae7e8f122a0a2ce7f4488b0fe1ed0c7da3d..ce450d4b0d42443a47861dcb54b78a01ede734d1 100644 index 451443c942285b0553c87c3456e140e69586b77c..976388612d64cd137b18870119928cbd45dfd2a4 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -786,7 +786,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -787,7 +787,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override @Override
public boolean canBreed() { public boolean canBreed() {
@@ -18,7 +18,7 @@ index f4ed6ae7e8f122a0a2ce7f4488b0fe1ed0c7da3d..ce450d4b0d42443a47861dcb54b78a01
private boolean hungry() { private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a0477b47563214152483423121523f836827306b..3decdb56a21e7be052ef9386f2059e912738d4be 100644 index dcd9f80eb69e34b514f57158568e4cb59e9860ec..df4f384032f398fc9852e753dee820ffa33e10bb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1611,6 +1611,7 @@ public class PurpurWorldConfig { @@ -1611,6 +1611,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7caf73407b0a98fdb316a6b738704fe737f4c65b..a0573d7c164091ad8fa3d98d1c462a4eee309a2f 100644 index dea777da2b5cb5182fd165d070dd90d579f99bea..02be3c960bc89464b589a557d4269fce8fb88766 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1632,6 +1632,18 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1640,6 +1640,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 519e52b303cb9a2d4b1cae84d8436f2057003fcb..ff11643193495f0646de4bcf13b7f1e57731e4fb 100644 index df6306572f11762ec0d54b738c1a8a30269c9224..3e32787cc7e96e83dc408e556a92b25607d487a9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -480,6 +480,7 @@ public class Dolphin extends WaterAnimal { @@ -481,6 +481,7 @@ public class Dolphin extends WaterAnimal {
@Override @Override
public boolean canUse() { public boolean canUse() {
@@ -17,7 +17,7 @@ index 519e52b303cb9a2d4b1cae84d8436f2057003fcb..ff11643193495f0646de4bcf13b7f1e5
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1f22aae24973fc8f6464c0de0188d01c8171546f..afc67803bf71d26e84f9130c30ac2b1b3d1114bf 100644 index 4c80796777c5a90c5e7a9e8ef0beedfcb49f0aa9..b9faaf71e0cd5918b072d068bbc2096aa2805616 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -610,6 +610,7 @@ public class PurpurWorldConfig { @@ -610,6 +610,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2d24aa01680dfc8ada8db55d9af57bcff8218624..2300068427a5e0fe7e263455e6035cb5cff33a5f 100644 index 95baff79c07f1fdb1f2c2799527c0d245790cd60..8307646d2ff06ae8cde245c8d1aec259df2330a2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4446,6 +4446,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -4462,6 +4462,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.yRotO = this.getYRot(); this.yRotO = this.getYRot();
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2300068427a5e0fe7e263455e6035cb5cff33a5f..53e072f6070101f9c1bd24eacf1114e0a1c16305 100644 index 8307646d2ff06ae8cde245c8d1aec259df2330a2..ca0719307e4d50b3dcfe13195f1c1e680b00350c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3151,7 +3151,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3167,7 +3167,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public void handleInsidePortal(BlockPos pos) { public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) { if (this.isOnPortalCooldown()) {
this.setPortalCooldown(); this.setPortalCooldown();
@@ -17,7 +17,7 @@ index 2300068427a5e0fe7e263455e6035cb5cff33a5f..53e072f6070101f9c1bd24eacf1114e0
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) { if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable(); this.portalEntrancePos = pos.immutable();
} }
@@ -3857,7 +3857,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3873,7 +3873,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
public boolean canChangeDimensions() { public boolean canChangeDimensions() {

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. 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 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 29957114850eb897b54997dcad0753e0c895ce6e..93cf322ea4943fea127dc89eed900a2ca21b096c 100644 index 51ccbf3bd77bbcf77833b39fadc6c01fd28f2131..0c7623cc87c534cf02ee78a1ffb6928a31758f6f 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -526,8 +526,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -527,8 +527,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -23,7 +23,7 @@ index 29957114850eb897b54997dcad0753e0c895ce6e..93cf322ea4943fea127dc89eed900a2c
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4ffd1263f48a426e5f7a79fd266a0f445975dc2e..6b7602954de34a114893e49e8f93665ba30ed494 100644 index 1f25407aafba71762a482f0b1982302fed14387f..beea39d7cdbca783de7248a5c40ea2c7ab02e5b5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1717,6 +1717,8 @@ public class PurpurWorldConfig { @@ -1717,6 +1717,8 @@ public class PurpurWorldConfig {

View File

@@ -7,10 +7,10 @@ This prevents keeping arrows alive indefinitely (such as when the block
the arrow is stuck in gets removed, like a piston head going up/down) the arrow is stuck in gets removed, like a piston head going up/down)
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 42ebd91196ae420eee57f4380abc558555457163..49b55db16c8c2f389fb6990b3b3ad7dc29eb10c3 100644 index e8faca6e443239968f0111519f9e5cd018ed3297..5d60f038220ef4e7b66834c172cc47c7abfe7da7 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -319,7 +319,7 @@ public abstract class AbstractArrow extends Projectile { @@ -320,7 +320,7 @@ public abstract class AbstractArrow extends Projectile {
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
this.setDeltaMovement(vec3d.multiply((double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F))); this.setDeltaMovement(vec3d.multiply((double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F), (double) (this.random.nextFloat() * 0.2F)));
@@ -20,7 +20,7 @@ index 42ebd91196ae420eee57f4380abc558555457163..49b55db16c8c2f389fb6990b3b3ad7dc
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e1701bd63540f1672ceb821f0e37d29587847da9..c0f3f52068d147ca06dbb87da51d628b56cf51e4 100644 index 666ff3e30e09c91653bf51041afc95799c8955fe..4386ae1f2f1e0340ad045023124693f619cf4283 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -101,6 +101,11 @@ public class PurpurWorldConfig { @@ -101,6 +101,11 @@ public class PurpurWorldConfig {

View File

@@ -95,7 +95,7 @@ index bc3094493d7d25eaf50da8fdd74eacae25692b09..b142e5c489e9fe65b7258f541ef121b2
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index d42c8bcd85ffb1e00d2883485bf22981611b0bc3..c501704251e5b23f697efc307ebdc906cd2e5acd 100644 index 9a1e1387932a92fdf86a144b2d94b4df50feef90..3fd310fe80b0f725746e20e8be2b3b7710467c28 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -69,6 +69,11 @@ public class Cow extends Animal { @@ -69,6 +69,11 @@ public class Cow extends Animal {
@@ -111,10 +111,10 @@ index d42c8bcd85ffb1e00d2883485bf22981611b0bc3..c501704251e5b23f697efc307ebdc906
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f65a4ee89 100644 index a910e897cbd11fa17469642de43225eb512c1c51..4f1ae50564a7e646172b3b923d15a002ee736601 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -188,6 +188,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -192,6 +192,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.foxMaxHealth);
} }
@@ -126,7 +126,7 @@ index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f
@Override @Override
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
@@ -1003,8 +1008,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -1007,8 +1012,10 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox); CriteriaTriggers.BRED_ANIMALS.trigger(entityplayer2, this.animal, this.partner, entityfox);
} }
@@ -140,10 +140,10 @@ index 586d6453b45efc75b4c150707f9034576ad140e1..bc91862958fe18602d301f748ebeb73f
this.partner.resetLove(); this.partner.resetLove();
worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason worldserver.addFreshEntityWithPassengers(entityfox, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.BREEDING); // CraftBukkit - added SpawnReason
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index e21fc50313052fe38ad54e5b44b3739c881ccd22..56427c987439c2d6d5652dae0f2c0a72d4eba26e 100644 index 4c3a4a5e79412a570b0dc1fdeaf540b83eb84b82..b699f88ce9480ef4da5bfb97004a9c5f62d58894 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -85,6 +85,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -86,6 +86,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.mooshroomMaxHealth); this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.mooshroomMaxHealth);
} }
@@ -172,10 +172,10 @@ index 14daac1a87e32e0ff0a610aef256e20cbfe50001..3fe751839e4a1bc266b0d9508e1e3384
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING); return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 846cbac0f862ec881347325dcd6db8eaedbd0e75..fe6323d131acc3885108d18f884a4c7d6d2f4905 100644 index 641e0ba16afe6720c5a5ff4e8e4882d4e9bdb46d..2e90708da8984c18d2325bc8b5c207bd075bec52 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -146,6 +146,11 @@ public class Panda extends Animal { @@ -147,6 +147,11 @@ public class Panda extends Animal {
setAttributes(); setAttributes();
} }
@@ -204,10 +204,10 @@ index 9334fb348e559ee27ba38bbd51c30876206c2af4..3bb216b678eee290a9ec636fe4d8af9d
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index dc27fa0df90f8eefc20bf76ff58b1b2ebaacf120..42bf69eb86b9ccfb5afaf17e319bf34ce055e033 100644 index 77147698154dfa6221a979ba170671d60da048ff..d858d4c94fb17d14367672813b506aea9e2e4ee1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -89,6 +89,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -90,6 +90,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pigMaxHealth);
} }
@@ -268,7 +268,7 @@ index 1d69558cccc6add5f02f1ff070c985bd5ec406c0..df7deec204ebf99afdbfe49f9a113857
protected void registerGoals() { protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this); this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 3fcc57ed165203a36b35e121c2c0cc88ba5f73b8..0e2c4140f2772b7df3222343e17e3a973d3667a9 100644 index 511de848cb9cfed304fa59cb38205db4b71dd8eb..eb1af0926c1c8990602ba4f98cec45d6a0a839aa 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -108,6 +108,11 @@ public class Turtle extends Animal { @@ -108,6 +108,11 @@ public class Turtle extends Animal {
@@ -316,7 +316,7 @@ index 48b0df2acccd0d406ba05aaeb6dfbfde57cc1366..8bad919c44f7c4c4c524ea9ad5c8e38a
public Map<String, Vector3f> getModelRotationValues() { public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues; return this.modelRotationValues;
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index aace7991c198ccfe1338625e7b64b88921cefe0c..d1ada87d222e5b35c2df5a0e7b0075ec3413fa66 100644 index 2ffa81c374bd4dc618b8e284317d13f6a070dc52..a654c26742d8aa5e4c58a6391ad2fc5fe917ed3a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java --- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java +++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -91,6 +91,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl @@ -91,6 +91,10 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -426,10 +426,10 @@ index abbeb305b2d09e9c4c02ade603adac5ceb34bdd0..1de48560ac5a1db8845c98c812b2e9f9
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound() {
return SoundEvents.MULE_AMBIENT; return SoundEvents.MULE_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 68981762e3b71cfdf12180c9a711f22b33c471b7..76de20b86b6b99c10379adeb303fac4371891923 100644 index d65d3c1275623a199d90497152519e45317a110f..250a51017cfbb42730ed736a112b269a258c19af 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -57,6 +57,11 @@ public class SkeletonHorse extends AbstractHorse { @@ -64,6 +64,11 @@ public class SkeletonHorse extends AbstractHorse {
return generateSpeed(this.level().purpurConfig.skeletonHorseMovementSpeedMin, this.level().purpurConfig.skeletonHorseMovementSpeedMax); return generateSpeed(this.level().purpurConfig.skeletonHorseMovementSpeedMin, this.level().purpurConfig.skeletonHorseMovementSpeedMax);
} }
@@ -439,13 +439,13 @@ index 68981762e3b71cfdf12180c9a711f22b33c471b7..76de20b86b6b99c10379adeb303fac43
+ } + }
+ +
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 4abb9d5fedf63eba9dc3f716d44ea11806607af0..3632fcb124be8cf77d9bebf7b861a48196252ed0 100644 index 85e32d35cdfb7dd11b3c28146b9b71eae2b5c685..0a6cf9f0f16882c8042a333852699129402f75f2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -64,6 +64,11 @@ public class TraderLlama extends Llama { @@ -67,6 +67,11 @@ public class TraderLlama extends Llama {
return generateSpeed(this.level().purpurConfig.traderLlamaMovementSpeedMin, this.level().purpurConfig.traderLlamaMovementSpeedMax); return generateSpeed(this.level().purpurConfig.traderLlamaMovementSpeedMin, this.level().purpurConfig.traderLlamaMovementSpeedMax);
} }
@@ -522,7 +522,7 @@ index 9748b32692b14bffde1506e88149939c4ed25900..fae14f6ab139e7d7a0e8625488c472f0
public boolean canBeLeashed(Player player) { public boolean canBeLeashed(Player player) {
return !this.isLeashed(); return !this.isLeashed();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 52b9e364056b0b405779965daa634a8b0f1f82e0..bbff889198f33fa8fede86fef7be81236a0a591c 100644 index c469fc30efcc71af34b446475af16870049487b6..4e2619e07b177cd8ce732e58da538de89b627098 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -501,10 +501,12 @@ public class PurpurWorldConfig { @@ -501,10 +501,12 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Apply display names from item forms of entities to entities
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index b9bb4745cf540b5720259b009e973633647c36c6..1bb58a662f885670e3104e30c7ff0160198ceeed 100644 index 8cb248a185d880bf82ea4746341fe3db5dc89459..aca5e7a2b0eab93c613b03834509366f7119ec03 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -606,7 +606,7 @@ public class ArmorStand extends LivingEntity { @@ -607,7 +607,7 @@ public class ArmorStand extends LivingEntity {
private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(DamageSource damageSource) { // Paper private org.bukkit.event.entity.EntityDeathEvent brokenByPlayer(DamageSource damageSource) { // Paper
ItemStack itemstack = new ItemStack(Items.ARMOR_STAND); ItemStack itemstack = new ItemStack(Items.ARMOR_STAND);
@@ -19,7 +19,7 @@ index b9bb4745cf540b5720259b009e973633647c36c6..1bb58a662f885670e3104e30c7ff0160
} }
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index 69912c5b300b67394dce3876d2d96872033cf156..d728dc8a9b5fa2de0a824aaf132ee15db090b02e 100644 index 80303f9466b8c7097151be313afc9a383693d18a..e5b7598a5613a8281a991e42af5b950bcc2995ca 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java --- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -268,7 +268,13 @@ public class ItemFrame extends HangingEntity { @@ -268,7 +268,13 @@ public class ItemFrame extends HangingEntity {
@@ -57,7 +57,7 @@ index 03c065d0ad97d29f3586ba2bf3cd207b867ed634..62cdc36a21c0203ed98d2946a1efdf54
} }
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index 960bada23cb89a7f270d1ee24d62f2bc108522af..7e9c88efd2a1edea673d1ef81635c2891a04d30e 100644 index 96c6b4c37a556da8a4c6807db121c44c3f1b0729..81e0930acccd014e977b88d22e10346627f0edb0 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -968,7 +968,13 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> { @@ -968,7 +968,13 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
@@ -136,7 +136,7 @@ index b2ad6d230de2c29f371178bccde1111c7532ee70..6667926519a0f1c151e53f59cce36e74
if (((HangingEntity) object).survives()) { if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 569a09a73c9d800e78a77c430494292457453ab1..82d7028c1fc2ddfbb8bbcee9205375f4807c8e25 100644 index 4e2619e07b177cd8ce732e58da538de89b627098..2d9429ef5884f0ee542c2fb197ae263c2e5d6577 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -97,8 +97,10 @@ public class PurpurWorldConfig { @@ -97,8 +97,10 @@ public class PurpurWorldConfig {

View File

@@ -5,20 +5,20 @@ Subject: [PATCH] Add configurable snowball damage
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
index 718e120c9768cf716b32d3d652f53f1dda925168..b90cedad282e95a067aca176fafa9f72a726f520 100644 index 5e82549ea2e80b3968b793b7b4b685c4891e9a91..8d1591c3b29e02794f6f66b742ec6a121920ad71 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java --- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
@@ -53,7 +53,7 @@ public class Snowball extends ThrowableItemProjectile { @@ -58,7 +58,7 @@ public class Snowball extends ThrowableItemProjectile {
protected void onHitEntity(EntityHitResult entityHitResult) { protected void onHitEntity(EntityHitResult entityHitResult) {
super.onHitEntity(entityHitResult); super.onHitEntity(entityHitResult);
Entity entity = entityHitResult.getEntity(); Entity entity = entityHitResult.getEntity();
- int i = entity instanceof Blaze ? 3 : 0; - int i = entity instanceof Blaze ? 3 : 0;
+ int i = entity.level().purpurConfig.snowballDamage >= 0 ? entity.level().purpurConfig.snowballDamage : entity instanceof Blaze ? 3 : 0; // Purpur + int i = entity.level().purpurConfig.snowballDamage >= 0 ? entity.level().purpurConfig.snowballDamage : entity instanceof Blaze ? 3 : 0; // Purpur
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float)i);
}
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b2c8ec43768c1a3243bca0998350400d8ea51b89..06558480c2f3b9b1e81ba48fe7c7a80ea5652599 100644 index ed2bc4524167521bdfb1b9c516106b14b4b05e50..1f41804ec120b2e50ef99ef50d41d44a91ba3814 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -350,6 +350,11 @@ public class PurpurWorldConfig { @@ -350,6 +350,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 8a8ddfffe83554352f1e97fd33e8afd4bb4d82c0..a7b22c652ed8876a1a8da14ffcba69fccedb578f 100644 index 20e8c3c88891f0fe20556b700fab5122682b2bdb..050d6705cfa7ce59b85a3120a0569b3e8f9be6b7 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1311,7 +1311,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1312,7 +1312,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
RandomSource randomsource = world.getRandom(); RandomSource randomsource = world.getRandom();
this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.MULTIPLY_BASE)); this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", randomsource.triangle(0.0D, 0.11485000000000001D), AttributeModifier.Operation.MULTIPLY_BASE));
@@ -18,7 +18,7 @@ index 8a8ddfffe83554352f1e97fd33e8afd4bb4d82c0..a7b22c652ed8876a1a8da14ffcba69fc
} else { } else {
this.setLeftHanded(false); this.setLeftHanded(false);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26d0491025361ca2c898d9daa5a47430f9b8ed5e..8ccfa4ff11ca26ff3ac9785daa11d5a03d22649a 100644 index 1f41804ec120b2e50ef99ef50d41d44a91ba3814..e84e5007a0952a77b991ff6c00549af28aa54230 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -156,8 +156,10 @@ public class PurpurWorldConfig { @@ -156,8 +156,10 @@ public class PurpurWorldConfig {

View File

@@ -136,10 +136,10 @@ index cb1d91f9fe98f21c2afbe3894dfd9bca3bdd3ba6..d2703432af207c74ea8d298a784329c3
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list); brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index ce450d4b0d42443a47861dcb54b78a01ede734d1..833db485054338cd4a5e626b35ec050c35f15477 100644 index 976388612d64cd137b18870119928cbd45dfd2a4..430e660f74ee523d0bb98e21784f32158495de7a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -224,7 +224,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -225,7 +225,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F)); brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
} else { } else {
brain.setSchedule(Schedule.VILLAGER_DEFAULT); brain.setSchedule(Schedule.VILLAGER_DEFAULT);
@@ -148,7 +148,7 @@ index ce450d4b0d42443a47861dcb54b78a01ede734d1..833db485054338cd4a5e626b35ec050c
} }
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F)); brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
@@ -979,6 +979,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -980,6 +980,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public boolean hasFarmSeeds() { public boolean hasFarmSeeds() {
return this.getInventory().hasAnyMatching((itemstack) -> { return this.getInventory().hasAnyMatching((itemstack) -> {
@@ -174,7 +174,7 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7bcec0062d777134fdc963ed4e8874730df36711..743f53357131695b89cb71c0c126f2e53a46c9f1 100644 index c034b4686a1f5c67daef7ece163b92f54c6813d4..aebeb25fcb6b9a72ad52d249f8df794c3f5cce11 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1808,6 +1808,8 @@ public class PurpurWorldConfig { @@ -1808,6 +1808,8 @@ public class PurpurWorldConfig {

View File

@@ -29,7 +29,7 @@ index 808ec6b3fa06dd0de76e78ec832894b2570eef8c..69af88f3ed690cbb751d367171c4cf6a
this.hasLoggedStop = true; // Paper - Debugging this.hasLoggedStop = true; // Paper - Debugging
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index a7388e51a169d43f22a1bd193b88f4383949cea6..f0745f41ba4c1931e4b61ac75edcff8f8cea5b34 100644 index aa47b0af34cff5eaa638d6c24c718d02a0a266cf..d66fc3f1b8d960782a7a2e08dd72831025f9c8fd 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -351,6 +351,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -351,6 +351,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -83,10 +83,10 @@ index fbf1b37a0328d72c54331f8b567088731e5cc5d0..a30732576b86bcf9c56e7d0ced8eb849
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index f00121174230b16d852a6b5aaa75d277deaf5dff..d283a8c2e976c0320c65e3be542bd36dad809cc9 100644 index 8d4e080540fb24b434e6d01eee6e7c2116c66804..89ba5789c6d6e4fe8360a854f0a6123036a5a792 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -486,6 +486,7 @@ public abstract class PlayerList { @@ -487,6 +487,7 @@ public abstract class PlayerList {
scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam); scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam);
} }
// Paper end - Configurable player collision // Paper end - Configurable player collision
@@ -94,7 +94,7 @@ index f00121174230b16d852a6b5aaa75d277deaf5dff..d283a8c2e976c0320c65e3be542bd36d
PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ());
} }
@@ -598,6 +599,7 @@ public abstract class PlayerList { @@ -599,6 +600,7 @@ public abstract class PlayerList {
} }
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
// Paper end - Fix kick event leave message not being sent // Paper end - Fix kick event leave message not being sent

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Full netherite armor grants fire resistance
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index f26322bfa6b26d2b97a1e89218c685b508a3253b..ad4046a24f04845e794d1e446e12eb6c5c581d14 100644 index e68ed7339d8aed2b97e310edeee3960611ed7bf1..73f8aeb1b5253cfd7d5502d506677a3ef906625e 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -368,6 +368,16 @@ public abstract class Player extends LivingEntity { @@ -369,6 +369,16 @@ public abstract class Player extends LivingEntity {
this.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 200, 0, false, false, true), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.TURTLE_HELMET); // CraftBukkit this.addEffect(new MobEffectInstance(MobEffects.WATER_BREATHING, 200, 0, false, false, true), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.TURTLE_HELMET); // CraftBukkit
} }

View File

@@ -5,10 +5,10 @@ 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 diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index a0573d7c164091ad8fa3d98d1c462a4eee309a2f..2a5d3d5c0a337933c62e1168de1a595a92bc5444 100644 index 02be3c960bc89464b589a557d4269fce8fb88766..0461debc992ad7812a28ea73f3e18d5c0c22f700 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1810,7 +1810,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1818,7 +1818,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = false; boolean flag = false;
if (this.dead && adversary instanceof WitherBoss) { // Paper if (this.dead && adversary instanceof WitherBoss) { // Paper
@@ -18,10 +18,10 @@ index a0573d7c164091ad8fa3d98d1c462a4eee309a2f..2a5d3d5c0a337933c62e1168de1a595a
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 3fd1951441b149af2fcf335fd4b5886b4d66d5b0..c5cf5e84893f137ee4bead287e80eb57ff1a7407 100644 index 050d6705cfa7ce59b85a3120a0569b3e8f9be6b7..56ba7ac3d9d1f65de84f98eb724761d6bb374d47 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -705,7 +705,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -706,7 +706,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
public void aiStep() { public void aiStep() {
super.aiStep(); super.aiStep();
this.level().getProfiler().push("looting"); this.level().getProfiler().push("looting");
@@ -92,10 +92,10 @@ index 5580a396a56c6e0f364a5368985ee99b9e2be0a8..3facfd6eee17cb0b59425494c966e198
} else if (this.nextStartTick > 0) { } else if (this.nextStartTick > 0) {
--this.nextStartTick; --this.nextStartTick;
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index bc91862958fe18602d301f748ebeb73f65a4ee89..ef2f07cd030d66797cc00932ad61282c634e8047 100644 index 4f1ae50564a7e646172b3b923d15a002ee736601..5ddc3e997fec6417c379561f60c438386030d49d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -1397,7 +1397,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -1401,7 +1401,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
} }
protected void onReachedTarget() { protected void onReachedTarget() {
@@ -131,10 +131,10 @@ index b97f892fe5824b5275905cd51599bea17da3dd19..1d70a108293a61b7813b70cc9ce600a3
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 88bc3710cf7229f85805ec210a06b224aec65a4b..50f6b8977866248d1a69f0c82d427eb8ef480952 100644 index e4b2b35cb1704e61ce0a84cb97578cee7e1eed43..39cf974313c7c0bdcd6599c6c8bec450efe0277a 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -604,7 +604,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -605,7 +605,7 @@ public class EnderDragon extends Mob implements Enemy {
BlockState iblockdata = this.level().getBlockState(blockposition); BlockState iblockdata = this.level().getBlockState(blockposition);
if (!iblockdata.isAir() && !iblockdata.is(BlockTags.DRAGON_TRANSPARENT)) { if (!iblockdata.isAir() && !iblockdata.is(BlockTags.DRAGON_TRANSPARENT)) {
@@ -144,10 +144,10 @@ index 88bc3710cf7229f85805ec210a06b224aec65a4b..50f6b8977866248d1a69f0c82d427eb8
// flag1 = this.level().removeBlock(blockposition, false) || flag1; // flag1 = this.level().removeBlock(blockposition, false) || flag1;
flag1 = true; 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 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 6bc0713a8bc8ac86f1febe3414bed135c1cd5336..a655c38eccc41d97cfb6d329e104bad6d9ccbc95 100644 index 0c7623cc87c534cf02ee78a1ffb6928a31758f6f..3cc47b0e05621c913a3e8d04c653bafab4a86744 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -493,7 +493,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -494,7 +494,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.destroyBlocksTick > 0) { if (this.destroyBlocksTick > 0) {
--this.destroyBlocksTick; --this.destroyBlocksTick;
@@ -221,10 +221,10 @@ index 226b44ba4cd3a08562c8cb0d79c1d880cfac34ec..056fa8b12368dac5d1a12962b8ee92e8
AABB axisalignedbb = this.getBoundingBox().inflate(0.2D); AABB axisalignedbb = this.getBoundingBox().inflate(0.2D);
Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator(); Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 1738f0a251e4cab2eb3f122e83366afb02201765..49a37d294bac8205ac0a795daa300ccc8170c8a8 100644 index e81c162f7a2061180f81754de341b2c33da76a0d..69f6306b91e535050fe8b22852503dfb0514f316 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -210,7 +210,7 @@ public class Silverfish extends Monster { @@ -211,7 +211,7 @@ public class Silverfish extends Monster {
continue; continue;
} }
// CraftBukkit end // CraftBukkit end
@@ -233,7 +233,7 @@ index 1738f0a251e4cab2eb3f122e83366afb02201765..49a37d294bac8205ac0a795daa300ccc
world.destroyBlock(blockposition1, true, this.silverfish); world.destroyBlock(blockposition1, true, this.silverfish);
} else { } else {
world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3); world.setBlock(blockposition1, ((InfestedBlock) block).hostStateByInfested(world.getBlockState(blockposition1)), 3);
@@ -248,7 +248,7 @@ public class Silverfish extends Monster { @@ -249,7 +249,7 @@ public class Silverfish extends Monster {
} else { } else {
RandomSource randomsource = this.mob.getRandom(); RandomSource randomsource = this.mob.getRandom();
@@ -256,10 +256,10 @@ index b5e6a48192592e9bc5a7c0a2775e5d78f06cd46a..03b58860ecb72976ecce99f368d16942
protected boolean canReplaceCurrentItem(ItemStack stack) { protected boolean canReplaceCurrentItem(ItemStack stack) {
diff --git a/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java b/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java b/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java
index 6b67eec90cd0dc1b20762514eac97f75fdbdf182..2dec28091d1816e9d4c749a5155e83031751cf50 100644 index 9d89872c5958f3e8d6c1ef4fd93f9b8b85296851..6a94c86acce5afbf1e9c8e7d664b3eb2d79ab5ab 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java --- a/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/LargeFireball.java
@@ -16,20 +16,20 @@ public class LargeFireball extends Fireball { @@ -19,20 +19,20 @@ public class LargeFireball extends Fireball {
public LargeFireball(EntityType<? extends LargeFireball> type, Level world) { public LargeFireball(EntityType<? extends LargeFireball> type, Level world) {
super(type, world); super(type, world);
@@ -284,7 +284,7 @@ index 6b67eec90cd0dc1b20762514eac97f75fdbdf182..2dec28091d1816e9d4c749a5155e8303
// CraftBukkit start - fire ExplosionPrimeEvent // CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity()); ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
index 837f68825f601971f374be47952b23108bf66ba6..422145f30b7c8e11366705cd9b974a5a89ba5e10 100644 index 2a8a8030feefae84e394460612405887e63f2ac7..577df1ad8eb57ae7a53c9931c379824a6882fa5f 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
@@ -334,7 +334,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { @@ -334,7 +334,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
@@ -297,10 +297,10 @@ index 837f68825f601971f374be47952b23108bf66ba6..422145f30b7c8e11366705cd9b974a5a
public boolean mayBreak(Level world) { public boolean mayBreak(Level world) {
diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
index 9d43c8520953d6fe0d0948f9dbe14e0650ee01c2..deee9fffe6981d7e728621cc799a812d78000592 100644 index 6724fe4470aeea338eb4cfd10a7e61fbcac1e5b7..dd38f32ac6a62905c9a79dacf85cf073fa6941b3 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java --- a/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/SmallFireball.java
@@ -24,7 +24,7 @@ public class SmallFireball extends Fireball { @@ -27,7 +27,7 @@ public class SmallFireball extends Fireball {
super(EntityType.SMALL_FIREBALL, owner, velocityX, velocityY, velocityZ, world); super(EntityType.SMALL_FIREBALL, owner, velocityX, velocityY, velocityZ, world);
// CraftBukkit start // CraftBukkit start
if (this.getOwner() != null && this.getOwner() instanceof Mob) { if (this.getOwner() != null && this.getOwner() instanceof Mob) {
@@ -310,10 +310,10 @@ index 9d43c8520953d6fe0d0948f9dbe14e0650ee01c2..deee9fffe6981d7e728621cc799a812d
// CraftBukkit end // CraftBukkit end
} }
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
index 226fb5c88dd43c8008c5237299ef80db9e847af7..2da00acac01e333c23f7d155594011dceeb50f64 100644 index 93bbf7556f9599e9dd90761085a57d78bd521867..b3912881892b4f1bca577761083c5da1568c8187 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -319,7 +319,7 @@ public abstract class Raider extends PatrollingMonster { @@ -322,7 +322,7 @@ public abstract class Raider extends PatrollingMonster {
@Override @Override
public boolean canUse() { public boolean canUse() {

View File

@@ -55,10 +55,10 @@ index 1b5cc5d6aa0b4313da980ce175c54145852d0db0..613df7b174ba4cb87314a631ebc7dfed
EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ())); EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ()));
world.getCraftServer().getPluginManager().callEvent(event); world.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
index f5f464e69bfb00f5ea493d109bdd96e459fcad46..c3d25a26883f7cbe7106c2f3415af0b18f534ee2 100644 index 400b7bbf49b1aa42eebb5d8f349a19d4ff321a7c..1b150b9fc444a248f6c01572447c7bb8eecfc76e 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java
@@ -178,6 +178,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { @@ -179,6 +179,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity {
public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) { public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) {
if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) { if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) {
if (!entity.canChangeDimensions()) return; // Purpur if (!entity.canChangeDimensions()) return; // Purpur
@@ -74,10 +74,10 @@ index f5f464e69bfb00f5ea493d109bdd96e459fcad46..c3d25a26883f7cbe7106c2f3415af0b1
blockEntity.teleportCooldown = 100; blockEntity.teleportCooldown = 100;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 39ae3335866669be54f31ee6cd10d41bc70b193c..a260e3768892dcf7ddd955cf8753d4d19cd2e8d3 100644 index 74599d29538b7072464d3bb16b6356da09513d21..61348dfaab2fe3da35ae3195b7224e4b239dddd8 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -252,6 +252,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -253,6 +253,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
// Paper end // Paper end
if ((!ignorePassengers && this.entity.isVehicle()) || this.entity.isRemoved()) { // Paper - Teleport passenger API if ((!ignorePassengers && this.entity.isVehicle()) || this.entity.isRemoved()) { // Paper - Teleport passenger API
@@ -89,7 +89,7 @@ index 39ae3335866669be54f31ee6cd10d41bc70b193c..a260e3768892dcf7ddd955cf8753d4d1
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 008da41d0fa6d80dc731e4eeb9aa4d4cb4b1873e..498310a94284c25d2e28d7de8299b80b1f34de3b 100644 index bcf3393ad12a70eea0e1b24f69fac15b08af32fb..f74e632f6be8ab2c7bdf9f5ba2ad2a2a0ef4d14e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1356,6 +1356,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -1356,6 +1356,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {

View File

@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 53e072f6070101f9c1bd24eacf1114e0a1c16305..36dd6555fb2245958ae5372b376d2329346060ea 100644 index ca0719307e4d50b3dcfe13195f1c1e680b00350c..7380008f1bd25eb459e5875f753015593135486f 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1872,7 +1872,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1885,7 +1885,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return this.isInWater() || flag; return this.isInWater() || flag;
} }
@@ -30,10 +30,10 @@ index 53e072f6070101f9c1bd24eacf1114e0a1c16305..36dd6555fb2245958ae5372b376d2329
if (entity instanceof Boat) { if (entity instanceof Boat) {
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 728814649f8d6837586cd5400b271d25b8306e35..53f36e281e42a2bfc174f06f448f1eb85eb02aff 100644 index aca5e7a2b0eab93c613b03834509366f7119ec03..40550897d5be12fcb8e1e751ee2e7a138512ce0b 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -99,10 +99,12 @@ public class ArmorStand extends LivingEntity { @@ -100,10 +100,12 @@ public class ArmorStand extends LivingEntity {
private boolean noTickPoseDirty = false; private boolean noTickPoseDirty = false;
private boolean noTickEquipmentDirty = false; private boolean noTickEquipmentDirty = false;
// Paper end - Allow ArmorStands not to tick // Paper end - Allow ArmorStands not to tick
@@ -46,7 +46,7 @@ index 728814649f8d6837586cd5400b271d25b8306e35..53f36e281e42a2bfc174f06f448f1eb8
this.handItems = NonNullList.withSize(2, ItemStack.EMPTY); this.handItems = NonNullList.withSize(2, ItemStack.EMPTY);
this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY); this.armorItems = NonNullList.withSize(4, ItemStack.EMPTY);
this.headPose = ArmorStand.DEFAULT_HEAD_POSE; this.headPose = ArmorStand.DEFAULT_HEAD_POSE;
@@ -1005,4 +1007,18 @@ public class ArmorStand extends LivingEntity { @@ -1006,4 +1008,18 @@ public class ArmorStand extends LivingEntity {
} }
} }
// Paper end // Paper end

View File

@@ -17,10 +17,10 @@ index a30732576b86bcf9c56e7d0ced8eb8490af13515..e76d1a202bea3dd94cbdbdfca9b052ca
// CraftBukkit end // CraftBukkit end
this.setServerLevel(worldserver); this.setServerLevel(worldserver);
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 36dd6555fb2245958ae5372b376d2329346060ea..e30dad61530fcc2c806465bbdaf4d2a7029e6153 100644 index 7380008f1bd25eb459e5875f753015593135486f..79f6b204668a508d2afd305f520c413f9f5fa8f1 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3148,12 +3148,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3164,12 +3164,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return Vec3.directionFromRotation(this.getRotationVector()); return Vec3.directionFromRotation(this.getRotationVector());
} }

View File

@@ -110,7 +110,7 @@ index 3d61c2d5da103de68242c16d85c703813979d179..2343325fa9a771de7b9445cda24a2bcd
public ItemStack getBucketItemStack() { public ItemStack getBucketItemStack() {
return new ItemStack(Items.COD_BUCKET); return new ItemStack(Items.COD_BUCKET);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index c501704251e5b23f697efc307ebdc906cd2e5acd..f76b0d92150fd985a8fc699f6f884527d589dfd3 100644 index 3fd310fe80b0f725746e20e8be2b3b7710467c28..4c2cc5ba3c8f15c26f01361e786d25b399747974 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -74,6 +74,11 @@ public class Cow extends Animal { @@ -74,6 +74,11 @@ public class Cow extends Animal {
@@ -126,10 +126,10 @@ index c501704251e5b23f697efc307ebdc906cd2e5acd..f76b0d92150fd985a8fc699f6f884527
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index cdbe66bc89a64f8d41ea496f2da85159f48bb8c5..a5759b711d1853ac41713dd9fe11f3da5af286ef 100644 index 3e32787cc7e96e83dc408e556a92b25607d487a9..21e804d391478c613f4f89076fd268a9eb2e2ecf 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -163,6 +163,11 @@ public class Dolphin extends WaterAnimal { @@ -164,6 +164,11 @@ public class Dolphin extends WaterAnimal {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.dolphinMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.dolphinMaxHealth);
} }
@@ -142,10 +142,10 @@ index cdbe66bc89a64f8d41ea496f2da85159f48bb8c5..a5759b711d1853ac41713dd9fe11f3da
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 292504cb09ac94f593fdde317030c7662f9e500c..9a34a59300c4ad5dfbd327aa4fd42992f73da89a 100644 index 5ddc3e997fec6417c379561f60c438386030d49d..1e04205a1707e46a1f540f5c8f6ec1b81bf1b5d7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -193,6 +193,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -197,6 +197,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
return this.level().purpurConfig.foxBreedingTicks; return this.level().purpurConfig.foxBreedingTicks;
} }
@@ -174,10 +174,10 @@ index 46e28d807a72b6d302d29d65c52ab0813cd82b1a..669132fb78d3fd72f73d4c20370f0213
protected void registerGoals() { protected void registerGoals() {
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 56427c987439c2d6d5652dae0f2c0a72d4eba26e..f01d93c6f88f543b51420ceca7a4a95829368a20 100644 index b699f88ce9480ef4da5bfb97004a9c5f62d58894..5cf206bea6d2f3155c1da73d8337bbd8e2ee7bb3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -90,6 +90,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -91,6 +91,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
return this.level().purpurConfig.mooshroomBreedingTicks; return this.level().purpurConfig.mooshroomBreedingTicks;
} }
@@ -206,10 +206,10 @@ index 3fe751839e4a1bc266b0d9508e1e3384e8f7f41e..c91ade7f4b1f04f12e38cf2c5fda1a92
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING); return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index fe6323d131acc3885108d18f884a4c7d6d2f4905..68e4e598af97946783f851a63adbaaa4a4ef0401 100644 index 2e90708da8984c18d2325bc8b5c207bd075bec52..e52a685bd2142fe702fb5f212894e6ba6008913d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -151,6 +151,11 @@ public class Panda extends Animal { @@ -152,6 +152,11 @@ public class Panda extends Animal {
return this.level().purpurConfig.pandaBreedingTicks; return this.level().purpurConfig.pandaBreedingTicks;
} }
@@ -238,10 +238,10 @@ index 3bb216b678eee290a9ec636fe4d8af9db687405a..a6189e785af61d1cbed2022d68312d9f
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 42bf69eb86b9ccfb5afaf17e319bf34ce055e033..60562089daf363f5af24fbf30a3ccd74311be289 100644 index d858d4c94fb17d14367672813b506aea9e2e4ee1..f32cc2884696db956e10d350f97376025e32e673 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -94,6 +94,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -95,6 +95,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
return this.level().purpurConfig.pigBreedingTicks; return this.level().purpurConfig.pigBreedingTicks;
} }
@@ -334,7 +334,7 @@ index df7deec204ebf99afdbfe49f9a113857dcd413c6..d1a8b15de4f4aa20d6049135bcbef94f
protected void registerGoals() { protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this); this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index fd64a12c7f215f47d366af60882981c2cc0ef04f..61943dc8238190072dbdce1e1aff1d7932c87da6 100644 index 1d70a108293a61b7813b70cc9ce600a3e7b167d5..d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -116,7 +116,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -116,7 +116,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -347,7 +347,7 @@ index fd64a12c7f215f47d366af60882981c2cc0ef04f..61943dc8238190072dbdce1e1aff1d79
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 80bdc93cba675d6c1286618f14fc33e0344c601f..57b37ac40b4ffe6c5e27548755aaa15da89a0f0b 100644 index 3166987e324c37a07b8c6b8cc78443a1022b9670..fb6fd5e00053ae8bae1f225ffd57fac787fdc2d5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -90,6 +90,11 @@ public class Squid extends WaterAnimal { @@ -90,6 +90,11 @@ public class Squid extends WaterAnimal {
@@ -379,7 +379,7 @@ index 7d02e552a27632939bb9c40a62f4e0df7bd60bbc..b16d075581a352714f86f1b87805f24c
return "entity.minecraft.tropical_fish.predefined." + variant; return "entity.minecraft.tropical_fish.predefined." + variant;
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index 20d4c1b3cf3efa79443b518ebd9a635a39b4d73b..9d9cf38f0f2ff22e220ae8c38ec824132043603f 100644 index eb1af0926c1c8990602ba4f98cec45d6a0a839aa..a8102248bf5dc1b5c7659c42239b8d418e842aac 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -113,6 +113,11 @@ public class Turtle extends Animal { @@ -113,6 +113,11 @@ public class Turtle extends Animal {
@@ -507,10 +507,10 @@ index 1de48560ac5a1db8845c98c812b2e9f9eb972123..53546e904948d03882e5f5b0a8d4256c
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound() {
return SoundEvents.MULE_AMBIENT; return SoundEvents.MULE_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 76de20b86b6b99c10379adeb303fac4371891923..688c87743446bdf5a9e2b830b8a47655d80f3284 100644 index 250a51017cfbb42730ed736a112b269a258c19af..15d9e6f795044983aa872160874386e422e77377 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -62,6 +62,11 @@ public class SkeletonHorse extends AbstractHorse { @@ -69,6 +69,11 @@ public class SkeletonHorse extends AbstractHorse {
return 6000; return 6000;
} }
@@ -520,13 +520,13 @@ index 76de20b86b6b99c10379adeb303fac4371891923..688c87743446bdf5a9e2b830b8a47655
+ } + }
+ +
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 3632fcb124be8cf77d9bebf7b861a48196252ed0..17648925f97110f2439890388f4bfbbff0917c61 100644 index 0a6cf9f0f16882c8042a333852699129402f75f2..a3c80184abcc2d884b692b90d267ab33a5406349 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -69,6 +69,11 @@ public class TraderLlama extends Llama { @@ -72,6 +72,11 @@ public class TraderLlama extends Llama {
return this.level().purpurConfig.traderLlamaBreedingTicks; return this.level().purpurConfig.traderLlamaBreedingTicks;
} }
@@ -555,10 +555,10 @@ index aaec706b7eaa6afdf7959e6dd53cc39344bb97df..dcc1d71c2eeea48669651165868899ba
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
} }
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index 066dc828681ac665e807038d1a2afccb886c3ca6..4feb8220d58474c96b57c473215ffc8efcceb35e 100644 index 39cf974313c7c0bdcd6599c6c8bec450efe0277a..0ce3acdc0bc72bba3b59d480e7e4135b3d794fca 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -191,6 +191,11 @@ public class EnderDragon extends Mob implements Enemy { @@ -192,6 +192,11 @@ public class EnderDragon extends Mob implements Enemy {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.enderDragonMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.enderDragonMaxHealth);
} }
@@ -571,10 +571,10 @@ index 066dc828681ac665e807038d1a2afccb886c3ca6..4feb8220d58474c96b57c473215ffc8e
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D); 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 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 a655c38eccc41d97cfb6d329e104bad6d9ccbc95..37e02c9c1a9d26923f394cd0a3cafb5126c76325 100644 index 3cc47b0e05621c913a3e8d04c653bafab4a86744..db5a8b93b9cefca4566d3abc2b4c55d4b4cc1003 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -117,6 +117,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -118,6 +118,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.witherMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.witherMaxHealth);
} }
@@ -625,10 +625,10 @@ index c8bac8cb738ad96003a014b468681c43512ac4c4..5dc0b3d04bfc01cd2cb004c182798408
public boolean doHurtTarget(Entity target) { public boolean doHurtTarget(Entity target) {
if (super.doHurtTarget(target)) { if (super.doHurtTarget(target)) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 160c5b72d83c5756d0c08047767b5d379e7a7dca..d340759b48741efaa31f03fb6c9ead943d2d7383 100644 index 88a1f4ee23c29daec81e1807129e4facf3c19714..eb2c80a50bd29ad4ab9ece0ce5d71f3713700fba 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -263,6 +263,11 @@ public class Creeper extends Monster implements PowerableMob { @@ -264,6 +264,11 @@ public class Creeper extends Monster implements PowerableMob {
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
} }
@@ -657,7 +657,7 @@ index e6751c1a834453be66e891d7eb94bbb66f36008c..8850d8fc54d7025d323bc273a87a609b
public boolean jockeyOnlyBaby() { public boolean jockeyOnlyBaby() {
return level().purpurConfig.drownedJockeyOnlyBaby; return level().purpurConfig.drownedJockeyOnlyBaby;
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
index 63980f518ecd00bf2fa601f65823985003111920..0defcde8fb54e61612be74cefd01b386e756b178 100644 index baa41e05f66457a6b4638915a1deab775665f01f..60787e45b605ce32b3b74ea23a6d9d9353f831a4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java --- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java +++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
@@ -53,6 +53,11 @@ public class ElderGuardian extends Guardian { @@ -53,6 +53,11 @@ public class ElderGuardian extends Guardian {
@@ -673,7 +673,7 @@ index 63980f518ecd00bf2fa601f65823985003111920..0defcde8fb54e61612be74cefd01b386
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D); return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 4ed9592387531d0880ba322b07ea776cd0b05f03..a9108661e4a5c9f9d1b9fa47d088ffb80572a67e 100644 index 93420c7e9b34b40845f12a0058e50e6fd809e6f7..065e7c0d1cd1d3bbf72b03dd73dd9e567aec642b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -95,7 +95,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -95,7 +95,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -695,10 +695,10 @@ index 4ed9592387531d0880ba322b07ea776cd0b05f03..a9108661e4a5c9f9d1b9fa47d088ffb8
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index 336a22876bcf1cdfcd9d17d22f615d45c2863589..936add0eb7204af7dc507c786cb82e0d7a76d5dc 100644 index 2cbc2f158b2bb65bfbf6b122a5b6e000252e51ce..7655e6d36e29ba8a64729e6a0688e81ffefa95fa 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java --- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java +++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -60,6 +60,11 @@ public class Endermite extends Monster { @@ -65,6 +65,11 @@ public class Endermite extends Monster {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.endermiteMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.endermiteMaxHealth);
} }
@@ -839,10 +839,10 @@ index 2bd1fce22cf01a441f75f918e036598e8fb3ee04..637b229817f9f2c3ad224f300b56a6be
public boolean isFlapping() { public boolean isFlapping() {
return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0; return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
index 6a6349c7002439965422aa4979682b4ce6dfba1e..1f64dc8442de75447c17ae4fd5483345d4b7fd3e 100644 index c4af35ac6c8ac6e76adb061bf628f6cca2e7199c..cff87c0790e3afe43e7817969a05e8d79a550bbb 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
@@ -84,6 +84,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve @@ -88,6 +88,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pillagerMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.pillagerMaxHealth);
} }
@@ -871,7 +871,7 @@ index 056fa8b12368dac5d1a12962b8ee92e87e4149b3..db5e55f2bca1d0706d24ebf7c0b5c259
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index 9efda5d6cf9a235b5039ed622e917124aae7be82..bc8e86f9e1703709f3d4bc160f4c3e1cfbc1f066 100644 index 2d8d88a3552516becdd7adb11b7706fc9bddbf96..31284660a9718503a1ce474c56d993de3126a1ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -119,6 +119,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye @@ -119,6 +119,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -887,10 +887,10 @@ index 9efda5d6cf9a235b5039ed622e917124aae7be82..bc8e86f9e1703709f3d4bc160f4c3e1c
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 49a37d294bac8205ac0a795daa300ccc8170c8a8..65203a502a970ffec622d91d25716f02e2a2fda2 100644 index 69f6306b91e535050fe8b22852503dfb0514f316..524ac7bf0ee006bb79517a113c16e290b94e325a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -69,6 +69,11 @@ public class Silverfish extends Monster { @@ -70,6 +70,11 @@ public class Silverfish extends Monster {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.silverfishMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.silverfishMaxHealth);
} }
@@ -919,10 +919,10 @@ index 23b385205fe8d1245e65a42b8a356f0127ca2f78..eec2f8deb2675ed116939105dba60a68
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 57425e062b701d3a0a5a50cb6fe904d9324be89a..e778f2ee34a42a4ffe67a6d5b8849bcf35782b74 100644 index fdfb0d1582e377e59e808e4388d660579377a286..380ea1b4ab8bf05ac5c039c77adaf73a57c4f1ee 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -75,6 +75,11 @@ public class Slime extends Mob implements Enemy { @@ -76,6 +76,11 @@ public class Slime extends Mob implements Enemy {
return level().purpurConfig.slimeRidable; return level().purpurConfig.slimeRidable;
} }
@@ -935,7 +935,7 @@ index 57425e062b701d3a0a5a50cb6fe904d9324be89a..e778f2ee34a42a4ffe67a6d5b8849bcf
public boolean dismountsUnderwater() { public boolean dismountsUnderwater() {
return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.slimeRidableInWater; return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.slimeRidableInWater;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
index a8d82057bd3105a40b18cb9c355c164a2775db14..6d6f9f04fb0f4263b780271387501ca49ff3a1de 100644 index 3f67ab84485737291aec531441d88b74f7f7522c..d3f1d7b2a5721933b0a8d697f1f6456d96ff7b76 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java --- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
@@ -75,6 +75,11 @@ public class Spider extends Monster { @@ -75,6 +75,11 @@ public class Spider extends Monster {
@@ -989,7 +989,7 @@ index 64503362c42daa39dcfa270bc50b0e2187f13a01..f0d7174eae482cef9311fb646f340af5
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
index 7b76a4dadf57d8476d4bf85e6e1861f6fd122b67..e1c7398d9640506e2404686c218da98688c6c316 100644 index 0dae7c87a9f61a7d8e493537e0aada78370bb334..fae7e1e780d0429341adf21afd57ab230b06a0a7 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java --- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
@@ -112,6 +112,11 @@ public class Vex extends Monster implements TraceableEntity { @@ -112,6 +112,11 @@ public class Vex extends Monster implements TraceableEntity {
@@ -1021,7 +1021,7 @@ index 653959246bc3ede46419fd2afbd238bc33a4047e..97087016883c8b5517d06755de19c672
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
index 462b9f85b040e3e21be8797bdc1bb6f594634f1c..4ddcba100e9f58da3c399ffdddcb8b96b584096f 100644 index 0d33b8362f94718d63d86abce05e0b0efc21e653..d6b34988ee884c4636ebd7f40e3e6a3084525316 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java --- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java +++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
@@ -81,6 +81,11 @@ public class Witch extends Raider implements RangedAttackMob { @@ -81,6 +81,11 @@ public class Witch extends Raider implements RangedAttackMob {
@@ -1069,7 +1069,7 @@ index 1d862dd019b2d024f61cfc8956430d18d94b1ebf..8cd6012b00dd5b307fd76ef0fd9c2cd9
protected Brain.Provider<Zoglin> brainProvider() { protected Brain.Provider<Zoglin> brainProvider() {
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES); return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 1bb5eb0f75dc4509377cf54054eba34e4ffd02a9..edc47e077fe44d1b817b791ddde86e052a5bf831 100644 index 4df125607985b315b078253f7ea889626e743197..94b92c6e588f871d4b0d86bb8f860a99e473a4ea 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -141,6 +141,11 @@ public class Zombie extends Monster { @@ -141,6 +141,11 @@ public class Zombie extends Monster {
@@ -1165,10 +1165,10 @@ index 04e54c241078e6cd6419a21ba1bf913fd3b413d1..b63d87df0f48dd63c89118f91b31dc4e
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D); return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index b8675cb1a69f675585c040b2f47172dfe9235d08..cd59f262572df87b28b33f98a3dc667b4c5b3072 100644 index 430e660f74ee523d0bb98e21784f32158495de7a..870330f95fa1c1b4b8fb5f5e59a9770fb9389eb5 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -190,6 +190,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -191,6 +191,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return level().purpurConfig.villagerCanBeLeashed && !this.isLeashed(); return level().purpurConfig.villagerCanBeLeashed && !this.isLeashed();
} }
@@ -1181,10 +1181,10 @@ index b8675cb1a69f675585c040b2f47172dfe9235d08..cd59f262572df87b28b33f98a3dc667b
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 8ab868c88e37fad978ffcf151ad527e57bdf4cb5..027e86e504d0e4291deae0641f0e5b40686e6ccb 100644 index 6f30c22fe0058320b995570c9af7b15ae917dd76..381e86286eabdbc254cd8901c498dd781521ed4d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -97,6 +97,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -98,6 +98,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return level().purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed(); return level().purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
} }
@@ -1197,7 +1197,7 @@ index 8ab868c88e37fad978ffcf151ad527e57bdf4cb5..027e86e504d0e4291deae0641f0e5b40
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cd4a14bd5d13b41d02ad68ddf31fd3648f933850..bab1a72f8a165ba9df57187296f242287d57f300 100644 index 26a62a67b80b520246c0b118900fa2db20c96fcf..b4b9520cbd113abfd8cb99168c7f90ad3c83c563 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -568,11 +568,13 @@ public class PurpurWorldConfig { @@ -568,11 +568,13 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] End crystal explosion options
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index aa75a9229210302dbccd6186439c3c35481ef46c..ea7075dd4a9bc466d850cabc69199d56e48c825a 100644 index c0c8bdfbab17d8a10d616e2625ebfa7babf5fab3..24ad1bae912fa6ee82ea8b6bdbb0af664dc1006c 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -48,6 +48,22 @@ public class EndCrystal extends Entity { @@ -49,6 +49,22 @@ public class EndCrystal extends Entity {
this.setPos(x, y, z); this.setPos(x, y, z);
} }
@@ -32,8 +32,8 @@ index aa75a9229210302dbccd6186439c3c35481ef46c..ea7075dd4a9bc466d850cabc69199d56
protected Entity.MovementEmission getMovementEmission() { protected Entity.MovementEmission getMovementEmission() {
return Entity.MovementEmission.NONE; return Entity.MovementEmission.NONE;
@@ -173,16 +189,18 @@ public class EndCrystal extends Entity { @@ -173,16 +189,18 @@ public class EndCrystal extends Entity {
}
// CraftBukkit end // CraftBukkit end
this.remove(Entity.RemovalReason.KILLED);
if (!source.is(DamageTypeTags.IS_EXPLOSION)) { if (!source.is(DamageTypeTags.IS_EXPLOSION)) {
+ if (shouldExplode()) {// Purpur + if (shouldExplode()) {// Purpur
DamageSource damagesource1 = source.getEntity() != null ? this.damageSources().explosion(this, source.getEntity()) : null; DamageSource damagesource1 = source.getEntity() != null ? this.damageSources().explosion(this, source.getEntity()) : null;
@@ -42,16 +42,16 @@ index aa75a9229210302dbccd6186439c3c35481ef46c..ea7075dd4a9bc466d850cabc69199d56
- ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, 6.0F, false); - ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, 6.0F, false);
+ ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, getExplosionPower(), hasExplosionFire()); // Purpur + ExplosionPrimeEvent event = CraftEventFactory.callExplosionPrimeEvent(this, getExplosionPower(), hasExplosionFire()); // Purpur
if (event.isCancelled()) { if (event.isCancelled()) {
this.unsetRemoved();
return false; return false;
} }
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.EXPLODE); // CraftBukkit - add Bukkit remove cause
- this.level().explode(this, damagesource1, (ExplosionDamageCalculator) null, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.BLOCK); - this.level().explode(this, damagesource1, (ExplosionDamageCalculator) null, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), Level.ExplosionInteraction.BLOCK);
+ this.level().explode(this, damagesource1, (ExplosionDamageCalculator) null, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), getExplosionEffect()); // Purpur + this.level().explode(this, damagesource1, (ExplosionDamageCalculator) null, this.getX(), this.getY(), this.getZ(), event.getRadius(), event.getFire(), getExplosionEffect()); // Purpur
// CraftBukkit end
+ } else this.unsetRemoved(); // Purpur + } else this.unsetRemoved(); // Purpur
} else {
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
} }
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f1e99cc608fb9afab44c2c960c7b74468ec62c07..40ca971f169bd07da0a2f7ba37e3a4aa534d0c7e 100644 index f1e99cc608fb9afab44c2c960c7b74468ec62c07..40ca971f169bd07da0a2f7ba37e3a4aa534d0c7e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index df8baf2059cdfed3f0c43496fba843b8b6819281..aa10cd2e0ee7b0d421c223de390e671d401f87fc 100644 index 0ce3acdc0bc72bba3b59d480e7e4135b3d794fca..ff4b188084d43af9e8ed60e6a77996018e589807 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1189,6 +1189,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -1190,6 +1190,7 @@ public class EnderDragon extends Mob implements Enemy {
@Override @Override
protected boolean canRide(Entity entity) { protected boolean canRide(Entity entity) {
@@ -17,10 +17,10 @@ index df8baf2059cdfed3f0c43496fba843b8b6819281..aa10cd2e0ee7b0d421c223de390e671d
} }
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 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 73930b4eea2bd632c390b79118ecafad84cfa44a..ac7e54e2bfc1ca41fd8082c453c1f99fa89e77c2 100644 index db5a8b93b9cefca4566d3abc2b4c55d4b4cc1003..06f4bbbbdf3a3c49035df9edc258e6bda87b53fc 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -739,6 +739,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -740,6 +740,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@Override @Override
protected boolean canRide(Entity entity) { protected boolean canRide(Entity entity) {
@@ -29,7 +29,7 @@ index 73930b4eea2bd632c390b79118ecafad84cfa44a..ac7e54e2bfc1ca41fd8082c453c1f99f
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4d7d111a2cb6f02d3263174af9e70548be0fe971..ecfbfc843b534196ff19c2e45989f0271f9e8105 100644 index 40ca971f169bd07da0a2f7ba37e3a4aa534d0c7e..6d017d5d3cfe8581936b8f1fb58656ff2b2fdf95 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -947,6 +947,7 @@ public class PurpurWorldConfig { @@ -947,6 +947,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2a5d3d5c0a337933c62e1168de1a595a92bc5444..9c240ce04337458395aea35aab7d97a9f592f008 100644 index 0461debc992ad7812a28ea73f3e18d5c0c22f700..f1a8918afe7e13fa0ba61566d3ad1b364a6e71dc 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2348,6 +2348,20 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2356,6 +2356,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
} }

View File

@@ -8,10 +8,10 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
- Endermite spawn chance - Endermite spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index 3be611e7ae35b696ba44cd361042f79b69391815..0de1cda80c57c3552d243780d5aa368675b915e8 100644 index 28690877c443ceb2bdf20e6d251c9d32f667814c..b004f072d2a67ad9fb39dd6fbd3a30c94016202f 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -70,7 +70,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { @@ -71,7 +71,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
Bukkit.getPluginManager().callEvent(teleEvent); Bukkit.getPluginManager().callEvent(teleEvent);
if (!teleEvent.isCancelled() && entityplayer.connection.isAcceptingMessages()) { if (!teleEvent.isCancelled() && entityplayer.connection.isAcceptingMessages()) {
@@ -20,7 +20,7 @@ index 3be611e7ae35b696ba44cd361042f79b69391815..0de1cda80c57c3552d243780d5aa3686
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level()); Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
if (entityendermite != null) { if (entityendermite != null) {
@@ -85,7 +85,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { @@ -86,7 +86,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
entityplayer.connection.teleport(teleEvent.getTo()); entityplayer.connection.teleport(teleEvent.getTo());
entity.resetFallDistance(); entity.resetFallDistance();

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Add back player spawned endermite API
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec3ec17939 100644 index 7655e6d36e29ba8a64729e6a0688e81ffefa95fa..67f3928f4a03a8d546c55e46a1f094a354ac412d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java --- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java +++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -32,6 +32,7 @@ import org.joml.Vector3f; @@ -37,6 +37,7 @@ public class Endermite extends Monster {
public class Endermite extends Monster {
private static final int MAX_LIFE = 2400; private static final int MAX_LIFE = 2400;
public int life; public int life;
+ private boolean isPlayerSpawned; // Purpur + private boolean isPlayerSpawned; // Purpur
public Endermite(EntityType<? extends Endermite> type, Level world) { public Endermite(EntityType<? extends Endermite> type, Level world) {
super(type, world); super(type, world);
@@ -65,6 +66,14 @@ public class Endermite extends Monster { @@ -70,6 +71,14 @@ public class Endermite extends Monster {
return this.level().purpurConfig.endermiteTakeDamageFromWater; return this.level().purpurConfig.endermiteTakeDamageFromWater;
} }
@@ -31,7 +31,7 @@ index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this)); this.goalSelector.addGoal(1, new FloatGoal(this));
@@ -117,12 +126,14 @@ public class Endermite extends Monster { @@ -122,12 +131,14 @@ public class Endermite extends Monster {
public void readAdditionalSaveData(CompoundTag nbt) { public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt); super.readAdditionalSaveData(nbt);
this.life = nbt.getInt("Lifetime"); this.life = nbt.getInt("Lifetime");
@@ -47,10 +47,10 @@ index 936add0eb7204af7dc507c786cb82e0d7a76d5dc..c0c3ab5dbf5987e543e6cdd1a814d2ec
@Override @Override
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
index f9cd39a4f8ec5cdade311984d863b64f8f845fb7..59cc9e9a56898c7bdc5474842c31d2fbe6a81897 100644 index b004f072d2a67ad9fb39dd6fbd3a30c94016202f..326d1db39e3d3cd46cb5a584e2a7b82dd46ff8fa 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
@@ -74,6 +74,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile { @@ -75,6 +75,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level()); Endermite entityendermite = (Endermite) EntityType.ENDERMITE.create(this.level());
if (entityendermite != null) { if (entityendermite != null) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Config to make Creepers explode on death
Creepers exploded after being killed in the alpha days. This brings that back. Creepers exploded after being killed in the alpha days. This brings that back.
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470d167443b 100644 index eb2c80a50bd29ad4ab9ece0ce5d71f3713700fba..743d888c07450ea9e2367d169e20a583b51f7be0 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -63,6 +63,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -64,6 +64,7 @@ public class Creeper extends Monster implements PowerableMob {
private int spacebarCharge = 0; private int spacebarCharge = 0;
private int prevSpacebarCharge = 0; private int prevSpacebarCharge = 0;
private int powerToggleDelay = 0; private int powerToggleDelay = 0;
@@ -17,7 +17,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
// Purpur end // Purpur end
public Creeper(EntityType<? extends Creeper> type, Level world) { public Creeper(EntityType<? extends Creeper> type, Level world) {
@@ -268,6 +269,14 @@ public class Creeper extends Monster implements PowerableMob { @@ -269,6 +270,14 @@ public class Creeper extends Monster implements PowerableMob {
return this.level().purpurConfig.creeperTakeDamageFromWater; return this.level().purpurConfig.creeperTakeDamageFromWater;
} }
@@ -32,7 +32,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
@Override @Override
protected SoundEvent getHurtSound(DamageSource source) { protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT; return SoundEvents.CREEPER_HURT;
@@ -359,6 +368,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -360,6 +369,7 @@ public class Creeper extends Monster implements PowerableMob {
} }
public void explodeCreeper() { public void explodeCreeper() {
@@ -40,7 +40,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
float f = this.isPowered() ? 2.0F : 1.0F; float f = this.isPowered() ? 2.0F : 1.0F;
@@ -377,7 +387,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -378,7 +388,7 @@ public class Creeper extends Monster implements PowerableMob {
} }
// CraftBukkit end // CraftBukkit end
} }
@@ -50,7 +50,7 @@ index 63d51f6f792f951a1db5f8f7c9b359898968cd85..f043b6da9649c8c9e6a9cf5172e95470
private void spawnLingeringCloud() { private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f2357e851fcea101d1a6f262ff88561b774032b0..44b98e5030bef02ab05a9686fdfc711fa78ec072 100644 index 238f8dd90bbf9897cb28c4783ad43382be0a836a..78d088e0ae3186f72dc8898a65ef2983e7d608ab 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -851,6 +851,7 @@ public class PurpurWorldConfig { @@ -851,6 +851,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for villager trading
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 9ed51efc1a42a792b652e7c958c06fa5b572e4bf..6857eeb9a93850594cbdb634dfbdf6cb6d82ced5 100644 index 870330f95fa1c1b4b8fb5f5e59a9770fb9389eb5..ee509b5eea71c17ff466fb93fe63168710065add 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -372,7 +372,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -373,7 +373,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur
} else { } else {
if (level().purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur if (level().purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
@@ -18,10 +18,10 @@ index 9ed51efc1a42a792b652e7c958c06fa5b572e4bf..6857eeb9a93850594cbdb634dfbdf6cb
} }
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 5a373ba4d9e404c064bc158718d02c0cd2aca548..d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5 100644 index 381e86286eabdbc254cd8901c498dd781521ed4d..657fdbabf18da7ab321e8e95a31d53362c605380 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -153,7 +153,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -154,7 +154,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur return tryRide(player, hand, InteractionResult.sidedSuccess(this.level().isClientSide)); // Purpur
} else { } else {
if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur if (level().purpurConfig.wanderingTraderRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
@@ -31,7 +31,7 @@ index 5a373ba4d9e404c064bc158718d02c0cd2aca548..d672c1e381e5c4a4b79a1dfb96f1410e
this.openTradingScreen(player, this.getDisplayName(), 1); this.openTradingScreen(player, this.getDisplayName(), 1);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e51a38ca916e91255c46b864e45428a364e59539..9aa6a3f69afb0fd70ac60ca0d50d564dd7d3fe54 100644 index adb72146f6d6fd1389d99f833115ff8bc68f925b..ab999a2a71d1a04bce176d81844cecbf5760157d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2123,6 +2123,7 @@ public class PurpurWorldConfig { @@ -2123,6 +2123,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index e30dad61530fcc2c806465bbdaf4d2a7029e6153..7579c2d4c716695ab1854a055bc595d7b55201e5 100644 index 79f6b204668a508d2afd305f520c413f9f5fa8f1..b14b99b8f0ce427da999e486bfed84ad38a19d8c 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3397,7 +3397,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3413,7 +3413,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
public int getMaxAirSupply() { public int getMaxAirSupply() {
@@ -18,10 +18,10 @@ index e30dad61530fcc2c806465bbdaf4d2a7029e6153..7579c2d4c716695ab1854a055bc595d7
public int getAirSupply() { public int getAirSupply() {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9c240ce04337458395aea35aab7d97a9f592f008..99673b3df82d40dfebc313935061e3fa79a3a59c 100644 index f1a8918afe7e13fa0ba61566d3ad1b364a6e71dc..fa289f634d4a674d6cb5d9633ae6d1997a02fd59 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -438,7 +438,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -439,7 +439,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (flag1) { if (flag1) {
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply())); this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
@@ -30,7 +30,7 @@ index 9c240ce04337458395aea35aab7d97a9f592f008..99673b3df82d40dfebc313935061e3fa
this.setAirSupply(0); this.setAirSupply(0);
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
@@ -450,7 +450,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -451,7 +451,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z); this.level().addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to show Armor Stand arms on spawn
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index 5332e072e3c278a1d9769feb783b9419020a36d1..1ea348b6007d8aebf1e0f29018a03eb10c445369 100644 index 40550897d5be12fcb8e1e751ee2e7a138512ce0b..fef18455da5ae020f9875663984b26e54a1c4bf7 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java --- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -114,6 +114,7 @@ public class ArmorStand extends LivingEntity { @@ -115,6 +115,7 @@ public class ArmorStand extends LivingEntity {
this.leftLegPose = ArmorStand.DEFAULT_LEFT_LEG_POSE; this.leftLegPose = ArmorStand.DEFAULT_LEFT_LEG_POSE;
this.rightLegPose = ArmorStand.DEFAULT_RIGHT_LEG_POSE; this.rightLegPose = ArmorStand.DEFAULT_RIGHT_LEG_POSE;
this.setMaxUpStep(0.0F); this.setMaxUpStep(0.0F);
@@ -17,7 +17,7 @@ index 5332e072e3c278a1d9769feb783b9419020a36d1..1ea348b6007d8aebf1e0f29018a03eb1
public ArmorStand(Level world, double x, double y, double z) { public ArmorStand(Level world, double x, double y, double z) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 40afefd48f10068c48f2db6524c1c24cb5348c28..f023b83b2e7084ee661673080c4573c4bce9f355 100644 index b8d5b60abe228456e62b5bee33bb65d19c9f71d4..d4afdff36ef3fe477ca4b8dfe2cf44965d73dc50 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -102,6 +102,7 @@ public class PurpurWorldConfig { @@ -102,6 +102,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config to change max number of bees
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
index dfd364ac4b7551a13c4c6c100b5e62c0dfb10595..312ee43ad1a35918fc359f7ebb5742004212b931 100644 index 55b0e2bf98a285cdcd30e40d94192b7a1802efd8..b37b7f58d59616cd409bbab701659c8e8879ccc7 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
@@ -43,7 +43,7 @@ public class BeehiveBlockEntity extends BlockEntity { @@ -47,7 +47,7 @@ public class BeehiveBlockEntity extends BlockEntity {
private final List<BeehiveBlockEntity.BeeData> stored = Lists.newArrayList(); private final List<BeehiveBlockEntity.BeeData> stored = Lists.newArrayList();
@Nullable @Nullable
public BlockPos savedFlowerPos; public BlockPos savedFlowerPos;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for wither explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java 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 d57ef27df0a3597416564f8723b4b986413ad314..aa5ce9625bf23885a55521cbb4d994b684a5cf61 100644 index 8abc8a28ae74dc78f53b9fb38fb31b47a0a42d94..beaa7e817fb923b9cb1a9df63ddce3fe9e087061 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java --- a/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java +++ b/src/main/java/net/minecraft/world/entity/projectile/WitherSkull.java
@@ -98,7 +98,7 @@ public class WitherSkull extends AbstractHurtingProjectile { @@ -99,7 +99,7 @@ public class WitherSkull extends AbstractHurtingProjectile {
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
// CraftBukkit start // CraftBukkit start
// this.level().explode(this, this.getX(), this.getY(), this.getZ(), 1.0F, false, World.a.MOB); // this.level().explode(this, this.getX(), this.getY(), this.getZ(), 1.0F, false, World.a.MOB);
@@ -18,7 +18,7 @@ index d57ef27df0a3597416564f8723b4b986413ad314..aa5ce9625bf23885a55521cbb4d994b6
if (!event.isCancelled()) { if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 960dfb5f343bc0c1dcd17271594e33471a191b83..cd1fd91c9b0c1e4627f918d97338c1e87bcc0601 100644 index 50373f138db63443dee0ca28781ae0a0cc65fa24..8b7c68d7d7ae77ba216a004724d088956a1dfce4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2290,6 +2290,7 @@ public class PurpurWorldConfig { @@ -2290,6 +2290,7 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
Ported from https://github.com/raltsmc/mobblindness Ported from https://github.com/raltsmc/mobblindness
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 99673b3df82d40dfebc313935061e3fa79a3a59c..e997844c0cead8eef82a8025283d43163b1a6848 100644 index fa289f634d4a674d6cb5d9633ae6d1997a02fd59..926962fc5631faa4672c8dd2fdb72b9ef6947292 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1037,6 +1037,17 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1045,6 +1045,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) { if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.PIGLIN && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.PIGLIN_BRUTE && itemstack.is(Items.PIGLIN_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
d0 *= 0.5D; d0 *= 0.5D;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for health to impact Creeper explosion radius
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index f043b6da9649c8c9e6a9cf5172e95470d167443b..1a33d4e855a85b0a0d51c29dbb4042d30918684c 100644 index 743d888c07450ea9e2367d169e20a583b51f7be0..a3cc2e3ae32984e11f4e91421d663f0fe7c7b236 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -371,9 +371,10 @@ public class Creeper extends Monster implements PowerableMob { @@ -372,9 +372,10 @@ public class Creeper extends Monster implements PowerableMob {
this.exploding = true; // Purpur this.exploding = true; // Purpur
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
float f = this.isPowered() ? 2.0F : 1.0F; float f = this.isPowered() ? 2.0F : 1.0F;
@@ -21,7 +21,7 @@ index f043b6da9649c8c9e6a9cf5172e95470d167443b..1a33d4e855a85b0a0d51c29dbb4042d3
// CraftBukkit end // CraftBukkit end
this.dead = true; this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1af16bbaab355022d183e71828a866686347ec0f..59cb375fce3f2917d86617854a18dfa55766daf4 100644 index 3d582716df3cbdec2f1c2dbaf567e829406c21a1..8694ba3aea41f83d16d0a761b922b6b248e5942f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -928,6 +928,7 @@ public class PurpurWorldConfig { @@ -928,6 +928,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add config change multiplier critical damage value
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index ad4046a24f04845e794d1e446e12eb6c5c581d14..2289e7bc32e0d2833e73f9d21c37487cd369b25f 100644 index 73f8aeb1b5253cfd7d5502d506677a3ef906625e..28dca8464a75487566e5d2efac1ec3fe42e6c410 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1315,7 +1315,7 @@ public abstract class Player extends LivingEntity { @@ -1316,7 +1316,7 @@ public abstract class Player extends LivingEntity {
flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits flag2 = flag2 && !this.level().paperConfig().entities.behavior.disablePlayerCrits; // Paper - Toggleable player crits
flag2 = flag2 && !this.isSprinting(); flag2 = flag2 && !this.isSprinting();
if (flag2) { if (flag2) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bee can work when raining or at night
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 0db5e35b8e4a186c8ef150a1b0f072e10573136e..a4c6ea94be1c1a610c6141328192a29052b9f157 100644 index 52a7a8b35cf0f7b52d5de253b21f7713ab261544..8d80055253008bb1b2ed77e91a1c51c995208dac 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -406,7 +406,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -406,7 +406,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -18,10 +18,10 @@ index 0db5e35b8e4a186c8ef150a1b0f072e10573136e..a4c6ea94be1c1a610c6141328192a290
return flag && !this.isHiveNearFire(); return flag && !this.isHiveNearFire();
} else { } else {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
index 312ee43ad1a35918fc359f7ebb5742004212b931..8a163b5d3c7759abe4fe84bfec788a15fddc1e44 100644 index b37b7f58d59616cd409bbab701659c8e8879ccc7..dc5bcf8f7662bd1feb4375605f27c320878bf7e0 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
@@ -203,7 +203,7 @@ public class BeehiveBlockEntity extends BlockEntity { @@ -207,7 +207,7 @@ public class BeehiveBlockEntity extends BlockEntity {
} }
private static boolean releaseBee(Level world, BlockPos blockposition, BlockState iblockdata, BeehiveBlockEntity.BeeData tileentitybeehive_hivebee, @Nullable List<Entity> list, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, @Nullable BlockPos blockposition1, boolean force) { private static boolean releaseBee(Level world, BlockPos blockposition, BlockState iblockdata, BeehiveBlockEntity.BeeData tileentitybeehive_hivebee, @Nullable List<Entity> list, BeehiveBlockEntity.BeeReleaseStatus tileentitybeehive_releasestatus, @Nullable BlockPos blockposition1, boolean force) {
@@ -31,7 +31,7 @@ index 312ee43ad1a35918fc359f7ebb5742004212b931..8a163b5d3c7759abe4fe84bfec788a15
return false; return false;
} else { } else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e50d8cb072acd403c285fee9a0df80e4d5946846..3973c8fb88ed33264e21d94b56425389c95b54a1 100644 index 96d04052d419e4b74826c63fb4a687bf7490d4c1..7d89fc67d4f9b58697ff317a0c526be8e612e37a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -764,6 +764,8 @@ public class PurpurWorldConfig { @@ -764,6 +764,8 @@ public class PurpurWorldConfig {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
Co-authored by: Encode42 <me@encode42.dev> Co-authored by: Encode42 <me@encode42.dev>
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7579c2d4c716695ab1854a055bc595d7b55201e5..f8f311e0e4715a8d648d743c0b5a664b7f004efe 100644 index b14b99b8f0ce427da999e486bfed84ad38a19d8c..d79cbbcf0e6e6e6096e138be2617b727ea991c18 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -561,6 +561,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -562,6 +562,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
return true; return true;
} }
@@ -32,10 +32,10 @@ index 7579c2d4c716695ab1854a055bc595d7b55201e5..f8f311e0e4715a8d648d743c0b5a664b
return this.hardCollides; return this.hardCollides;
} }
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4fa799ca43 100644 index 926962fc5631faa4672c8dd2fdb72b9ef6947292..4af345c848040fabdde82b4f0493ba796a7fef1f 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -263,6 +263,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
@@ -43,7 +43,7 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
@Override @Override
public float getBukkitYaw() { public float getBukkitYaw() {
@@ -803,6 +804,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -811,6 +812,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> { dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
nbt.put("Brain", nbtbase); nbt.put("Brain", nbtbase);
}); });
@@ -51,7 +51,7 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
} }
@Override @Override
@@ -889,6 +891,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -897,6 +899,11 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain"))); this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
} }
@@ -63,7 +63,7 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
} }
// CraftBukkit start // CraftBukkit start
@@ -3599,6 +3606,27 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3607,6 +3614,27 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().drown(), 1.0F); this.hurt(this.damageSources().drown(), 1.0F);
} }
@@ -92,10 +92,10 @@ index e997844c0cead8eef82a8025283d43163b1a6848..1ebc5cfac7e7e47e1e9c10a90d707a4f
public boolean isSensitiveToWater() { public boolean isSensitiveToWater() {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index c5cf5e84893f137ee4bead287e80eb57ff1a7407..8588f230724e7fec2093b0b5c8c80b3d1944ce47 100644 index 56ba7ac3d9d1f65de84f98eb724761d6bb374d47..380834677c93a23879a9e53173fa835ebd22f584 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1765,17 +1765,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1766,17 +1766,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
public boolean isSunBurnTick() { public boolean isSunBurnTick() {
@@ -354,10 +354,10 @@ index 94b92c6e588f871d4b0d86bb8f860a99e473a4ea..e568d014f577ab705645152446156dc0
// Paper end - Add more Zombie API // Paper end - Add more Zombie API
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index a260e3768892dcf7ddd955cf8753d4d19cd2e8d3..9304a2d06400dfa244ddb4d9591de988b334c3cf 100644 index 61348dfaab2fe3da35ae3195b7224e4b239dddd8..897f9f5d25c674f167530810c0b94bca83c3c3cc 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -83,6 +83,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -84,6 +84,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType()); this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
} }
@@ -370,7 +370,7 @@ index a260e3768892dcf7ddd955cf8753d4d19cd2e8d3..9304a2d06400dfa244ddb4d9591de988
Preconditions.checkArgument(entity != null, "Unknown entity"); Preconditions.checkArgument(entity != null, "Unknown entity");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 1bcd9d9729952e68c56ff6e169ace11611b44e97..332c553db22aaeb0cda5e628c5e464e130c7abb0 100644 index 1d889c7476149431693f4c6125857f33c89b13a2..9730a5469f81687cfde0a19a58d1c2147588d1d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -1173,5 +1173,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -1173,5 +1173,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for sand duping fix
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index 9daf8aa557d9f4fdbcc138a47892ea5a061dd877..3a25741693a8fd08ac4308da3f178155c28bf46b 100644 index 0aef6a8d51cb1351daaea16022f5cbb27ceaff0d..65cb5994142351e2b19f6d4ff2963f9ae7752205 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -133,7 +133,7 @@ public class FallingBlockEntity extends Entity { @@ -134,7 +134,7 @@ public class FallingBlockEntity extends Entity {
@Override @Override
public void tick() { public void tick() {
// Paper start - fix sand duping // Paper start - fix sand duping
@@ -17,7 +17,7 @@ index 9daf8aa557d9f4fdbcc138a47892ea5a061dd877..3a25741693a8fd08ac4308da3f178155
return; return;
} }
// Paper end - fix sand duping // Paper end - fix sand duping
@@ -149,7 +149,7 @@ public class FallingBlockEntity extends Entity { @@ -150,7 +150,7 @@ public class FallingBlockEntity extends Entity {
this.move(MoverType.SELF, this.getDeltaMovement()); this.move(MoverType.SELF, this.getDeltaMovement());
// Paper start - fix sand duping // Paper start - fix sand duping
@@ -27,7 +27,7 @@ index 9daf8aa557d9f4fdbcc138a47892ea5a061dd877..3a25741693a8fd08ac4308da3f178155
} }
// Paper end - fix sand duping // Paper end - fix sand duping
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 072387303cf013876e6d13ccd6646e7f197bf7ac..77fa5b91ac5a65d2dce6195214c39dbff4aa6c8b 100644 index 991e8491c5bc254eb2ba0cbdcd06cb410d286fbb..6fb87c1ab0397d4c659dc69f33d0a4743c4d0dcd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -683,6 +683,11 @@ public class PurpurWorldConfig { @@ -683,6 +683,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index f8f311e0e4715a8d648d743c0b5a664b7f004efe..079cf12c01df7ebb1c9c29a4efa1b94dea4d0d78 100644 index d79cbbcf0e6e6e6096e138be2617b727ea991c18..c868a61d73b4563807c70c9539f63cb0645a9984 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -3222,7 +3222,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3238,7 +3238,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
this.processPortalCooldown(); this.processPortalCooldown();

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Burp delay, burp after eating food fills hunger bar
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784aea10d9f 100644 index 28dca8464a75487566e5d2efac1ec3fe42e6c410..f8b444583cc48a18a68c860ba933c0c1834578be 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity { @@ -184,6 +184,7 @@ public abstract class Player extends LivingEntity {
public boolean affectsSpawning = true; // Paper - Affects Spawning API public boolean affectsSpawning = true; // Paper - Affects Spawning API
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
public int sixRowEnderchestSlotCount = -1; // Purpur public int sixRowEnderchestSlotCount = -1; // Purpur
@@ -17,7 +17,7 @@ index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784
// CraftBukkit start // CraftBukkit start
public boolean fauxSleeping; public boolean fauxSleeping;
@@ -258,6 +259,12 @@ public abstract class Player extends LivingEntity { @@ -259,6 +260,12 @@ public abstract class Player extends LivingEntity {
@Override @Override
public void tick() { public void tick() {
@@ -30,7 +30,7 @@ index 2289e7bc32e0d2833e73f9d21c37487cd369b25f..5259d5a17b162700737acc5583560784
this.noPhysics = this.isSpectator(); this.noPhysics = this.isSpectator();
if (this.isSpectator()) { if (this.isSpectator()) {
this.setOnGround(false); this.setOnGround(false);
@@ -2314,7 +2321,7 @@ public abstract class Player extends LivingEntity { @@ -2322,7 +2329,7 @@ public abstract class Player extends LivingEntity {
public ItemStack eat(Level world, ItemStack stack) { public ItemStack eat(Level world, ItemStack stack) {
this.getFoodData().eat(stack.getItem(), stack); this.getFoodData().eat(stack.getItem(), stack);
this.awardStat(Stats.ITEM_USED.get(stack.getItem())); this.awardStat(Stats.ITEM_USED.get(stack.getItem()));

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow player join full server by permission
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 1f17abac0d9ae19b2d3a5c28a19a6e8a69b6e380..d1afad129159d5ce7cf9530a7dfb6ed5b4fa25f3 100644 index 89ba5789c6d6e4fe8360a854f0a6123036a5a792..1b8b0bafce3352bd65d570ac7cb4ea3acdfe991d 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -754,7 +754,7 @@ public abstract class PlayerList { @@ -755,7 +755,7 @@ public abstract class PlayerList {
event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure event.disallow(PlayerLoginEvent.Result.KICK_BANNED, io.papermc.paper.adventure.PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure
} else { } else {
// return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add portal permission bypass
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 5259d5a17b162700737acc5583560784aea10d9f..0fba4859f63c272a1256d3d6cde23609cd165708 100644 index f8b444583cc48a18a68c860ba933c0c1834578be..992ac6cfba700839259b973fa1eabb5ce6c301af 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -184,6 +184,7 @@ public abstract class Player extends LivingEntity { @@ -185,6 +185,7 @@ public abstract class Player extends LivingEntity {
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage
public int sixRowEnderchestSlotCount = -1; // Purpur public int sixRowEnderchestSlotCount = -1; // Purpur
public int burpDelay = 0; // Purpur public int burpDelay = 0; // Purpur
@@ -16,7 +16,7 @@ index 5259d5a17b162700737acc5583560784aea10d9f..0fba4859f63c272a1256d3d6cde23609
// CraftBukkit start // CraftBukkit start
public boolean fauxSleeping; public boolean fauxSleeping;
@@ -475,7 +476,7 @@ public abstract class Player extends LivingEntity { @@ -476,7 +477,7 @@ public abstract class Player extends LivingEntity {
@Override @Override
public int getPortalWaitTime() { public int getPortalWaitTime() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Summoner API
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index 1ffb8e1c386fc85796432281ac407a935169b186..c2817324ff57860ea2628dc4ac8e78b76cf67a5a 100644 index 75a44fdb1228233ac2abe1d33bde8d978a8a994b..02506902ca7e6f4e4c0fea47499cb8766e33960f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -60,6 +60,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -60,6 +60,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -49,7 +49,7 @@ index 1ffb8e1c386fc85796432281ac407a935169b186..c2817324ff57860ea2628dc4ac8e78b7
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index a1efde792eaa3f80cd0c7c48e38bbd07e1eb5c9d..20f2fd0edf290d448d06e4772b5947fc7865c20b 100644 index d46ab4d56e4c34b4dbe7a3df0785ab8745fcd3b9..81a88d510d7f52ca6a1c9cca991c22c3bdaf6b0d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -93,10 +93,10 @@ index a1efde792eaa3f80cd0c7c48e38bbd07e1eb5c9d..20f2fd0edf290d448d06e4772b5947fc
} }
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 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 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11cc61f5863 100644 index 06f4bbbbdf3a3c49035df9edc258e6bda87b53fc..b5ce9576ce7e91204f981c86fe70abb4cd0f267f 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/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 @@ -85,6 +85,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable(); return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable();
}; };
private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR); private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR);
@@ -104,7 +104,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
private int shootCooldown = 0; // Purpur private int shootCooldown = 0; // Purpur
// Paper start // Paper start
private boolean canPortal = false; private boolean canPortal = false;
@@ -122,6 +123,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -123,6 +124,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
return this.level().purpurConfig.witherTakeDamageFromWater; return this.level().purpurConfig.witherTakeDamageFromWater;
} }
@@ -120,7 +120,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
@Override @Override
protected PathNavigation createNavigation(Level world) { protected PathNavigation createNavigation(Level world) {
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world); FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
@@ -256,6 +266,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -257,6 +267,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putInt("Invul", this.getInvulnerableTicks()); nbt.putInt("Invul", this.getInvulnerableTicks());
@@ -128,7 +128,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
} }
@Override @Override
@@ -265,6 +276,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -266,6 +277,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
if (this.hasCustomName()) { if (this.hasCustomName()) {
this.bossEvent.setName(this.getDisplayName()); this.bossEvent.setName(this.getDisplayName());
} }
@@ -137,7 +137,7 @@ index 81084ec809a2c4602d92f3736fab4eeaf80e6fa4..2447d89f1219736bda0ee80bb5dcf11c
} }
diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
index a63733fa01dc58b3c0abb28c1cd88c8b0a456083..75ef899fcd063dd7770aefaca69a6936cccfa620 100644 index cdd7ab3fe589d089c0c03508721f46f6c136fc8a..6f148028c0fe503e9f6b327596d0954ce9e53269 100644
--- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java --- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java
@@ -71,7 +71,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock { @@ -71,7 +71,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 0fba4859f63c272a1256d3d6cde23609cd165708..d0204938816f3e74b0845b9a62f4b6ad44d2dd02 100644 index 992ac6cfba700839259b973fa1eabb5ce6c301af..e8000f236d3ec0476ec782f08e159eea6c99476a 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2042,6 +2042,11 @@ public abstract class Player extends LivingEntity { @@ -2050,6 +2050,11 @@ public abstract class Player extends LivingEntity {
return this.inventory.armor; return this.inventory.armor;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 1ebc5cfac7e7e47e1e9c10a90d707a4fa799ca43..567fbb4cee7221b9b24b982c97546f353ce124cd 100644 index 4af345c848040fabdde82b4f0493ba796a7fef1f..9f542c8ddb25faaef00d5db354f1c1fe3cfc3c45 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2946,6 +2946,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2954,6 +2954,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (f3 > 0.0F) { if (f3 > 0.0F) {
this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F); this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F);

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 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 b449a7f16bfe591d0659e991c2c1c9ed4ec64dc8..d50b8c407ed30c0bb46159994c1b0e310a15e33a 100644 index b5ce9576ce7e91204f981c86fe70abb4cd0f267f..461247f3424b854032ccd45855c877aa85dd2e88 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -425,7 +425,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -426,7 +426,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
// CraftBukkit end // CraftBukkit end
@@ -18,7 +18,7 @@ index b449a7f16bfe591d0659e991c2c1c9ed4ec64dc8..d50b8c407ed30c0bb46159994c1b0e31
// this.level().globalLevelEvent(1023, new BlockPosition(this), 0); // this.level().globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16; int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 355e953d2050750aef6b243a5b287a4ab75818be..5d4aa302fca63909f6cee2fea4182da17b270201 100644 index deba979e6987f60308c6b4a286943b18aa2974f4..8d726d509e4c0693ff06ee3c43b5af23ee7f9806 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2682,6 +2682,7 @@ public class PurpurWorldConfig { @@ -2682,6 +2682,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dolphins naturally aggressive to players chance
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d82929842f240ea 100644 index 21e804d391478c613f4f89076fd268a9eb2e2ecf..9c35059d390c94f6d641c0fe8d37777fcf1b29f3 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -82,6 +82,7 @@ public class Dolphin extends WaterAnimal { @@ -83,6 +83,7 @@ public class Dolphin extends WaterAnimal {
public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> { public static final Predicate<ItemEntity> ALLOWED_ITEMS = (entityitem) -> {
return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater(); return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater();
}; };
@@ -16,7 +16,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
private int spitCooldown; // Purpur private int spitCooldown; // Purpur
public Dolphin(EntityType<? extends Dolphin> type, Level world) { public Dolphin(EntityType<? extends Dolphin> type, Level world) {
@@ -173,6 +174,7 @@ public class Dolphin extends WaterAnimal { @@ -174,6 +175,7 @@ public class Dolphin extends WaterAnimal {
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
this.setAirSupply(this.getMaxAirSupply()); this.setAirSupply(this.getMaxAirSupply());
this.setXRot(0.0F); this.setXRot(0.0F);
@@ -24,7 +24,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt);
} }
@@ -237,6 +239,7 @@ public class Dolphin extends WaterAnimal { @@ -238,6 +240,7 @@ public class Dolphin extends WaterAnimal {
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new BreathAirGoal(this)); this.goalSelector.addGoal(0, new BreathAirGoal(this));
this.goalSelector.addGoal(0, new TryFindWaterGoal(this)); this.goalSelector.addGoal(0, new TryFindWaterGoal(this));
@@ -32,7 +32,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this)); this.goalSelector.addGoal(1, new Dolphin.DolphinSwimToTreasureGoal(this));
this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D)); this.goalSelector.addGoal(2, new Dolphin.DolphinSwimWithPlayerGoal(this, 4.0D));
@@ -244,12 +247,13 @@ public class Dolphin extends WaterAnimal { @@ -245,12 +248,13 @@ public class Dolphin extends WaterAnimal {
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(5, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(5, new DolphinJumpGoal(this, 10)); this.goalSelector.addGoal(5, new DolphinJumpGoal(this, 10));
@@ -48,7 +48,7 @@ index 75585a6b275fafbc5ef112d9de4926b77fcb3781..0453ba99a640855c6e13cb1e1d829298
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 857df6dd4d1d598857d977107dcabbb25307ceab..727a70ef18192e27736ecdd6775711a17f8ce79b 100644 index 83da28a7edb4b101138034ed6ac71a0ae36a091b..a46cbcd6393cf27a919405db0bfb4903b2f6e6fd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1342,6 +1342,7 @@ public class PurpurWorldConfig { @@ -1342,6 +1342,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option for beds to explode on villager sleep
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 6857eeb9a93850594cbdb634dfbdf6cb6d82ced5..20b3872b1f8464579ddd4324c9b09170f8ae4778 100644 index ee509b5eea71c17ff466fb93fe63168710065add..d2b6d094c4b93055a4e6622372c6a0a83bd992a3 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1110,6 +1110,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1111,6 +1111,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override @Override
public void startSleeping(BlockPos pos) { public void startSleeping(BlockPos pos) {
@@ -22,7 +22,7 @@ index 6857eeb9a93850594cbdb634dfbdf6cb6d82ced5..20b3872b1f8464579ddd4324c9b09170
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e967ce42a54d97f28e50509167c7c7ac693a285b..83e4255059ca68f1fef3a8915662db28a98109b3 100644 index 60643dc828b134d1a3956a280b1fc72348b0bd5c..8703e603f4c45fc79b0a44dd22e8497060421254 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -824,6 +824,7 @@ public class PurpurWorldConfig { @@ -824,6 +824,7 @@ public class PurpurWorldConfig {

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] options to extinguish fire blocks with snowballs
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
index b90cedad282e95a067aca176fafa9f72a726f520..440d3d72d8b2dac14f83a83caa5ae9dbf3e979b6 100644 index 8d1591c3b29e02794f6f66b742ec6a121920ad71..bb61e1132c28274175215a679befdcfa2496b099 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java --- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
@@ -57,6 +57,36 @@ public class Snowball extends ThrowableItemProjectile { @@ -63,6 +63,36 @@ public class Snowball extends ThrowableItemProjectile {
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float)i); entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
} }
+ // Purpur start - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire + // Purpur start - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire
@@ -46,7 +46,7 @@ index b90cedad282e95a067aca176fafa9f72a726f520..440d3d72d8b2dac14f83a83caa5ae9db
protected void onHit(HitResult hitResult) { protected void onHit(HitResult hitResult) {
super.onHit(hitResult); super.onHit(hitResult);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a7beb70988183ddcaf6bb2ef846eb9c640af46b0..aa8f7692a2638b176e9db935bf1331ee09fc9993 100644 index 2b0093b9f30d5fe2c53b4a3fd02ad813d5aad555..2c3ea77d66f889fddde73bd49e6607aa2a0c3ad9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -231,6 +231,9 @@ public class PurpurWorldConfig { @@ -231,6 +231,9 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index d04e48d6a0a6dc7825a3e3d4cf854e294a75d19c..b18cbe85330e26de6f6cbfcc3d51a741
protected ParticleOptions getInkParticle() { protected ParticleOptions getInkParticle() {
return ParticleTypes.GLOW_SQUID_INK; return ParticleTypes.GLOW_SQUID_INK;
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
index 980f2426a5052117f03ebb1ed3f7882b236ad86e..bae3c516b0d13358603576d87a18602a0522a9ff 100644 index 08190c45b0807079b77c41203502e355ecaf2e14..735445456bbfab8a64df488fed30f0be28d50159 100644
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
@@ -285,6 +285,11 @@ public class Bat extends AmbientCreature { @@ -285,6 +285,11 @@ public class Bat extends AmbientCreature {
@@ -37,7 +37,7 @@ index 980f2426a5052117f03ebb1ed3f7882b236ad86e..bae3c516b0d13358603576d87a18602a
public void readAdditionalSaveData(CompoundTag nbt) { public void readAdditionalSaveData(CompoundTag nbt) {
super.readAdditionalSaveData(nbt); super.readAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index a4c6ea94be1c1a610c6141328192a29052b9f157..6d7b8c9f9bfe296263f1752f485dcf8f53af8142 100644 index 8d80055253008bb1b2ed77e91a1c51c995208dac..9fa937d2d6c3b23e390447e4d4fa24543e2679e5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -493,6 +493,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -493,6 +493,11 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -53,7 +53,7 @@ index a4c6ea94be1c1a610c6141328192a29052b9f157..6d7b8c9f9bfe296263f1752f485dcf8f
public int getRemainingPersistentAngerTime() { public int getRemainingPersistentAngerTime() {
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME); return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 9a40cd8d7d4789a8b43f5194bdc67dc6753eed21..6e5b4a50b8d2dddbd7f099426b4866b35bcb798a 100644 index d9b19f74b377721ed78cd0ea24d25e412cef1398..6af5e1dfcfd739e0bc857f648c189151d5a795c8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -138,6 +138,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> { @@ -138,6 +138,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
@@ -101,7 +101,7 @@ index 2343325fa9a771de7b9445cda24a2bcd7a7c1761..f0b6118a9995bb41836685bbf94d2e7f
public ItemStack getBucketItemStack() { public ItemStack getBucketItemStack() {
return new ItemStack(Items.COD_BUCKET); return new ItemStack(Items.COD_BUCKET);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 3c12e179861b5514e081d0db1664f7173955629c..6d00b3cd4a9cb0fc8a9e9c27f37429a25fcf6e9d 100644 index da3dfa10e08750e7ad84ff32a0c0136e055ee3a7..be4ccc42d6f598cbaaf39aafbd49b594ac7b06fe 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -87,6 +87,11 @@ public class Cow extends Animal { @@ -87,6 +87,11 @@ public class Cow extends Animal {
@@ -117,10 +117,10 @@ index 3c12e179861b5514e081d0db1664f7173955629c..6d00b3cd4a9cb0fc8a9e9c27f37429a2
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 0453ba99a640855c6e13cb1e1d82929842f240ea..ed2769d8049bb304c1ee3b8e162046855951a624 100644 index 9c35059d390c94f6d641c0fe8d37777fcf1b29f3..61bb29de8f1eaa833db95fcc38ab6e18c1a2243c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -169,6 +169,11 @@ public class Dolphin extends WaterAnimal { @@ -170,6 +170,11 @@ public class Dolphin extends WaterAnimal {
return this.level().purpurConfig.dolphinTakeDamageFromWater; return this.level().purpurConfig.dolphinTakeDamageFromWater;
} }
@@ -133,10 +133,10 @@ index 0453ba99a640855c6e13cb1e1d82929842f240ea..ed2769d8049bb304c1ee3b8e16204685
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index c8efa4029136d0cd54a5f73f003e022511cc7c8b..77d40aad6e336cac7ee4e4adef159571181ba44a 100644 index 1e04205a1707e46a1f540f5c8f6ec1b81bf1b5d7..445c1993a18da93e89792b7953e5eb71777c7874 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -198,6 +198,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> { @@ -202,6 +202,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
return this.level().purpurConfig.foxTakeDamageFromWater; return this.level().purpurConfig.foxTakeDamageFromWater;
} }
@@ -149,7 +149,7 @@ index c8efa4029136d0cd54a5f73f003e022511cc7c8b..77d40aad6e336cac7ee4e4adef159571
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
index c2817324ff57860ea2628dc4ac8e78b76cf67a5a..64aba511e615983988cdb6a0fd45b7d9d4f2f16d 100644 index 02506902ca7e6f4e4c0fea47499cb8766e33960f..442eb602f5c82550a87e218e2013171b718abd62 100644
--- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java
@@ -103,6 +103,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob { @@ -103,6 +103,11 @@ public class IronGolem extends AbstractGolem implements NeutralMob {
@@ -165,10 +165,10 @@ index c2817324ff57860ea2628dc4ac8e78b76cf67a5a..64aba511e615983988cdb6a0fd45b7d9
protected void registerGoals() { protected void registerGoals() {
if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur if (level().purpurConfig.ironGolemCanSwim) this.goalSelector.addGoal(0, new net.minecraft.world.entity.ai.goal.FloatGoal(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 7bd539ed5fea0d4db8e97722bd9bd37e6563185d..5d75e715a2edac73350cd74e2a5184e7fccbad53 100644 index 5cf206bea6d2f3155c1da73d8337bbd8e2ee7bb3..48ee8c43a91efaadacfe8f37399ea1fb81f5f1ee 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -95,6 +95,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -96,6 +96,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
return this.level().purpurConfig.mooshroomTakeDamageFromWater; return this.level().purpurConfig.mooshroomTakeDamageFromWater;
} }
@@ -197,10 +197,10 @@ index c91ade7f4b1f04f12e38cf2c5fda1a92b129bec8..af275fc579d66bb098c08e88e4186846
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING); return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
index 20eb69e7d944b74a84570d23947e7e2a75d63f8d..97c38b72b998bdf397c72d3ea08fd93186585f30 100644 index e52a685bd2142fe702fb5f212894e6ba6008913d..adfa18c941b5070692ed855d1d609993ca49a01d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
@@ -156,6 +156,11 @@ public class Panda extends Animal { @@ -157,6 +157,11 @@ public class Panda extends Animal {
return this.level().purpurConfig.pandaTakeDamageFromWater; return this.level().purpurConfig.pandaTakeDamageFromWater;
} }
@@ -213,7 +213,7 @@ index 20eb69e7d944b74a84570d23947e7e2a75d63f8d..97c38b72b998bdf397c72d3ea08fd931
public boolean canTakeItem(ItemStack stack) { public boolean canTakeItem(ItemStack stack) {
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack); EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
index a3304ce24c08e4250df81a2d09098b8cbbc604bd..351b580611bf4b92d7addcc402c3276f7cb4e639 100644 index c69a096b6bd7700191f88a3c03c8d018ca9d4201..670cf5a74554b0b420706db2fbce3a8e5dca147b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
@@ -208,6 +208,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot @@ -208,6 +208,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
@@ -229,10 +229,10 @@ index a3304ce24c08e4250df81a2d09098b8cbbc604bd..351b580611bf4b92d7addcc402c3276f
@Override @Override
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 60562089daf363f5af24fbf30a3ccd74311be289..b8de9c4630fbdaad2d3a4ca6d27a61873ddbda2e 100644 index f32cc2884696db956e10d350f97376025e32e673..10d6361077a74c5685eca72d12f99e33a458ec43 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java --- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -99,6 +99,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable { @@ -100,6 +100,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
return this.level().purpurConfig.pigTakeDamageFromWater; return this.level().purpurConfig.pigTakeDamageFromWater;
} }
@@ -325,7 +325,7 @@ index d1a8b15de4f4aa20d6049135bcbef94f0d1fb388..ae2662a5cdc4e531e09876ff8664eaf6
protected void registerGoals() { protected void registerGoals() {
this.eatBlockGoal = new EatBlockGoal(this); this.eatBlockGoal = new EatBlockGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index 557141d5cf85ef4b23d449fb32c28c25a4a96a33..c11ae706f85119d8dd5ac48e6fd585540779814c 100644 index 81a88d510d7f52ca6a1c9cca991c22c3bdaf6b0d..df8e19a3adfa7dcc065160e8305d0f12c7c37887 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -86,6 +86,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -86,6 +86,11 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -341,7 +341,7 @@ index 557141d5cf85ef4b23d449fb32c28c25a4a96a33..c11ae706f85119d8dd5ac48e6fd58554
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 57b37ac40b4ffe6c5e27548755aaa15da89a0f0b..88c238e492b1081d1a64a3b6f05d7baa17e5d8c9 100644 index fb6fd5e00053ae8bae1f225ffd57fac787fdc2d5..2ec8a55650beff50676759617896da2db09dddc0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -95,6 +95,11 @@ public class Squid extends WaterAnimal { @@ -95,6 +95,11 @@ public class Squid extends WaterAnimal {
@@ -373,7 +373,7 @@ index b16d075581a352714f86f1b87805f24c9e336aa3..87b6f6b10ba6e3d9c6a42298a2019a52
return "entity.minecraft.tropical_fish.predefined." + variant; return "entity.minecraft.tropical_fish.predefined." + variant;
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
index cc1ccef921e70c33e5d6acbd73d5eecc4ea99064..8f891e9fd9fc0bf4a9c022a3415b371cea9b92fa 100644 index a8102248bf5dc1b5c7659c42239b8d418e842aac..6bf8ed96eaed4a500164f21cb5ead32a7e5a224d 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
@@ -118,6 +118,11 @@ public class Turtle extends Animal { @@ -118,6 +118,11 @@ public class Turtle extends Animal {
@@ -389,7 +389,7 @@ index cc1ccef921e70c33e5d6acbd73d5eecc4ea99064..8f891e9fd9fc0bf4a9c022a3415b371c
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos... this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
index 6b51886e383992f35e0313bd9cc012354190a87d..5d49ed7ddf44a3d549b178ae548664194967776b 100644 index 69caba70009268f7af7299f8a1dd84dc43caddf8..a90055fe8819a32180754b6060a0f88e81d1a3b6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -217,6 +217,11 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -217,6 +217,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
@@ -405,7 +405,7 @@ index 6b51886e383992f35e0313bd9cc012354190a87d..5d49ed7ddf44a3d549b178ae54866419
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(1, new FloatGoal(this)); 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 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 9d52d0f1b57565bdea0333626d8dba9c01607a30..b7eaa9e99688ae300c2e9176991c29828d1cc800 100644 index dfc9b95b98d3811fd926c4747ec59a4a836ceb14..e73d7b47327da59dbf49c2160acd0b3ebb2a4232 100644
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java --- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java +++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
@@ -130,6 +130,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -130,6 +130,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@@ -421,7 +421,7 @@ index 9d52d0f1b57565bdea0333626d8dba9c01607a30..b7eaa9e99688ae300c2e9176991c2982
public Map<String, Vector3f> getModelRotationValues() { public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues; return this.modelRotationValues;
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 26062173d137e26abdc452f7b2e0be0ee6dddfa3..fba00cab2c4b234dd2e85b5f4dcd0db34183c1a2 100644 index 5b3126168e9406f6cbd0607b6b7cc2de4ab68b65..f7730ec3a6c8818baf2a7a738e5a49a56d17c0e8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -119,6 +119,11 @@ public class Goat extends Animal { @@ -119,6 +119,11 @@ public class Goat extends Animal {
@@ -469,7 +469,7 @@ index f8dbea402f723bf38d7ab3f2468d1b02b7124560..3b1faa63e46a48e83ea672cf6da444a1
protected void randomizeAttributes(RandomSource random) { protected void randomizeAttributes(RandomSource random) {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt)); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 8d57bf9bbd1f61e6f1509c8b5cf01756ef145571..b414572411e5b2b78fd66e860273656d53df9d9d 100644 index 30493e675d6308d65a4d4fa3fea601b6d7e4fa76..22abcf70f51a6752ab6d3f421366adb196e50dfc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -150,6 +150,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V @@ -150,6 +150,11 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
@@ -501,10 +501,10 @@ index 53546e904948d03882e5f5b0a8d4256c72698afb..42dcdbec69b052679e590a1ff932c619
protected SoundEvent getAmbientSound() { protected SoundEvent getAmbientSound() {
return SoundEvents.MULE_AMBIENT; return SoundEvents.MULE_AMBIENT;
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
index 688c87743446bdf5a9e2b830b8a47655d80f3284..64f0f486e29e0b63b024dd5c06738e12d0fb5b9a 100644 index 15d9e6f795044983aa872160874386e422e77377..41c7e62dfb8cf40958bb98a244d8225690be7341 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
@@ -67,6 +67,11 @@ public class SkeletonHorse extends AbstractHorse { @@ -74,6 +74,11 @@ public class SkeletonHorse extends AbstractHorse {
return this.level().purpurConfig.skeletonHorseTakeDamageFromWater; return this.level().purpurConfig.skeletonHorseTakeDamageFromWater;
} }
@@ -514,13 +514,13 @@ index 688c87743446bdf5a9e2b830b8a47655d80f3284..64f0f486e29e0b63b024dd5c06738e12
+ } + }
+ +
public static AttributeSupplier.Builder createAttributes() { public static AttributeSupplier.Builder createAttributes() {
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, 0.20000000298023224D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
index 17648925f97110f2439890388f4bfbbff0917c61..02e3adc9a55fa9cd2a418094eb206970faaf471b 100644 index a3c80184abcc2d884b692b90d267ab33a5406349..c80324d79b74fc620568347289f4e39629162409 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java --- a/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/TraderLlama.java
@@ -74,6 +74,11 @@ public class TraderLlama extends Llama { @@ -77,6 +77,11 @@ public class TraderLlama extends Llama {
return this.level().purpurConfig.traderLlamaTakeDamageFromWater; return this.level().purpurConfig.traderLlamaTakeDamageFromWater;
} }
@@ -549,10 +549,10 @@ index dcc1d71c2eeea48669651165868899ba4a797d48..813501e8aac1c121569cb996b47f0293
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
} }
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 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 d50b8c407ed30c0bb46159994c1b0e310a15e33a..63bddd92fe13c50160acab33016c5b62257ad704 100644 index 461247f3424b854032ccd45855c877aa85dd2e88..1d896c6c49705acd87416dc11a1d8ce205f7844e 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -132,6 +132,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -133,6 +133,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
this.summoner = summoner; this.summoner = summoner;
} }
@@ -597,10 +597,10 @@ index 5dc0b3d04bfc01cd2cb004c18279840861dc4a57..c9bd400473166999479f5eef1edad529
public boolean doHurtTarget(Entity target) { public boolean doHurtTarget(Entity target) {
if (super.doHurtTarget(target)) { if (super.doHurtTarget(target)) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 1a33d4e855a85b0a0d51c29dbb4042d30918684c..64f6b5f44db4fd90e789032e3833da60cfcfbef1 100644 index a3cc2e3ae32984e11f4e91421d663f0fe7c7b236..54315fb84e3289f0ad8305c2c2cec980a5b2c627 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -277,6 +277,11 @@ public class Creeper extends Monster implements PowerableMob { @@ -278,6 +278,11 @@ public class Creeper extends Monster implements PowerableMob {
return super.dropAllDeathLoot(damagesource); return super.dropAllDeathLoot(damagesource);
} }
@@ -613,7 +613,7 @@ index 1a33d4e855a85b0a0d51c29dbb4042d30918684c..64f6b5f44db4fd90e789032e3833da60
protected SoundEvent getHurtSound(DamageSource source) { protected SoundEvent getHurtSound(DamageSource source) {
return SoundEvents.CREEPER_HURT; return SoundEvents.CREEPER_HURT;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 6e6d7f68cf1c1c224b67a9d674fdcaa67ea00359..034bb2d1292dde6276885c3ea71d886c3894311c 100644 index 13427d23f1e614c0d83e9ccd68944ea4e1993c73..7600e747d91ae888eb801cfafcb09bffb76c8e62 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -116,6 +116,11 @@ public class Drowned extends Zombie implements RangedAttackMob { @@ -116,6 +116,11 @@ public class Drowned extends Zombie implements RangedAttackMob {
@@ -629,7 +629,7 @@ index 6e6d7f68cf1c1c224b67a9d674fdcaa67ea00359..034bb2d1292dde6276885c3ea71d886c
protected void addBehaviourGoals() { protected void addBehaviourGoals() {
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D)); this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
index cd1f830bf28b1c68e2b9cc7daa77f696234a22c9..df8d1b34078031001c50325b8cf5bfa9a5c361fd 100644 index 60787e45b605ce32b3b74ea23a6d9d9353f831a4..cb189457305916f509d624beb303feff35d0c358 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java --- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java +++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
@@ -58,6 +58,11 @@ public class ElderGuardian extends Guardian { @@ -58,6 +58,11 @@ public class ElderGuardian extends Guardian {
@@ -645,7 +645,7 @@ index cd1f830bf28b1c68e2b9cc7daa77f696234a22c9..df8d1b34078031001c50325b8cf5bfa9
return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D); return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 02998e2f3d912d47641e7c9199467b5301de1e4c..4c9ffa8e1ab97d8156ead0ed189c769ffd9b4aae 100644 index 19d7142d62339d01ce2d3936a95c829666cd4e27..13bc6389652f8868d7539676ee6d85f37ba78f67 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -120,6 +120,11 @@ public class EnderMan extends Monster implements NeutralMob { @@ -120,6 +120,11 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -661,10 +661,10 @@ index 02998e2f3d912d47641e7c9199467b5301de1e4c..4c9ffa8e1ab97d8156ead0ed189c769f
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
index c0c3ab5dbf5987e543e6cdd1a814d2ec3ec17939..20ca96baf8f73fd5835422c6551f515a394cb168 100644 index 67f3928f4a03a8d546c55e46a1f094a354ac412d..965362c281315c15fb70a83a6949d7825bebf15b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java --- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java +++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
@@ -74,6 +74,11 @@ public class Endermite extends Monster { @@ -79,6 +79,11 @@ public class Endermite extends Monster {
this.isPlayerSpawned = playerSpawned; this.isPlayerSpawned = playerSpawned;
} }
@@ -757,7 +757,7 @@ index 5ac87650e357f3ac48e37713b9b0b18ad4d6feb6..06a5106a94a44c1d21537410d801cdd9
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (MobSpawnType.isSpawner(spawnReason) || world.canSeeSky(pos)); return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (MobSpawnType.isSpawner(spawnReason) || world.canSeeSky(pos));
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
index 91294d87521c884c402485b923691f9fd8985353..f9cddf46d1dbcabc738842ba039daa76bb6f3eb5 100644 index 43d4cea02ae94a8842cd4c1370d1b80e45d2b13c..a8b3431c67442c5440b063426a1adc423f5c0658 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java --- a/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java +++ b/src/main/java/net/minecraft/world/entity/monster/Illusioner.java
@@ -88,6 +88,11 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob { @@ -88,6 +88,11 @@ public class Illusioner extends SpellcasterIllager implements RangedAttackMob {
@@ -789,7 +789,7 @@ index e0ebc4c2d8dd718ce78d981a1d099e7482221f1f..1ad97267394d3717b1871336193cdc91
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F); return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 1d4a292a37069408420ca90b1c2784229781f93f..ab9ed9acc394dedf2151b83ff5cf998e0e0be21e 100644 index bcb1912ea218fbb4b849ab84a7025202100b82c3..8591fb95aa3079d7722f445ce1b1743c1f02b9bc 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -144,6 +144,11 @@ public class Phantom extends FlyingMob implements Enemy { @@ -144,6 +144,11 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -805,10 +805,10 @@ index 1d4a292a37069408420ca90b1c2784229781f93f..ab9ed9acc394dedf2151b83ff5cf998e
public boolean isFlapping() { public boolean isFlapping() {
return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0; return (this.getUniqueFlapTickOffset() + this.tickCount) % Phantom.TICKS_PER_FLAP == 0;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
index 1f64dc8442de75447c17ae4fd5483345d4b7fd3e..06d52d8b61abc4dbbdc953bfed2e688be377b3cc 100644 index cff87c0790e3afe43e7817969a05e8d79a550bbb..d5becd13774f9a2ead77d58e777ffc9aea10cb60 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
@@ -89,6 +89,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve @@ -93,6 +93,11 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve
return this.level().purpurConfig.pillagerTakeDamageFromWater; return this.level().purpurConfig.pillagerTakeDamageFromWater;
} }
@@ -821,7 +821,7 @@ index 1f64dc8442de75447c17ae4fd5483345d4b7fd3e..06d52d8b61abc4dbbdc953bfed2e688b
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
index 5e717433ef29d02669ee2e95454c69c36cbafc24..c9c21c87e3bd1c404fbef6768761bcb5d97d98b9 100644 index 03ed7c56bb7f2d32722ebedb8eb07765ab39079a..2d834e57253f666f04f8e0b47c8b8a45458c0a75 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
@@ -104,6 +104,11 @@ public class Ravager extends Raider { @@ -104,6 +104,11 @@ public class Ravager extends Raider {
@@ -837,7 +837,7 @@ index 5e717433ef29d02669ee2e95454c69c36cbafc24..c9c21c87e3bd1c404fbef6768761bcb5
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
index f7780da77a98b04b570d4c01e2b738dffeeb9415..8a52c1ad5e2872e4b484eebc834fa42fd1930481 100644 index 25b9f131f9d0fdb0a53ddcc685d8ae250cb3abd6..ab21a44905a4154013cd65acdecbf55b741da086 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
@@ -141,6 +141,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye @@ -141,6 +141,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
@@ -853,10 +853,10 @@ index f7780da77a98b04b570d4c01e2b738dffeeb9415..8a52c1ad5e2872e4b484eebc834fa42f
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
index 65203a502a970ffec622d91d25716f02e2a2fda2..dbc27afbccb027963ae3f035c268835adedbb933 100644 index 524ac7bf0ee006bb79517a113c16e290b94e325a..931412a5ab315d4080a9f5209d3e85d78642f4c2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
@@ -74,6 +74,11 @@ public class Silverfish extends Monster { @@ -75,6 +75,11 @@ public class Silverfish extends Monster {
return this.level().purpurConfig.silverfishTakeDamageFromWater; return this.level().purpurConfig.silverfishTakeDamageFromWater;
} }
@@ -869,7 +869,7 @@ index 65203a502a970ffec622d91d25716f02e2a2fda2..dbc27afbccb027963ae3f035c268835a
protected void registerGoals() { protected void registerGoals() {
this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this); this.friendsGoal = new Silverfish.SilverfishWakeUpFriendsGoal(this);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index 1c7cd82540aa9566b04142c741d26b4f346073d4..9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86 100644 index eec2f8deb2675ed116939105dba60a68b05b7aac..2064d6177b3e43810d5962102fe914296e2627ff 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java --- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -53,6 +53,11 @@ public class Skeleton extends AbstractSkeleton { @@ -53,6 +53,11 @@ public class Skeleton extends AbstractSkeleton {
@@ -885,10 +885,10 @@ index 1c7cd82540aa9566b04142c741d26b4f346073d4..9b43150a00d7fac85aa69f5a2dbffd0d
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
index 9363ec4aad2179274e4076c2acae577962a52d4b..8b6f8fca8402c177c399824c6bf0bdef2c24ec55 100644 index 380ea1b4ab8bf05ac5c039c77adaf73a57c4f1ee..0f77f00e9a02d1f982f285617604e7291b70a2a4 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -80,6 +80,11 @@ public class Slime extends Mob implements Enemy { @@ -81,6 +81,11 @@ public class Slime extends Mob implements Enemy {
return this.level().purpurConfig.slimeTakeDamageFromWater; return this.level().purpurConfig.slimeTakeDamageFromWater;
} }
@@ -901,7 +901,7 @@ index 9363ec4aad2179274e4076c2acae577962a52d4b..8b6f8fca8402c177c399824c6bf0bdef
public boolean dismountsUnderwater() { public boolean dismountsUnderwater() {
return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.slimeRidableInWater; return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.slimeRidableInWater;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
index 93eaa95e38304a4b86cda693289f60ad4923b5b8..241a6851179cfa566417a655bff7b06bdb7f9f4b 100644 index d3f1d7b2a5721933b0a8d697f1f6456d96ff7b76..b44ffeb4cc0ef63fdd25683f60c5a20fcdeb9135 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java --- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
@@ -80,6 +80,11 @@ public class Spider extends Monster { @@ -80,6 +80,11 @@ public class Spider extends Monster {
@@ -949,7 +949,7 @@ index f0d7174eae482cef9311fb646f340af59fa1c743..2f49b528601a1feb7246fe7a9b83ce82
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable(); BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
index e1c7398d9640506e2404686c218da98688c6c316..44fe951f0297c0efa5169c8972c05eaf90d49edf 100644 index fae7e1e780d0429341adf21afd57ab230b06a0a7..834abf1160034543fe3e89fa1c8d4bb55ffc5dc1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java --- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
@@ -117,6 +117,11 @@ public class Vex extends Monster implements TraceableEntity { @@ -117,6 +117,11 @@ public class Vex extends Monster implements TraceableEntity {
@@ -965,7 +965,7 @@ index e1c7398d9640506e2404686c218da98688c6c316..44fe951f0297c0efa5169c8972c05eaf
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) { protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
return dimensions.height - 0.28125F; return dimensions.height - 0.28125F;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index c7e995c5e639a1fb42a77edea3491682b72d32f4..ffe956f200dd0b4148043d0d7f2eac007a9f22b1 100644 index 97087016883c8b5517d06755de19c672cc3f03bd..ee9d5933f74584452a1b27a392e7d36dac5b9bc9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -85,6 +85,11 @@ public class Vindicator extends AbstractIllager { @@ -85,6 +85,11 @@ public class Vindicator extends AbstractIllager {
@@ -981,7 +981,7 @@ index c7e995c5e639a1fb42a77edea3491682b72d32f4..ffe956f200dd0b4148043d0d7f2eac00
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
index 4b722c7b6c000c4f8156724b127c9df33f15f6db..1f19be94995d02596306fa49e19582b3deb1924a 100644 index d6b34988ee884c4636ebd7f40e3e6a3084525316..4af36f8d0647f881a842e248d02d747115e1cc70 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java --- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java +++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
@@ -86,6 +86,11 @@ public class Witch extends Raider implements RangedAttackMob { @@ -86,6 +86,11 @@ public class Witch extends Raider implements RangedAttackMob {
@@ -997,7 +997,7 @@ index 4b722c7b6c000c4f8156724b127c9df33f15f6db..1f19be94995d02596306fa49e19582b3
protected void registerGoals() { protected void registerGoals() {
super.registerGoals(); super.registerGoals();
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
index 87b42dff7d770cf04415301346674aad5e45081b..b5462ca1e67c87eeb447b8c4536c4bba897be186 100644 index 986183cab6c7d48a4716440dcc764bdd88373720..e97cb4e166c2e9ac6d93ed5b15350758326e7e74 100644
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
@@ -62,6 +62,11 @@ public class WitherSkeleton extends AbstractSkeleton { @@ -62,6 +62,11 @@ public class WitherSkeleton extends AbstractSkeleton {
@@ -1029,7 +1029,7 @@ index 8cd6012b00dd5b307fd76ef0fd9c2cd92342a92a..15fd1af0773ba1254a429240444f48e6
protected Brain.Provider<Zoglin> brainProvider() { protected Brain.Provider<Zoglin> brainProvider() {
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES); return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 728f4f2d7c37e253b0dab752f627a7b6c4e8339c..f6dd5fd56926215830ccebbd46098d4bc08e17e4 100644 index 9e373fa5eba63ed061e666510e01a6d8cdd6997b..c531d830f4d6b2d2213e160d7e1a5b50b80dbea5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -147,6 +147,11 @@ public class Zombie extends Monster { @@ -147,6 +147,11 @@ public class Zombie extends Monster {
@@ -1045,7 +1045,7 @@ index 728f4f2d7c37e253b0dab752f627a7b6c4e8339c..f6dd5fd56926215830ccebbd46098d4b
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index faf03e2c69b6b4ee7d7425322b5b19974e37cb85..4d744e00bbaf25d1bad3782a6415e9bf5958e536 100644 index f902814a23ef8a7d3893fc0349d1a0b3c203a123..712f77d4ddad04c7cd89d51c6d0c79c2f3ab9347 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -129,6 +129,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -129,6 +129,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -1061,7 +1061,7 @@ index faf03e2c69b6b4ee7d7425322b5b19974e37cb85..4d744e00bbaf25d1bad3782a6415e9bf
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 3574a1e641d8af34a0ff7ea8dcfb08641cf6ace0..df8c7a45eb49a8c667030eb67d6d49dcbaef4fcf 100644 index e6b653c75a4c3306e06bfcadb4c4b53bccd5aad2..feba8a264bae656244f60296d0511a8046297f73 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -106,6 +106,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -106,6 +106,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
@@ -1077,7 +1077,7 @@ index 3574a1e641d8af34a0ff7ea8dcfb08641cf6ace0..df8c7a45eb49a8c667030eb67d6d49dc
public void setPersistentAngerTarget(@Nullable UUID angryAt) { public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt; this.persistentAngerTarget = angryAt;
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
index d0144c99cf5c755c81fc0f9457b462c98ff3e804..e326e753cc6bca1bd00287d16c9796b9f3dd4d14 100644 index 7a167887c40eccea4c216eb906a4a69006f72114..510ee1aee1dd106b5129c375ebb59c7950b8b989 100644
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java --- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
@@ -101,6 +101,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -101,6 +101,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -1093,7 +1093,7 @@ index d0144c99cf5c755c81fc0f9457b462c98ff3e804..e326e753cc6bca1bd00287d16c9796b9
public boolean canBeLeashed(Player player) { public boolean canBeLeashed(Player player) {
return !this.isLeashed(); return !this.isLeashed();
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
index e506dcf390ecb5cce8ae6993df7ec91b3ebc125e..9ca1618ab945ad834c5fc221ada49058f806e79c 100644 index 20ecfcbe948d02bb61b8f673f5330d2f9e60c387..141fa7d4e1b81e90f4d63a3459c9a72bc595d30b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
@@ -123,6 +123,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -123,6 +123,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -1125,10 +1125,10 @@ index b63d87df0f48dd63c89118f91b31dc4e3622e3b8..61e8f2d030fc50840c3f80dfb6fc8107
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D); return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
} }
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 20b3872b1f8464579ddd4324c9b09170f8ae4778..9c86dc4b9cd558f0e8f97b63d6cab746bd30d10c 100644 index d2b6d094c4b93055a4e6622372c6a0a83bd992a3..19a3e88ce5ccdd74b049246eb51eaa0783d03d5d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -195,6 +195,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -196,6 +196,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return this.level().purpurConfig.villagerTakeDamageFromWater; return this.level().purpurConfig.villagerTakeDamageFromWater;
} }
@@ -1141,10 +1141,10 @@ index 20b3872b1f8464579ddd4324c9b09170f8ae4778..9c86dc4b9cd558f0e8f97b63d6cab746
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5..08320248a6956d41d60681e3d29f81768c80fd3d 100644 index 657fdbabf18da7ab321e8e95a31d53362c605380..21a7cc86245d2440b8fc757d3664a29de293f7b0 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -102,6 +102,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -103,6 +103,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return this.level().purpurConfig.wanderingTraderTakeDamageFromWater; return this.level().purpurConfig.wanderingTraderTakeDamageFromWater;
} }
@@ -1157,7 +1157,7 @@ index d672c1e381e5c4a4b79a1dfb96f1410ec35cb1b5..08320248a6956d41d60681e3d29f8176
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ed4c29795aae72d16e26d126888944204cae0291..108554529587f6e7ba56d1eabff8f061a74cc1b0 100644 index 3683277077ed77fa804f5678127ba2b65bc070e7..6dc882c14f1dfd0dd7d37d595f86f387f52fff7f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1109,12 +1109,14 @@ public class PurpurWorldConfig { @@ -1109,12 +1109,14 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 567fbb4cee7221b9b24b982c97546f353ce124cd..39784ca82aa79097067df62d859eb13ca6fb27b1 100644 index 9f542c8ddb25faaef00d5db354f1c1fe3cfc3c45..99c5cd7f20435be1f78cfed4f952e4c7ddfb69e8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1041,9 +1041,20 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1049,9 +1049,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD); ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
EntityType<?> entitytypes = entity.getType(); EntityType<?> entitytypes = entity.getType();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable valid characters for usernames
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index d0204938816f3e74b0845b9a62f4b6ad44d2dd02..93689cb54c6c948577caff6ec3bd7cbec8094bea 100644 index e8000f236d3ec0476ec782f08e159eea6c99476a..4297622fecf2cde16cdcb206ecc3e912b06c0a66 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -2421,6 +2421,7 @@ public abstract class Player extends LivingEntity { @@ -2429,6 +2429,7 @@ public abstract class Player extends LivingEntity {
} }
public static boolean isValidUsername(String name) { public static boolean isValidUsername(String name) {

View File

@@ -31,10 +31,10 @@ index 2ee48ac3b665db2b02bcb1a30ec972d43a3725b0..59e8f5431ce5026209e1428b5fa5b548
} }
// Paper end - custom shear drops // Paper end - custom shear drops
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 2df9cfc7f14da1073a34960830481f49696b2e85..3f00d40125b63a76ed549755d4c9d9a2ff2d4adf 100644 index 48ee8c43a91efaadacfe8f37399ea1fb81f5f1ee..21632120b52e4d594153ebe057a14afa74c3f4eb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -160,7 +160,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -161,7 +161,7 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
} else if (itemstack.is(Items.SHEARS) && this.readyForShearing()) { } else if (itemstack.is(Items.SHEARS) && this.readyForShearing()) {
// CraftBukkit start // CraftBukkit start
// Paper start - custom shear drops // Paper start - custom shear drops
@@ -43,7 +43,7 @@ index 2df9cfc7f14da1073a34960830481f49696b2e85..3f00d40125b63a76ed549755d4c9d9a2
org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops); org.bukkit.event.player.PlayerShearEntityEvent event = CraftEventFactory.handlePlayerShearEntityEvent(player, this, itemstack, hand, drops);
if (event != null) { if (event != null) {
if (event.isCancelled()) { if (event.isCancelled()) {
@@ -212,13 +212,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo @@ -213,13 +213,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
@Override @Override
public void shear(SoundSource shearedSoundCategory) { public void shear(SoundSource shearedSoundCategory) {
// Paper start - custom shear drops // Paper start - custom shear drops
@@ -90,7 +90,7 @@ index ae2662a5cdc4e531e09876ff8664eaf66a63a960..658f7943d275267d3fc556572831cc09
for (int j = 0; j < count; ++j) { for (int j = 0; j < count; ++j) {
dropEntities.add(new ItemStack(Sheep.ITEM_BY_DYE.get(this.getColor()))); dropEntities.add(new ItemStack(Sheep.ITEM_BY_DYE.get(this.getColor())));
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index c11ae706f85119d8dd5ac48e6fd585540779814c..c30b00e5637d3def256c93cc227a15ddaf99bc56 100644 index df8e19a3adfa7dcc065160e8305d0f12c7c37887..b75d07f3af4addbb306ecb6baacf1607ef65fc25 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -196,7 +196,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -196,7 +196,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM

View File

@@ -9,10 +9,10 @@ players still only pick up one orb every tick. However, setting this
to any negative number will pick up all orbs instantly. to any negative number will pick up all orbs instantly.
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index 673b3aee680bb8a2d20f96be661d5fa9c61f4ce3..19144edcc449dc2f992228612340cf210d40d59a 100644 index c8671996f07f1daafe48448f4a5b837ca2f658c6..373a932b80be18b8a47ef849ce837dbfbba6f9cb 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -313,7 +313,7 @@ public class ExperienceOrb extends Entity { @@ -314,7 +314,7 @@ public class ExperienceOrb extends Entity {
public void playerTouch(Player player) { public void playerTouch(Player player) {
if (!this.level().isClientSide) { if (!this.level().isClientSide) {
if (player.takeXpDelay == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper - PlayerPickupExperienceEvent if (player.takeXpDelay == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((net.minecraft.server.level.ServerPlayer) player).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper - PlayerPickupExperienceEvent
@@ -22,10 +22,10 @@ index 673b3aee680bb8a2d20f96be661d5fa9c61f4ce3..19144edcc449dc2f992228612340cf21
int i = this.repairPlayerItems(player, this.value); int i = this.repairPlayerItems(player, this.value);
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 93689cb54c6c948577caff6ec3bd7cbec8094bea..a334e2f83905be450514a9c26e945f6d5076060b 100644 index 4297622fecf2cde16cdcb206ecc3e912b06c0a66..43199815ffe3d666577390b96187aa898ceb910e 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -632,7 +632,7 @@ public abstract class Player extends LivingEntity { @@ -633,7 +633,7 @@ public abstract class Player extends LivingEntity {
while (iterator.hasNext()) { while (iterator.hasNext()) {
Entity entity = (Entity) iterator.next(); Entity entity = (Entity) iterator.next();

View File

@@ -9,10 +9,10 @@ This patch adds a config option to allow the minimum demand to instead
be configurable. be configurable.
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 4902a2cb7f71e3f2fa6ae22e0d6746ca79ff8623..00e60eacf10b76f9d7020324df436b2c315486be 100644 index 19a3e88ce5ccdd74b049246eb51eaa0783d03d5d..79184e4721236d4d30f9c516ac0efb56cf06af7d 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -546,7 +546,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -547,7 +547,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
while (iterator.hasNext()) { while (iterator.hasNext()) {
MerchantOffer merchantrecipe = (MerchantOffer) iterator.next(); MerchantOffer merchantrecipe = (MerchantOffer) iterator.next();
@@ -40,7 +40,7 @@ index 02feea12c998f37098b72becf6bfaf6b27d155de..9c89a85d934955c9388cfe1361f13e70
public ItemStack assemble() { public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1620ed5e1fab8575af02fefc910865d1b8a50322..e320196cc5f7302377916d5402579632374de09c 100644 index 4a953d543fb14bc36e775a976710f11633da7c86..c312382eeb38b9d6b2420b482c1467d6f27beb81 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2794,6 +2794,7 @@ public class PurpurWorldConfig { @@ -2794,6 +2794,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lobotomize stuck villagers
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index af3af49f2965dbc3da7749bd9c6ae5e2d6b94cbe..fed066980b17d7c7fa773a00b314535c92fc53fd 100644 index 79184e4721236d4d30f9c516ac0efb56cf06af7d..a188a36d919037fa3177ad7f6930570f5e130fc9 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -141,6 +141,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -142,6 +142,8 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
}, MemoryModuleType.MEETING_POINT, (entityvillager, holder) -> { }, MemoryModuleType.MEETING_POINT, (entityvillager, holder) -> {
return holder.is(PoiTypes.MEETING); return holder.is(PoiTypes.MEETING);
}); });
@@ -17,7 +17,7 @@ index af3af49f2965dbc3da7749bd9c6ae5e2d6b94cbe..fed066980b17d7c7fa773a00b314535c
public long nextGolemPanic = -1; // Pufferfish public long nextGolemPanic = -1; // Pufferfish
@@ -200,6 +202,48 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -201,6 +203,48 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
return this.level().purpurConfig.villagerAlwaysDropExp; return this.level().purpurConfig.villagerAlwaysDropExp;
} }
@@ -66,7 +66,7 @@ index af3af49f2965dbc3da7749bd9c6ae5e2d6b94cbe..fed066980b17d7c7fa773a00b314535c
@Override @Override
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
@@ -297,13 +341,19 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -298,13 +342,19 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
// Paper start // Paper start
this.customServerAiStep(false); this.customServerAiStep(false);
} }
@@ -105,7 +105,7 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e320196cc5f7302377916d5402579632374de09c..26351f5ba9fd4f2e231481cfdd52341e0f4d96a4 100644 index c312382eeb38b9d6b2420b482c1467d6f27beb81..6fa783b3f064b0e62c67f5a5709fbe9c0d3b51a7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2795,6 +2795,9 @@ public class PurpurWorldConfig { @@ -2795,6 +2795,9 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 39784ca82aa79097067df62d859eb13ca6fb27b1..1b58cc6ee449cfb655b7179be9d3bf8d48a86c4e 100644 index 99c5cd7f20435be1f78cfed4f952e4c7ddfb69e8..e5691cf9ad9e795426b27391ebfb27dba97756fb 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1547,13 +1547,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1555,13 +1555,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entity1 instanceof net.minecraft.world.entity.player.Player) { if (entity1 instanceof net.minecraft.world.entity.player.Player) {
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1; net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
@@ -25,7 +25,7 @@ index 39784ca82aa79097067df62d859eb13ca6fb27b1..1b58cc6ee449cfb655b7179be9d3bf8d
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) { if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 332c553db22aaeb0cda5e628c5e464e130c7abb0..519b875c4b0f05cab3b0f5c80f07734d8eb98abe 100644 index 9730a5469f81687cfde0a19a58d1c2147588d1d2..e3f724a19ab2f9821d84f9b03acf7c925c88f455 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -490,7 +490,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -490,7 +490,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index fed066980b17d7c7fa773a00b314535c92fc53fd..857d1d80afd35d30a2947b0a6f953e5af1516048 100644 index a188a36d919037fa3177ad7f6930570f5e130fc9..ef7c67f591ca4a3c73b87a7c44b37ad0b51d875c 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1101,6 +1101,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1102,6 +1102,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) { public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) {
@@ -18,7 +18,7 @@ index fed066980b17d7c7fa773a00b314535c92fc53fd..857d1d80afd35d30a2947b0a6f953e5a
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb); List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1beb9285414e3c178c95ef9ea404fcf34f9cdcac..a0b5c0819541a2924bf29ded4d1842b0e19b4e7b 100644 index 2c577f12f86ed843f823f5756fd7cddb8bb807a6..adf1064af51c737f97c071fb65019a874a881a18 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2809,6 +2809,8 @@ public class PurpurWorldConfig { @@ -2809,6 +2809,8 @@ public class PurpurWorldConfig {

View File

@@ -124,10 +124,10 @@ index 0dc05919dfbbf73230505fcdc25d949b1602801c..996bd26e95e766ce4ca7e61d060881fe
return BlockPathTypes.STICKY_HONEY; return BlockPathTypes.STICKY_HONEY;
} else if (blockState.is(Blocks.COCOA)) { } else if (blockState.is(Blocks.COCOA)) {
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
index 2d47fd8290c9712bbf720452f5ffe134b1941d8c..b30d0d4d453252d1f5774f5155fb1ab61294d6be 100644 index ac836274a2d725e3fac55394154ae2148024853a..94be4f367f4c6cb2386d0e59d0417f29fca1cec7 100644
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
@@ -1133,7 +1133,7 @@ public class CraftEventFactory { @@ -1134,7 +1134,7 @@ public class CraftEventFactory {
return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.LAVA, bukkitDamageSource, modifiers, modifierFunctions, cancelled); return CraftEventFactory.callEntityDamageEvent(source.getDirectBlock(), entity, DamageCause.LAVA, bukkitDamageSource, modifiers, modifierFunctions, cancelled);
} else if (source.getDirectBlock() != null) { } else if (source.getDirectBlock() != null) {
DamageCause cause; DamageCause cause;
@@ -137,7 +137,7 @@ index 2d47fd8290c9712bbf720452f5ffe134b1941d8c..b30d0d4d453252d1f5774f5155fb1ab6
} else if (source.is(DamageTypes.HOT_FLOOR)) { } else if (source.is(DamageTypes.HOT_FLOOR)) {
cause = DamageCause.HOT_FLOOR; cause = DamageCause.HOT_FLOOR;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c6628a28387023b334dd99a4e469126a2108c38b..3a49455509a26063a62e39fb3d3ad81e80bced54 100644 index a504f727f5aaa605809938b4e7e7bbe9b84c522a..9bc5cc4944dcd3918b2a90bde9dd8fdd795ae3b2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -209,8 +209,10 @@ public class PurpurConfig { @@ -209,8 +209,10 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Skeletons eat wither roses
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1ef5121b57 100644 index 2064d6177b3e43810d5962102fe914296e2627ff..30ff77f5f137614b5d0d2df6dc90f47c97e8ab13 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java --- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -14,6 +14,16 @@ import net.minecraft.world.item.Items; @@ -14,6 +14,16 @@ import net.minecraft.world.item.Items;
@@ -79,7 +79,7 @@ index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1e
+ } + }
+ +
+ this.level().addFreshEntity(skeleton); + this.level().addFreshEntity(skeleton);
+ this.remove(RemovalReason.DISCARDED); + this.remove(RemovalReason.DISCARDED, org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD);
+ if (!player.getAbilities().instabuild) { + if (!player.getAbilities().instabuild) {
+ stack.shrink(1); + stack.shrink(1);
+ } + }
@@ -94,7 +94,7 @@ index 9b43150a00d7fac85aa69f5a2dbffd0dfdae4b86..f4a47ac2c86cc95178922cce7320ba1e
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b301f0778a2dc0de4a899da06598aed314ef545c..ef6ed71bf4674b7f0275e3cc4487f9f311d4cf48 100644 index 163b01e476dc3b53d0176b6606f65ce2cbc6bc21..b08fd09753dfab6c31cf59c189f9a55d9f77c5a5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2492,6 +2492,7 @@ public class PurpurWorldConfig { @@ -2492,6 +2492,7 @@ public class PurpurWorldConfig {

View File

@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 31f692bbb67af911dd0563c171ed48ee510fe5bf..6a3fa8bec23e2405091eae560c1edef02023a8a9 100644 index c868a61d73b4563807c70c9539f63cb0645a9984..c0942beb4b362cdba1c0b5fa4531f7d586eab0ac 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -596,7 +596,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -597,7 +597,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.bb = Entity.INITIAL_AABB; this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F; this.nextStep = 1.0F;
@@ -33,7 +33,7 @@ index 2ec8a55650beff50676759617896da2db09dddc0..cba0823bfd10a3e7fd3a7548b9cc11a7
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c6a19e70cbe90546d17c3e3f3371db40af6cf204..e4fd299c419dd5309b74eec5e00de6461613bf40 100644 index bf2b431301780acff40546af6475b227c40bd8bf..4c157168cfea5ef58d0b070971dfb73223c26897 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -204,9 +204,11 @@ public class PurpurWorldConfig { @@ -204,9 +204,11 @@ public class PurpurWorldConfig {

View File

@@ -236,7 +236,7 @@ index 38de0e9b83ecac489ca676725274d14fcb60dd5c..6a9bd431e9c2e1fc1e51d394eaccba86
@Override @Override
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 28d05b46952397bb664a1c8dae71816cafee89ce..c6c4d6cf59742b555af5469eaf751ebef753e249 100644 index 1081e9df44bb24b2c51ebd9364c21c7b2a3a205a..3fbc1e7e401331790d590dcd513a0a267b5ea181 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -540,15 +540,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -540,15 +540,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -447,7 +447,7 @@ index 1cf8c819c0d7776c3b33d6594ca81abe3c2a719d..bbc3153379d7da8b4d91c49a3ba83d44
gameprofilerfiller.pop(); gameprofilerfiller.pop();
gameprofilerfiller.pop(); gameprofilerfiller.pop();
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 009d077f979d5ae85b359f3829038015af347429..b4b256721b7a5d25deec717123501a163fcfd8fe 100644 index cc4be3069e64bb424393d157dd1a5fef7dbcfca6..e48fac31d5c25da0bea3b5247eceda3a45decaaf 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -866,7 +866,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -866,7 +866,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -630,7 +630,7 @@ index 009d077f979d5ae85b359f3829038015af347429..b4b256721b7a5d25deec717123501a16
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 7dec861f49e7db0ac7cf4f4942881f237ebcd61f..19b4a69a3062870b831c37728cab8376d3340d54 100644 index 9107cc4860f81460f3424aeac4ca026b891ab47f..c48e18e4aa72eae5d1a87a86b8a9c982838b5d47 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2456,7 +2456,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -2456,7 +2456,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -661,10 +661,10 @@ index 7dec861f49e7db0ac7cf4f4942881f237ebcd61f..19b4a69a3062870b831c37728cab8376
} }
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 8458adda210e10254d5564a6b84894805b7ddbfe..323391509c2efd49c54d7b36d7aa880c63ae5fd4 100644 index 1b8b0bafce3352bd65d570ac7cb4ea3acdfe991d..ac1e0c66f167218306504db6037cc1d6509072a0 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java --- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1273,7 +1273,7 @@ public abstract class PlayerList { @@ -1274,7 +1274,7 @@ public abstract class PlayerList {
public void saveAll(int interval) { public void saveAll(int interval) {
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
@@ -673,7 +673,7 @@ index 8458adda210e10254d5564a6b84894805b7ddbfe..323391509c2efd49c54d7b36d7aa880c
int numSaved = 0; int numSaved = 0;
long now = MinecraftServer.currentTick; long now = MinecraftServer.currentTick;
for (int i = 0; i < this.players.size(); ++i) { for (int i = 0; i < this.players.size(); ++i) {
@@ -1284,7 +1284,7 @@ public abstract class PlayerList { @@ -1285,7 +1285,7 @@ public abstract class PlayerList {
} }
// Paper end - Incremental chunk and player saving // Paper end - Incremental chunk and player saving
} }
@@ -732,7 +732,7 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c1
} }
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 85d0a644fa876978d1295d8a2d88ab2869b33904..4999f9f3a4296df3d7f933cc4011e85527da3a17 100644 index d43d7873574699b3b19ae6c89f02b24f3c6f7dfc..0754ec885c68a6b3c6d91c8e00069c3fe41c0299 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1308,15 +1308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1308,15 +1308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {

View File

@@ -448,7 +448,7 @@ index df0c15f6b5b2224d53e4f8fad42b9a1e5f33dc25..5dd0dcb47211cec69189115bf4eab1df
} }
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index c6c4d6cf59742b555af5469eaf751ebef753e249..06554a000da1f6ba7360fa907deeead7341b09ea 100644 index 3fbc1e7e401331790d590dcd513a0a267b5ea181..bb412ca874b85d777c0e3565fcefcee15b23182b 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java --- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -538,20 +538,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -538,20 +538,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -614,7 +614,7 @@ index bbc3153379d7da8b4d91c49a3ba83d4415a7671a..6167ffb1263a1a65b582b7d295d1d77e
} }
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index b4b256721b7a5d25deec717123501a163fcfd8fe..75b3de5c1e26815aa04dba3f09f2ef7807767154 100644 index e48fac31d5c25da0bea3b5247eceda3a45decaaf..fb6b762bac4d36b2e307b5343988884fa339d001 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -824,16 +824,16 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -824,16 +824,16 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1095,10 +1095,10 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
}; };
} }
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde7376e99a822 100644 index c0942beb4b362cdba1c0b5fa4531f7d586eab0ac..b78d7958b56a4f385efc4666bb35a89a3049d702 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -848,7 +848,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -861,7 +861,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// CraftBukkit end // CraftBukkit end
public void baseTick() { public void baseTick() {
@@ -1107,7 +1107,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Prevent entity loading causing async lookups
this.feetBlockState = null; this.feetBlockState = null;
if (this.isPassenger() && this.getVehicle().isRemoved()) { if (this.isPassenger() && this.getVehicle().isRemoved()) {
@@ -909,7 +909,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -922,7 +922,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
this.firstTick = false; this.firstTick = false;
@@ -1116,7 +1116,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
} }
public void setSharedFlagOnFire(boolean onFire) { public void setSharedFlagOnFire(boolean onFire) {
@@ -1128,7 +1128,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1141,7 +1141,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
} }
@@ -1125,7 +1125,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
movement = movement.multiply(this.stuckSpeedMultiplier); movement = movement.multiply(this.stuckSpeedMultiplier);
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
@@ -1137,7 +1137,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1150,7 +1150,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
// Paper start - ignore movement changes while inactive. // Paper start - ignore movement changes while inactive.
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
setDeltaMovement(Vec3.ZERO); setDeltaMovement(Vec3.ZERO);
@@ -1134,7 +1134,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
return; return;
} }
// Paper end // Paper end
@@ -1158,8 +1158,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1171,8 +1171,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
} }
@@ -1145,7 +1145,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag = !Mth.equal(movement.x, vec3d1.x);
boolean flag1 = !Mth.equal(movement.z, vec3d1.z); boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
@@ -1178,7 +1178,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1191,7 +1191,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition); this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition);
if (this.isRemoved()) { if (this.isRemoved()) {
@@ -1154,7 +1154,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
} else { } else {
if (this.horizontalCollision) { if (this.horizontalCollision) {
Vec3 vec3d2 = this.getDeltaMovement(); Vec3 vec3d2 = this.getDeltaMovement();
@@ -1316,7 +1316,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1329,7 +1329,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.setRemainingFireTicks(-this.getFireImmuneTicks()); this.setRemainingFireTicks(-this.getFireImmuneTicks());
} }
@@ -1163,7 +1163,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
} }
} }
// Paper start - detailed watchdog information // Paper start - detailed watchdog information
@@ -3189,7 +3189,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3205,7 +3205,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
@@ -1172,7 +1172,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
this.portalTime = i; this.portalTime = i;
// Paper start - Add EntityPortalReadyEvent // Paper start - Add EntityPortalReadyEvent
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
@@ -3207,7 +3207,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3223,7 +3223,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
} // Paper - Add EntityPortalReadyEvent } // Paper - Add EntityPortalReadyEvent
// CraftBukkit end // CraftBukkit end
@@ -1181,7 +1181,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
} }
this.isInsidePortal = false; this.isInsidePortal = false;
@@ -3681,14 +3681,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3697,14 +3697,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
// Paper end - Fix item duplication and teleport issues // Paper end - Fix item duplication and teleport issues
if (this.level() instanceof ServerLevel && !this.isRemoved()) { if (this.level() instanceof ServerLevel && !this.isRemoved()) {
@@ -1198,7 +1198,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
if (shapedetectorshape == null) { if (shapedetectorshape == null) {
@@ -3727,7 +3727,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3743,7 +3743,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
this.unRide(); this.unRide();
// CraftBukkit end // CraftBukkit end
@@ -1207,7 +1207,7 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
// Paper start - Fix item duplication and teleport issues // Paper start - Fix item duplication and teleport issues
if (this instanceof Mob) { if (this instanceof Mob) {
((Mob) this).dropLeash(true, true); // Paper drop lead ((Mob) this).dropLeash(true, true); // Paper drop lead
@@ -3754,10 +3754,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3770,10 +3770,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
this.removeAfterChangingDimensions(); this.removeAfterChangingDimensions();
@@ -1221,10 +1221,10 @@ index 03f6b992aae18679845e04c6c0f70bacac11d996..2d997b91636aba8c71ae543253cde737
} }
} else { } else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808ef676cc2 100644 index e5691cf9ad9e795426b27391ebfb27dba97756fb..cd5e884603285d4a2c73f3dc300a5afda42d98c8 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -409,7 +409,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -410,7 +410,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
super.baseTick(); super.baseTick();
@@ -1233,7 +1233,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
if (this.fireImmune() || this.level().isClientSide) { if (this.fireImmune() || this.level().isClientSide) {
this.clearFire(); this.clearFire();
} }
@@ -512,7 +512,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -513,7 +513,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO = this.yHeadRot; this.yHeadRotO = this.yHeadRot;
this.yRotO = this.getYRot(); this.yRotO = this.getYRot();
this.xRotO = this.getXRot(); this.xRotO = this.getXRot();
@@ -1242,7 +1242,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
} }
public boolean canSpawnSoulSpeedParticle() { public boolean canSpawnSoulSpeedParticle() {
@@ -3179,10 +3179,10 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3187,10 +3187,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
this.run += (f3 - this.run) * 0.3F; this.run += (f3 - this.run) * 0.3F;
@@ -1256,7 +1256,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
// Paper start - stop large pitch and yaw changes from crashing the server // Paper start - stop large pitch and yaw changes from crashing the server
this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F; this.yRotO += Math.round((this.getYRot() - this.yRotO) / 360.0F) * 360.0F;
@@ -3194,7 +3194,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3202,7 +3202,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F; this.yHeadRotO += Math.round((this.yHeadRot - this.yHeadRotO) / 360.0F) * 360.0F;
// Paper end // Paper end
@@ -1265,7 +1265,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
this.animStep += f2; this.animStep += f2;
if (this.isFallFlying()) { if (this.isFallFlying()) {
++this.fallFlyTicks; ++this.fallFlyTicks;
@@ -3489,19 +3489,19 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3497,19 +3497,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
this.setDeltaMovement(d0, d1, d2); this.setDeltaMovement(d0, d1, d2);
@@ -1290,7 +1290,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
if (this.jumping && this.isAffectedByFluids()) { if (this.jumping && this.isAffectedByFluids()) {
double d3; double d3;
@@ -3528,8 +3528,8 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3536,8 +3536,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.noJumpDelay = 0; this.noJumpDelay = 0;
} }
@@ -1301,7 +1301,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
this.xxa *= 0.98F; this.xxa *= 0.98F;
this.zza *= 0.98F; this.zza *= 0.98F;
this.updateFallFlying(); this.updateFallFlying();
@@ -3556,8 +3556,8 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3564,8 +3564,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.travel(vec3d1); this.travel(vec3d1);
} }
@@ -1312,7 +1312,7 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API if (!this.level().isClientSide && !this.isDeadOrDying() && !this.freezeLocked) { // Paper - Freeze Tick Lock API
int i = this.getTicksFrozen(); int i = this.getTicksFrozen();
@@ -3574,15 +3574,15 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3582,15 +3582,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.hurt(this.damageSources().freeze(), 1.0F); this.hurt(this.damageSources().freeze(), 1.0F);
} }
@@ -1332,10 +1332,10 @@ index 2e935f373980f6c424fc23ddc80ef04186834532..3079daa307cf8d37a2b10213d377d808
// Purpur start // Purpur start
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) { if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a2230a72b19 100644 index 380834677c93a23879a9e53173fa835ebd22f584..1d1688fafc438a5957096118790d44fbd55476bb 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -367,13 +367,13 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -368,13 +368,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
@Override @Override
public void baseTick() { public void baseTick() {
super.baseTick(); super.baseTick();
@@ -1351,7 +1351,7 @@ index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a22
incrementTicksSinceLastInteraction(); // Purpur incrementTicksSinceLastInteraction(); // Purpur
} }
@@ -704,7 +704,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -705,7 +705,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@Override @Override
public void aiStep() { public void aiStep() {
super.aiStep(); super.aiStep();
@@ -1360,7 +1360,7 @@ index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a22
if (!this.level().isClientSide && this.canPickUpLoot() && this.isAlive() && !this.dead && (this.level().purpurConfig.entitiesPickUpLootBypassMobGriefing || this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { if (!this.level().isClientSide && this.canPickUpLoot() && this.isAlive() && !this.dead && (this.level().purpurConfig.entitiesPickUpLootBypassMobGriefing || this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) {
Vec3i baseblockposition = this.getPickupReach(); Vec3i baseblockposition = this.getPickupReach();
List<ItemEntity> list = this.level().getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ())); List<ItemEntity> list = this.level().getEntitiesOfClass(ItemEntity.class, this.getBoundingBox().inflate((double) baseblockposition.getX(), (double) baseblockposition.getY(), (double) baseblockposition.getZ()));
@@ -724,7 +724,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -725,7 +725,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
} }
@@ -1369,7 +1369,7 @@ index 8588f230724e7fec2093b0b5c8c80b3d1944ce47..94c43de94a7ec7982046cf1e110b8a22
} }
protected Vec3i getPickupReach() { protected Vec3i getPickupReach() {
@@ -936,46 +936,46 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -937,46 +937,46 @@ public abstract class Mob extends LivingEntity implements Targeting {
return; return;
} }
// Paper end - Allow nerfed mobs to jump and float // Paper end - Allow nerfed mobs to jump and float
@@ -1612,10 +1612,10 @@ index 3be70e054c658d34c4aa598ff70c63fa2cff7982..d6340d0a1308bafd3ba176562bf08dca
} }
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index 3103df74b7ae5a5ed841bf97794284cd43ad59de..14135dac80dec4224715e21cef6556d22e569026 100644 index c19513b3b35bbb05c3159606caacee0559366610..2a9c2a69a0589e4e7b7c79d3716376b360a2eba1 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java --- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -117,12 +117,12 @@ public class Tadpole extends AbstractFish { @@ -120,12 +120,12 @@ public class Tadpole extends AbstractFish {
private int behaviorTick = 0; // Pufferfish private int behaviorTick = 0; // Pufferfish
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
@@ -1777,10 +1777,10 @@ index 384e7b29215cadfa40af07a183a9c9c6a5b4a80a..bf7ef72a7d92db8f11789a6958327064
if ((this.tickCount + this.getId()) % 120 == 0) { if ((this.tickCount + this.getId()) % 120 == 0) {
Warden.applyDarknessAround(worldserver, this.position(), this, 20); Warden.applyDarknessAround(worldserver, this.position(), this, 20);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 857d1d80afd35d30a2947b0a6f953e5af1516048..18f92478f07de7c941ff8bbe0ec2ef2fe3617fd7 100644 index ef7c67f591ca4a3c73b87a7c44b37ad0b51d875c..50202286a0d83f7fe5331eb669d999718a9082cf 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -343,7 +343,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -344,7 +344,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
protected void customServerAiStep(boolean inactive) { // Purpur - not final protected void customServerAiStep(boolean inactive) { // Purpur - not final
// Paper end // Paper end
@@ -1789,7 +1789,7 @@ index 857d1d80afd35d30a2947b0a6f953e5af1516048..18f92478f07de7c941ff8bbe0ec2ef2f
// Purpur start // Purpur start
if (this.level().purpurConfig.villagerLobotomizeEnabled) { if (this.level().purpurConfig.villagerLobotomizeEnabled) {
// treat as inactive if lobotomized // treat as inactive if lobotomized
@@ -355,7 +355,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -356,7 +356,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.getBrain().tick((ServerLevel) this.level(), this); // Paper this.getBrain().tick((ServerLevel) this.level(), this); // Paper
} else if (this.isLobotomized && shouldRestock()) restock(); } else if (this.isLobotomized && shouldRestock()) restock();
// Purpur end // Purpur end
@@ -1821,7 +1821,7 @@ index b678da2cbb93cea7971bc3c4d324cfca18b0bc97..b0884758d00efb1e3b4b47a539de2a81
if (this.fire) { if (this.fire) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 4999f9f3a4296df3d7f933cc4011e85527da3a17..bc797f1872f86b59a8aae3e70823249c9b8d8922 100644 index 0754ec885c68a6b3c6d91c8e00069c3fe41c0299..67a26f22d4eb7eaeee7900e6f4de421d0bfd5612 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1305,9 +1305,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1305,9 +1305,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add an option to fix MC-3304 (projectile looting)
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 2d1bff45830b489caba33552cafa2ae795d6def6..fd1d6c4c3f78b610282318e98ba3742f8bf6e20e 100644 index 5d60f038220ef4e7b66834c172cc47c7abfe7da7..a9289c4179a78862361be87aaa83f49d6bf60714 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -74,6 +74,7 @@ public abstract class AbstractArrow extends Projectile { @@ -75,6 +75,7 @@ public abstract class AbstractArrow extends Projectile {
@Nullable @Nullable
private List<Entity> piercedAndKilledEntities; private List<Entity> piercedAndKilledEntities;
public ItemStack pickupItemStack; public ItemStack pickupItemStack;
@@ -16,7 +16,7 @@ index 2d1bff45830b489caba33552cafa2ae795d6def6..fd1d6c4c3f78b610282318e98ba3742f
// Spigot Start // Spigot Start
@Override @Override
@@ -641,6 +642,12 @@ public abstract class AbstractArrow extends Projectile { @@ -642,6 +643,12 @@ public abstract class AbstractArrow extends Projectile {
this.knockback = punch; this.knockback = punch;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Milk Keeps Beneficial Effects
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5c667328f76688d6b557452319117734aaa861a6..cc490788b18209d27b339a8557084049002cff09 100644 index cd5e884603285d4a2c73f3dc300a5afda42d98c8..bfa69b2c37f07132f8b31c12d26f4ceb074901a5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1125,6 +1125,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1133,6 +1133,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
for (flag = false; iterator.hasNext(); flag = true) { for (flag = false; iterator.hasNext(); flag = true) {
// CraftBukkit start // CraftBukkit start
MobEffectInstance effect = (MobEffectInstance) iterator.next(); MobEffectInstance effect = (MobEffectInstance) iterator.next();
@@ -17,10 +17,10 @@ index 5c667328f76688d6b557452319117734aaa861a6..cc490788b18209d27b339a8557084049
if (event.isCancelled()) { if (event.isCancelled()) {
continue; continue;
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index b950a0d5010fd7302995772d30e69016284f6cd6..3f78ab74cd7706ad16f6d5a989803691c9842f9f 100644 index 21a7cc86245d2440b8fc757d3664a29de293f7b0..b133c186d2d1412aa623ba3db68091bc69c282a5 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -114,7 +114,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -115,7 +115,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return this.canDrinkPotion && this.level().isNight() && !entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API return this.canDrinkPotion && this.level().isNight() && !entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API
})); }));
this.goalSelector.addGoal(0, new UseItemGoal<>(this, new ItemStack(Items.MILK_BUCKET), SoundEvents.WANDERING_TRADER_REAPPEARED, (entityvillagertrader) -> { this.goalSelector.addGoal(0, new UseItemGoal<>(this, new ItemStack(Items.MILK_BUCKET), SoundEvents.WANDERING_TRADER_REAPPEARED, (entityvillagertrader) -> {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f893366fc9 100644 index b78d7958b56a4f385efc4666bb35a89a3049d702..693a418c10583131135a1d9f8be9c54f23a16430 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -426,6 +426,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -427,6 +427,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
public boolean activatedPriorityReset = false; // Pufferfish - DAB public boolean activatedPriorityReset = false; // Pufferfish - DAB
public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // Pufferfish - DAB (golf score) public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // Pufferfish - DAB (golf score)
public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // Pufferfish - reduce entity allocations public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // Pufferfish - reduce entity allocations
@@ -16,7 +16,7 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
public void setOrigin(@javax.annotation.Nonnull Location location) { public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector(); this.origin = location.toVector();
@@ -1814,7 +1815,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -1827,7 +1828,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
} }
public boolean fireImmune() { public boolean fireImmune() {
@@ -25,7 +25,7 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
} }
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
@@ -2508,6 +2509,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -2524,6 +2525,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
nbttagcompound.putBoolean("Paper.FreezeLock", true); nbttagcompound.putBoolean("Paper.FreezeLock", true);
} }
// Paper end // Paper end
@@ -37,7 +37,7 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
return nbttagcompound; return nbttagcompound;
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2655,6 +2661,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -2671,6 +2677,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
freezeLocked = nbt.getBoolean("Paper.FreezeLock"); freezeLocked = nbt.getBoolean("Paper.FreezeLock");
} }
// Paper end // Paper end
@@ -50,10 +50,10 @@ index 2d997b91636aba8c71ae543253cde7376e99a822..b4a35b5a19167dee083e6b2421e815f8
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 9304a2d06400dfa244ddb4d9591de988b334c3cf..aa6872290bcab8d7dc58f5714f5f5d4289759880 100644 index 897f9f5d25c674f167530810c0b94bca83c3c3cc..50364ab478ae5ec016fc2318483920e2e849b8ba 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -83,6 +83,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -84,6 +84,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
this.entityType = CraftEntityType.minecraftToBukkit(entity.getType()); this.entityType = CraftEntityType.minecraftToBukkit(entity.getType());
} }
@@ -71,7 +71,7 @@ index 9304a2d06400dfa244ddb4d9591de988b334c3cf..aa6872290bcab8d7dc58f5714f5f5d42
public boolean isInDaylight() { public boolean isInDaylight() {
return getHandle().isSunBurnTick(); return getHandle().isSunBurnTick();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index e99007570a89eebe3c85ad549cf24286514306f8..480adbfdd084a6291ee0108e5350ea418e08ff6f 100644 index 01e4395f1669d21c30465aa1366bd2f1ae17678f..5c1cda88080850314dac196dbe71ff12e48a8aca 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
@@ -173,9 +173,14 @@ public class CraftItem extends CraftEntity implements Item { @@ -173,9 +173,14 @@ public class CraftItem extends CraftEntity implements Item {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bf33c028ced7c3a4e76e9ccc9d1c12877456219c..a83a6cd64345ff0d14e4dfad01566d8dc86c8416 100644 index 693a418c10583131135a1d9f8be9c54f23a16430..2092ede561d14ace1c003ced051cd4967bb41beb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -923,6 +923,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -936,6 +936,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v) && this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end - Configurable nether ceiling damage // Paper end - Configurable nether ceiling damage
@@ -17,7 +17,7 @@ index bf33c028ced7c3a4e76e9ccc9d1c12877456219c..a83a6cd64345ff0d14e4dfad01566d8d
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 17894a054e67173e138cff2190c77c0dad94ef32..c620601e8c6b9cc6a82011a61ce2fcedda94dac4 100644 index 1a1628b6a2d4814f5cdef1dc3f27bd74b22265d7..61dfb8c7e8606136981ec61f2b7ef02711d3a395 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -417,6 +417,7 @@ public class PurpurWorldConfig { @@ -417,6 +417,7 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] End Crystal Cramming
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index ea7075dd4a9bc466d850cabc69199d56e48c825a..2b850c313c7bb2f83af62709583d0ec35400215a 100644 index 24ad1bae912fa6ee82ea8b6bdbb0af664dc1006c..34f5006f72ec357c474a19f22ee339e3a1dc786f 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -99,6 +99,7 @@ public class EndCrystal extends Entity { @@ -100,6 +100,7 @@ public class EndCrystal extends Entity {
} }
} }
// Paper end - Fix invulnerable end crystals // Paper end - Fix invulnerable end crystals

Some files were not shown because too many files have changed in this diff Show More