Updated Upstream (Paper & Pufferfish)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@44ee1cd fix recipe packet limiter (#9841)
PaperMC/Paper@e57af7d sync netty version with vanilla (#9842)

Pufferfish Changes:
pufferfish-gg/Pufferfish@0020a8b Port a patch from upstream
pufferfish-gg/Pufferfish@979d3a2 Update upstream (last 1.20.1)
pufferfish-gg/Pufferfish@06262c1 Initial 1.20.2 update
This commit is contained in:
granny
2023-10-16 04:52:01 -07:00
parent ff126d3257
commit 0458d847e2
307 changed files with 852 additions and 896 deletions

View File

@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
version = 1.20.2-R0.1-SNAPSHOT version = 1.20.2-R0.1-SNAPSHOT
mcVersion = 1.20.2 mcVersion = 1.20.2
paperCommit = 852c1c236d080d9fd907a5f4fd3e850437996aa2 paperCommit = e57af7d01e509c747520cc1037169029256289bf
org.gradle.caching = true org.gradle.caching = true
org.gradle.parallel = true org.gradle.parallel = true

View File

@@ -4,8 +4,21 @@ Date: Sun, 12 Jun 2022 09:18:57 -0500
Subject: [PATCH] Fix pufferfish issues Subject: [PATCH] Fix pufferfish issues
diff --git a/build.gradle.kts b/build.gradle.kts
index 57739f9dd7d045d1a585a9fc1be290a1a007db6a..f8b27b3992f1d59bf0e95bba0961540e88345754 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -229,5 +229,7 @@ val runtimeClasspathForRunDev = sourceSets.main.flatMap { src ->
}
tasks.registerRunTask("runDev") {
description = "Spin up a non-relocated Mojang-mapped test server"
- classpath(sourceSets.main.map { it.runtimeClasspath })
+ classpath(tasks.filterProjectDir.flatMap { it.outputJar })
+ classpath(runtimeClasspathForRunDev)
+ jvmArgs("-DPaper.isRunDev=true")
}
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
index 0dd3374468e05f7a312ba5856b9cf8a4787dfa59..960c0555a001fe63de78d77d5ea47d08a520d029 100644 index cc66657cb4f978aa2df3ca1be6c683759952cc7a..26f08b7fb16484c39135ed172c246f76c9e089c7 100644
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java --- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java +++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
@@ -224,7 +224,7 @@ public class PufferfishConfig { @@ -224,7 +224,7 @@ public class PufferfishConfig {
@@ -27,10 +40,10 @@ index 0dd3374468e05f7a312ba5856b9cf8a4787dfa59..960c0555a001fe63de78d77d5ea47d08
"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 eac31c3fcc9161711328588ac852fcae1116d8ef..dbb59969cf55eda997588f4c3ef7dc899ea619bb 100644 index c1b03e4c37ea85ddf283479682d0eb2eca57ee3c..cf2fd8eba6aa4cf15cac924577507a700f7f72b5 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
@@ -948,7 +948,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -976,7 +976,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
} }
// Paper start - optimise random block ticking // Paper start - optimise random block ticking
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
@@ -40,23 +53,23 @@ index eac31c3fcc9161711328588ac852fcae1116d8ef..dbb59969cf55eda997588f4c3ef7dc89
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/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 30d8ec75203adc677e5fb91d9538baf52a0684ad..5eca99fbd23ff0d35607bd185b011d6f9a30d0f0 100644 index 1e2620338f0b6fd1c160a8f8d6b659e273f2f1c9..6c0e33323922de72dcb941a10883a07c72808b5f 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
@@ -273,7 +273,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -210,7 +210,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public abstract ResourceKey<LevelStem> getTypeKey(); public abstract ResourceKey<LevelStem> getTypeKey();
- protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter - protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
+ //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI + //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
// Pufferfish start - ensure these get inlined protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection; this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 3eeb1f0eac76efe9b7c24f6d5787018c7842d07a..dbb0593a6feb60216379bde6720ca16f3ca827ae 100644 index 7edc6f1e642d01299117680edc79c67225c2053c..2d4586859bd19a5094619d8abd62e466b822d293 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -125,7 +125,7 @@ public class LevelChunk extends ChunkAccess { @@ -126,7 +126,7 @@ public class LevelChunk extends ChunkAccess {
this.blockTicks = blockTickScheduler; this.blockTicks = blockTickScheduler;
this.fluidTicks = fluidTickScheduler; this.fluidTicks = fluidTickScheduler;

View File

@@ -5,27 +5,29 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts diff --git a/build.gradle.kts b/build.gradle.kts
index c187641f0ec6444a10e0e1583e1697d07e8f0267..9511ffbc88a374c4c7945da79af42433fd532d8c 100644 index f8b27b3992f1d59bf0e95bba0961540e88345754..e372110a189857056e4fae3cd1d996ce8cb69493 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,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
val alsoShade: Configuration by configurations.creating val alsoShade: Configuration by configurations.creating
dependencies { dependencies {
- implementation(project(":paper-api")) - implementation(project(":pufferfish-api")) // Pufferfish // Paper
- implementation(project(":paper-mojangapi")) - // Pufferfish start
- implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") {
+ // Purpur start + // Purpur start
+ implementation(project(":purpur-api")) + implementation(project(":purpur-api"))
+ implementation("io.papermc.paper:paper-mojangapi:${project.version}") { + implementation("io.papermc.paper:paper-mojangapi:${project.version}") {
+ exclude("io.papermc.paper", "paper-api") exclude("io.papermc.paper", "paper-api")
+ } }
- // Pufferfish end
+ // Purpur end + // Purpur end
// Paper start // Paper start
implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("org.jline:jline-terminal-jansi:3.21.0")
implementation("net.minecrell:terminalconsoleappender:1.3.0") implementation("net.minecrell:terminalconsoleappender:1.3.0")
@@ -52,6 +56,10 @@ dependencies { @@ -63,6 +63,10 @@ dependencies {
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3") }
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3") // Pufferfish end
+ implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur + implementation("org.mozilla:rhino-runtime:1.7.14") // Purpur
+ implementation("org.mozilla:rhino-engine:1.7.14") // Purpur + implementation("org.mozilla:rhino-engine:1.7.14") // Purpur
@@ -34,16 +36,16 @@ index c187641f0ec6444a10e0e1583e1697d07e8f0267..9511ffbc88a374c4c7945da79af42433
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")
@@ -72,7 +80,7 @@ tasks.jar { @@ -89,7 +93,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",
- "Implementation-Version" to "git-Paper-$implementationVersion", - "Implementation-Version" to "git-Pufferfish-$implementationVersion", // Pufferfish
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur + "Implementation-Version" to "git-Purpur-$implementationVersion", // Pufferfish // Purpur
"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,
@@ -156,7 +164,7 @@ fun TaskContainer.registerRunTask( @@ -173,7 +177,7 @@ fun TaskContainer.registerRunTask(
name: String, name: String,
block: JavaExec.() -> Unit block: JavaExec.() -> Unit
): TaskProvider<JavaExec> = register<JavaExec>(name) { ): TaskProvider<JavaExec> = register<JavaExec>(name) {
@@ -175,10 +177,10 @@ index 1d714d3eff11ed14f218656008190017494d4830..ed3527612315e6e0649182ce4e1ae283
stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append(CrashReport.getErrorComment());
stringbuilder.append("\n\n"); stringbuilder.append("\n\n");
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 97745f0bab8d82d397c6c2a5775aed92bca0a034..707a02804db563d94360b65d156c40be3aa30aeb 100644 index 371049c1236c6443384c0ce184e99d5b9f8e57c2..ebcd6c821379f4feb3b2c094266645ae552972db 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -908,7 +908,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -910,7 +910,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
shutdownThread = Thread.currentThread(); shutdownThread = Thread.currentThread();
org.spigotmc.WatchdogThread.doStop(); // Paper org.spigotmc.WatchdogThread.doStop(); // Paper
if (!isSameThread()) { if (!isSameThread()) {
@@ -187,25 +189,25 @@ index 97745f0bab8d82d397c6c2a5775aed92bca0a034..707a02804db563d94360b65d156c40be
while (this.getRunningThread().isAlive()) { while (this.getRunningThread().isAlive()) {
this.getRunningThread().stop(); this.getRunningThread().stop();
try { try {
@@ -1697,7 +1697,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1699,7 +1699,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! - return "Pufferfish"; // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! + return "Purpur"; // Purpur - Purpur > Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
} }
public SystemReport fillSystemReport(SystemReport details) { public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b7e7e6ed60f55d2ab5e4fcefb3638ad1768c3b7f..d69b765678f94eacf171841be47a8ff4f37fd405 100644 index 5a95dcc02241d6036ee520a6a7a05e8713c6081f..ff9a2122fa26a1238660dcb1bc64e3fc778ddd8d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper @@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server { public final class CraftServer implements Server {
- private final String serverName = "Paper"; // Paper - private final String serverName = "Pufferfish"; // Paper // Pufferfish
+ private final String serverName = "Purpur"; // Paper // Purpur + private final String serverName = "Purpur"; // Paper // Pufferfish // Purpur
private final String serverVersion; private final String serverVersion;
private final String bukkitVersion = Versioning.getBukkitVersion(); private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft"); private final Logger logger = Logger.getLogger("Minecraft");
@@ -237,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 fe2124694eb080cab685a1ce1f6a66e2fcdf6a17..feb5f25886889710d51ab2a88192727c948322ca 100644 index daadfec2d86f7957072a639e1e36d4082448f35f..3579715faa33a722cccb13d8d7c86a3de740d6fc 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
@@ -912,7 +912,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -912,7 +912,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -263,28 +265,28 @@ index d7ce4971d9271dbeff4adb9d852e4e7bdf60bf03..5a47a8785bc2e251d041f80a79295c43
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index 806fb1064a1769d1251f2a2b04372275754d2aeb..717b1f797d28129a0f5c7c9c7b01691aa4f14317 100644 index 3298aac109e08da4801a6f08aa6f7acfc5e6bf16..33ea5172bb7fe1018bc39acc16963f4998ac52b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -462,7 +462,7 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -462,7 +462,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@Override @Override
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
- return new com.destroystokyo.paper.PaperVersionFetcher(); - return new gg.pufferfish.pufferfish.PufferfishVersionFetcher(); // Pufferfish
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Purpur - TODO: Pufferfish + return new com.destroystokyo.paper.PaperVersionFetcher(); // Pufferfish // Purpur
} }
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 774556a62eb240da42e84db4502e2ed43495be17..fb87620c742ff7912f5e8ccd2a7930dd605576d9 100644 index 80553face9c70c2a3d897681e7761df85b22d464..99597258e8e88cd9e2c901c4ac3ff7faeeabee2b 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning { @@ -11,7 +11,7 @@ public final class Versioning {
public static String getBukkitVersion() { public static String getBukkitVersion() {
String result = "Unknown-Version"; String result = "Unknown-Version";
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties"); - InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/gg.pufferfish.pufferfish/pufferfish-api/pom.properties"); // Pufferfish
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur + InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Pufferfish // Purpur
Properties properties = new Properties(); Properties properties = new Properties();
if (stream != null) { if (stream != null) {

View File

@@ -5,28 +5,37 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java
index 4b002e8b75d117b726b0de274a76d3596fce015b..07665c89af795d76fab5fb70b4ecc7e8be68cab2 100644 index 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f8cf3a551 100644
--- a/src/main/java/com/destroystokyo/paper/Metrics.java --- a/src/main/java/com/destroystokyo/paper/Metrics.java
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java
@@ -593,7 +593,7 @@ public class Metrics { @@ -593,7 +593,7 @@ public class Metrics {
boolean logFailedRequests = config.getBoolean("logFailedRequests", false); boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
// Only start Metrics, if it's enabled in the config // Only start Metrics, if it's enabled in the config
if (config.getBoolean("enabled", true)) { if (config.getBoolean("enabled", true)) {
- Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger()); - Metrics metrics = new Metrics("Pufferfish", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur + Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
String minecraftVersion = Bukkit.getVersion(); String minecraftVersion = Bukkit.getVersion();
@@ -602,7 +602,8 @@ public class Metrics { @@ -602,16 +602,8 @@ public class Metrics {
})); }));
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
- metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline")); - metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline"));
- final String paperVersion;
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
- if (implVersion != null) {
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
- paperVersion = "git-Pufferfish-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Pufferfish
- } else {
- paperVersion = "unknown";
- }
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> paperVersion)); // Pufferfish
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur + metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur + metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
final String paperVersion;
final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion(); metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
if (implVersion != null) { Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index 56ae02aab93b9a698e9d2f07a0448aa4767169d9..756651db912068c837197a972e95bc66ab9d4a70 100644 index 56ae02aab93b9a698e9d2f07a0448aa4767169d9..756651db912068c837197a972e95bc66ab9d4a70 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -63,7 +72,7 @@ index 56ae02aab93b9a698e9d2f07a0448aa4767169d9..756651db912068c837197a972e95bc66
boolean flag1 = this.source.acceptsSuccess() && !this.silent; boolean flag1 = this.source.acceptsSuccess() && !this.silent;
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent; boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
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 dbccbcb9b44e4efacdf53c2d161115cc20b36cff..aa85cb619315b327469e6aea92876f47235ce725 100644 index 66aeb0ea388a8c8a08cf33728921061a0c74552f..6908e2165c4e4b43408a93963b4585d7cabf41dd 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
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -83,7 +92,7 @@ index dbccbcb9b44e4efacdf53c2d161115cc20b36cff..aa85cb619315b327469e6aea92876f47
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
// Paper end // Paper end
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 ea8a0961190e9aafda4fed6fecd85097c141040a..4aa00bd0f7a2ec277fdfa1c107a75d1c5276493c 100644 index 6c0e33323922de72dcb941a10883a07c72808b5f..eccc55372a7a52a92dd9418a47ece0fd2adcd6ed 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
@@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -94,7 +103,7 @@ index ea8a0961190e9aafda4fed6fecd85097c141040a..4aa00bd0f7a2ec277fdfa1c107a75d1c
public final co.aikar.timings.WorldTimingsHandler timings; // Paper public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter; private org.spigotmc.TickLimiter entityLimiter;
@@ -213,6 +214,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -215,6 +216,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
@@ -103,7 +112,7 @@ index ea8a0961190e9aafda4fed6fecd85097c141040a..4aa00bd0f7a2ec277fdfa1c107a75d1c
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 00997982aa478aba822b288f4f18779d8dbcf3cc..c4c4d18b333479062f27841ed21d827e4c2096cf 100644 index ff9a2122fa26a1238660dcb1bc64e3fc778ddd8d..2674aede815f8c6d0fbaf22895ccb7ed05f9a714 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1039,6 +1039,7 @@ public final class CraftServer implements Server { @@ -1039,6 +1039,7 @@ public final class CraftServer implements Server {
@@ -130,7 +139,7 @@ index 00997982aa478aba822b288f4f18779d8dbcf3cc..c4c4d18b333479062f27841ed21d827e
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2914,6 +2917,18 @@ public final class CraftServer implements Server { @@ -2919,6 +2922,18 @@ public final class CraftServer implements Server {
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console); return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
} }
@@ -150,7 +159,7 @@ index 00997982aa478aba822b288f4f18779d8dbcf3cc..c4c4d18b333479062f27841ed21d827e
public void restart() { public void restart() {
org.spigotmc.RestartCommand.restart(); org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index e7746952417a3ca4ea97103e38568db42039f717..754a47528fb675ceae7020d7ae26d1f9d951d27c 100644 index e4cacb17f56c618bef19e1165c07aac86af61150..a6b1c83e289bd0a9ad59288ed2da88ac3e607c0f 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -173,6 +173,14 @@ public class Main { @@ -173,6 +173,14 @@ public class Main {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 76157319b79d7fefe38cb2cc10b2d79c12667e3d..5d7c5f1a8a71f476d25c457e8858cf9b7221f0e2 100644 index ba972d1661426d7e30f6f61bad3b9608e66ea721..5fe10d6d8590ef5997a4f8f6af01ec16bf20e00a 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player { @@ -274,6 +274,7 @@ public class ServerPlayer extends Player {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Component related conveniences
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 5d7c5f1a8a71f476d25c457e8858cf9b7221f0e2..337084b28d282a5f6b03244ad14d4028477d735d 100644 index 5fe10d6d8590ef5997a4f8f6af01ec16bf20e00a..75faac7c8009672c733033c5aabb4e1974ce5790 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1784,6 +1784,26 @@ public class ServerPlayer extends Player { @@ -1784,6 +1784,26 @@ public class ServerPlayer extends Player {
@@ -81,10 +81,10 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9
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 f20ae9153b7098980ce6c0e75fcbbb4da652661b..78ba2e50abc3b5575bead1b51f37b530f5a7c4d7 100644 index 505ed0f8f933428192f5fc806ff52d84acea7f99..8bc26cc6af27ba4c13940d61154786d47cb5aaf3 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
@@ -4054,6 +4054,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4066,6 +4066,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return SlotAccess.NULL; return SlotAccess.NULL;
} }

View File

@@ -22,10 +22,10 @@ index 83cab746d1d6fe25c043c8aee28c39412b90c127..ec6b58dae525c81bbb1c0e2d96fbded6
super(x, y, z); super(x, y, z);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 707a02804db563d94360b65d156c40be3aa30aeb..5534a881d0c716fd4280017c0c21cb7c5a95d269 100644 index ebcd6c821379f4feb3b2c094266645ae552972db..edd53077098cfaaa5987dc7df7163b83a5ed3b26 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1529,6 +1529,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1531,6 +1531,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
@@ -34,7 +34,7 @@ index 707a02804db563d94360b65d156c40be3aa30aeb..5534a881d0c716fd4280017c0c21cb7c
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 17610196db7a1c6feb2cf74a02479a8691aa323f..ffa9e5672c9c416fbf0a7412c6cdaedce566aa5a 100644 index cf2fd8eba6aa4cf15cac924577507a700f7f72b5..19698f13530183b3580a7a6ad720d078b6c791ba 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
@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -66,10 +66,10 @@ index 75faac7c8009672c733033c5aabb4e1974ce5790..3f5d87ccdee1309ae8240a3d181e268d
public void doTick() { public void doTick() {
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 8bd243a8d5a4be54f907af2b02e96ea833cee62f..85996c66e1e1ab761629a558cebf5b2f60d09dbd 100644 index ef6d8f787cba0db53270adedd923f9a47d435852..675e6e7246d84195dc027c0209744896bd2b7224 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
@@ -2711,6 +2711,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -2713,6 +2713,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
cserver.getPluginManager().callEvent(event); cserver.getPluginManager().callEvent(event);
@@ -79,7 +79,7 @@ index 8bd243a8d5a4be54f907af2b02e96ea833cee62f..85996c66e1e1ab761629a558cebf5b2f
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 78ba2e50abc3b5575bead1b51f37b530f5a7c4d7..7f97cbb040e9d81ee3cccfddbed682bebaa4bda3 100644 index 8bc26cc6af27ba4c13940d61154786d47cb5aaf3..5eb10b5f75b55f66a002745d016b88e0366d1301 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
@@ -375,7 +375,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -375,7 +375,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -91,7 +91,7 @@ index 78ba2e50abc3b5575bead1b51f37b530f5a7c4d7..7f97cbb040e9d81ee3cccfddbed682be
private float eyeHeight; private float eyeHeight;
public boolean isInPowderSnow; public boolean isInPowderSnow;
public boolean wasInPowderSnow; public boolean wasInPowderSnow;
@@ -2934,6 +2934,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2946,6 +2946,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.passengers = ImmutableList.copyOf(list); this.passengers = ImmutableList.copyOf(list);
} }
@@ -105,7 +105,7 @@ index 78ba2e50abc3b5575bead1b51f37b530f5a7c4d7..7f97cbb040e9d81ee3cccfddbed682be
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
} }
} }
@@ -2974,6 +2981,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2986,6 +2993,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false; return false;
} }
// Spigot end // Spigot end
@@ -120,7 +120,7 @@ index 78ba2e50abc3b5575bead1b51f37b530f5a7c4d7..7f97cbb040e9d81ee3cccfddbed682be
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 {
@@ -4850,4 +4865,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4914,4 +4929,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
} }
// Paper end // Paper end
@@ -191,10 +191,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 b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce688c510c 100644 index 2cdc2bd62f0cb62f75365b6b3e6d80d9a2132451..cc82a506e0da0bf4318a37326924d71ca3340d5e 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
@@ -219,9 +219,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;
@@ -207,7 +207,7 @@ index b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce
protected int lerpSteps; protected int lerpSteps;
protected double lerpX; protected double lerpX;
protected double lerpY; protected double lerpY;
@@ -287,7 +287,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();
@@ -216,7 +216,7 @@ index b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce
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());
@@ -338,6 +338,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);
} }
@@ -224,7 +224,7 @@ index b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce
@Override @Override
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
@@ -2699,7 +2700,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2725,7 +2726,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
protected long lastJumpTime = 0L; // Paper protected long lastJumpTime = 0L; // Paper
@@ -233,7 +233,7 @@ index b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce
Vec3 vec3d = this.getDeltaMovement(); Vec3 vec3d = this.getDeltaMovement();
// Paper start // Paper start
long time = System.nanoTime(); long time = System.nanoTime();
@@ -3472,8 +3473,10 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3498,8 +3499,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
this.pushEntities(); this.pushEntities();
this.level().getProfiler().pop(); this.level().getProfiler().pop();
// Paper start // Paper start
@@ -246,7 +246,7 @@ index b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce
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());
@@ -3483,6 +3486,21 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3509,6 +3512,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());
} }
} }
@@ -269,7 +269,7 @@ index b95f88d5e5b4785ee063695fd81935636a0588d1..6a09fe2e6557800bed82a19c0f6f8bce
// Paper end // Paper end
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 d28c477171c1b6888a45175075017d960464b5cd..439506a5916662c1976283da9834d6f19cfa7165 100644 index 4cb836dfa7cbd2e634d4a3a567da0305aac0da4d..785421bc26d86c91983ab501fbc7484bbb389112 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
@@ -147,8 +147,8 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -147,8 +147,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -283,7 +283,7 @@ index d28c477171c1b6888a45175075017d960464b5cd..439506a5916662c1976283da9834d6f1
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);
@@ -1385,7 +1385,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1391,7 +1391,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) {
@@ -292,7 +292,7 @@ index d28c477171c1b6888a45175075017d960464b5cd..439506a5916662c1976283da9834d6f1
} }
public boolean isWithinRestriction() { public boolean isWithinRestriction() {
@@ -1769,4 +1769,56 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1775,4 +1775,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
} }
@@ -350,13 +350,13 @@ index d28c477171c1b6888a45175075017d960464b5cd..439506a5916662c1976283da9834d6f1
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java diff --git a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
index 7204b973c3ad9239e82355513f6d538107102e48..ffd1ae235e6602e73c6585f60c6ef5dd21844a12 100644 index 3087f8359b098682a345399c85395de8a15b6eed..6b0855cffb901dbc7dcc5fd44506275206bc9a2d 100644
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java --- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java +++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
@@ -23,13 +23,20 @@ public class AttributeMap { @@ -24,14 +24,21 @@ public class AttributeMap {
private final Map<Attribute, AttributeInstance> attributes = Maps.newHashMap();
private final Set<AttributeInstance> dirtyAttributes = Sets.newHashSet(); private final Set<AttributeInstance> dirtyAttributes = Sets.newHashSet();
private final AttributeSupplier supplier; private final AttributeSupplier supplier;
private final java.util.function.Function<Attribute, AttributeInstance> createInstance; // Pufferfish
+ private final net.minecraft.world.entity.LivingEntity entity; // Purpur + private final net.minecraft.world.entity.LivingEntity entity; // Purpur
public AttributeMap(AttributeSupplier defaultAttributes) { public AttributeMap(AttributeSupplier defaultAttributes) {
@@ -367,6 +367,7 @@ index 7204b973c3ad9239e82355513f6d538107102e48..ffd1ae235e6602e73c6585f60c6ef5dd
+ this.entity = entity; + this.entity = entity;
+ // Purpur end + // Purpur end
this.supplier = defaultAttributes; this.supplier = defaultAttributes;
this.createInstance = attribute -> this.supplier.createInstance(this::onAttributeModified, attribute); // Pufferfish
} }
private void onAttributeModified(AttributeInstance instance) { private void onAttributeModified(AttributeInstance instance) {
@@ -375,7 +376,7 @@ index 7204b973c3ad9239e82355513f6d538107102e48..ffd1ae235e6602e73c6585f60c6ef5dd
this.dirtyAttributes.add(instance); this.dirtyAttributes.add(instance);
} }
@@ -41,7 +48,7 @@ public class AttributeMap { @@ -43,7 +50,7 @@ public class AttributeMap {
public Collection<AttributeInstance> getSyncableAttributes() { public Collection<AttributeInstance> getSyncableAttributes() {
return this.attributes.values().stream().filter((attribute) -> { return this.attributes.values().stream().filter((attribute) -> {
@@ -526,7 +527,7 @@ index 7df56705a4a0de2dc4ff7ab133fc26612c219162..384bed4505b6cabb1ae151cd2c4eb5e5
--this.lookAtCooldown; --this.lookAtCooldown;
this.getYRotD().ifPresent((yaw) -> { this.getYRotD().ifPresent((yaw) -> {
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 5beaa849a250ea005733250ad3edfa8382224667..2ee2097ebf7753d63a99fdf492da374849a345eb 100644 index 2c91fe46355c9a201507de5577f693ed4f5fb974..e184d2a89a89d4bf77a32a2d610175c5bbd38a03 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
@@ -18,6 +18,7 @@ import net.minecraft.world.entity.EntityDimensions; @@ -18,6 +18,7 @@ import net.minecraft.world.entity.EntityDimensions;
@@ -2136,7 +2137,7 @@ index eecb7511582e5e316b71fa4a4734881424be5ca7..2efa2e19485f9d959a55115ab62f9854
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this)); this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers()); this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index 5ad5f22e5aa26445e5eb229958e7bf356bdd460e..80ff5b8b2041afd7ffef99c33ecd4f5252e827fe 100644 index d241ca4d0295f9fce39c11197bd435cfac7f6e54..09f796ec491f21520e1fcc454249e4696dad3b1b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java --- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -100,10 +100,23 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS @@ -100,10 +100,23 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
@@ -2193,16 +2194,17 @@ index 5ad5f22e5aa26445e5eb229958e7bf356bdd460e..80ff5b8b2041afd7ffef99c33ecd4f52
@Override @Override
protected Brain.Provider<Allay> brainProvider() { protected Brain.Provider<Allay> brainProvider() {
return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES); return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES);
@@ -224,6 +259,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS @@ -225,7 +260,7 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("allayBrain"); this.level().getProfiler().push("allayBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel) this.level(), this); this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("allayActivityUpdate"); this.level().getProfiler().push("allayActivityUpdate");
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 aa850cfaa0534d57e83f37360724da2428a48a18..74ea2d9fbd4967f666ac469ff4067fe0c597c655 100644 index eb1e850f11ed1cd8d2f1f2eb1af55b7fe6352ed4..4dfe6a909ac3d553bd1cd4cfc131ac8bfb5a0b02 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
@@ -98,6 +98,23 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -98,6 +98,23 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@@ -2229,15 +2231,17 @@ index aa850cfaa0534d57e83f37360724da2428a48a18..74ea2d9fbd4967f666ac469ff4067fe0
@Override @Override
public Map<String, Vector3f> getModelRotationValues() { public Map<String, Vector3f> getModelRotationValues() {
return this.modelRotationValues; return this.modelRotationValues;
@@ -283,6 +300,7 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -283,8 +300,7 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
private int behaviorTick = 0; // Pufferfish
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("axolotlBrain"); - this.level().getProfiler().push("axolotlBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel) this.level(), this); this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("axolotlActivityUpdate"); this.level().getProfiler().push("axolotlActivityUpdate");
@@ -514,14 +532,22 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -516,14 +532,22 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
private static class AxolotlMoveControl extends SmoothSwimmingMoveControl { private static class AxolotlMoveControl extends SmoothSwimmingMoveControl {
private final Axolotl axolotl; private final Axolotl axolotl;
@@ -2260,7 +2264,7 @@ index aa850cfaa0534d57e83f37360724da2428a48a18..74ea2d9fbd4967f666ac469ff4067fe0
if (!this.axolotl.isPlayingDead()) { if (!this.axolotl.isPlayingDead()) {
super.tick(); super.tick();
} }
@@ -536,9 +562,9 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -538,9 +562,9 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
} }
@Override @Override
@@ -2291,7 +2295,7 @@ index 1d9427da270edb447a2c8e031c4f05fe5d39603b..29108c481756d3150fd0ae69f6d249d1
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 5000ebc5f19dee72a86360062b822aecd60beb47..fe54027f5ec0f88077bf95d3c4cd9a291c4dfa73 100644 index c8e3d47b3f2dc919cca8ad397095437f1da6c762..3098f90ef97f69dbaf482ce0acd0c0c7ba3572b9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -79,16 +79,65 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> { @@ -79,16 +79,65 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@@ -2361,15 +2365,16 @@ index 5000ebc5f19dee72a86360062b822aecd60beb47..fe54027f5ec0f88077bf95d3c4cd9a29
@Override @Override
protected Brain.Provider<Frog> brainProvider() { protected Brain.Provider<Frog> brainProvider() {
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES); return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
@@ -167,6 +216,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> { @@ -168,7 +217,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("frogBrain"); this.level().getProfiler().push("frogBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel)this.level(), this); this.getBrain().tick((ServerLevel)this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("frogActivityUpdate"); this.level().getProfiler().push("frogActivityUpdate");
@@ -352,7 +402,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> { @@ -354,7 +403,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
return world.getBlockState(pos.below()).is(BlockTags.FROGS_SPAWNABLE_ON) && isBrightEnoughToSpawn(world, pos); return world.getBlockState(pos.below()).is(BlockTags.FROGS_SPAWNABLE_ON) && isBrightEnoughToSpawn(world, pos);
} }
@@ -2379,7 +2384,7 @@ index 5000ebc5f19dee72a86360062b822aecd60beb47..fe54027f5ec0f88077bf95d3c4cd9a29
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 4aeab90e778629c355189dfe79c39c4b21f5f5ac..b3533626fd12686d6ebb3330874f805c99a1f5f2 100644 index 6ed4ac06c76b8d0d6e8db778cade15dbd1e3e5f5..af8438ae8c805d3276ef2d82eb39b08880fcc8a1 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 { @@ -45,13 +45,50 @@ public class Tadpole extends AbstractFish {
@@ -2434,16 +2439,17 @@ index 4aeab90e778629c355189dfe79c39c4b21f5f5ac..b3533626fd12686d6ebb3330874f805c
@Override @Override
protected PathNavigation createNavigation(Level world) { protected PathNavigation createNavigation(Level world) {
return new WaterBoundPathNavigation(this, world); return new WaterBoundPathNavigation(this, world);
@@ -80,6 +117,7 @@ public class Tadpole extends AbstractFish { @@ -81,7 +118,7 @@ public class Tadpole extends AbstractFish {
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("tadpoleBrain"); this.level().getProfiler().push("tadpoleBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel) this.level(), this); this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("tadpoleActivityUpdate"); this.level().getProfiler().push("tadpoleActivityUpdate");
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 111a244087e24f25ba8524a46a228da10cd9498a..e82904142e32fe2da62e2cd00b8436b94de8c048 100644 index ff12ba2b79cb2e7e0bfd0e3b58ff6cb9e770092b..fef3b7d193d20c4fdd50b38c6a0371f05165a49d 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
@@ -92,6 +92,23 @@ public class Goat extends Animal { @@ -92,6 +92,23 @@ public class Goat extends Animal {
@@ -2470,11 +2476,12 @@ index 111a244087e24f25ba8524a46a228da10cd9498a..e82904142e32fe2da62e2cd00b8436b9
@Override @Override
protected Brain.Provider<Goat> brainProvider() { protected Brain.Provider<Goat> brainProvider() {
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES); return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
@@ -194,6 +211,7 @@ public class Goat extends Animal { @@ -195,7 +212,7 @@ public class Goat extends Animal {
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("goatBrain"); this.level().getProfiler().push("goatBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel) this.level(), this); this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
this.level().getProfiler().push("goatActivityUpdate"); this.level().getProfiler().push("goatActivityUpdate");
@@ -2940,7 +2947,7 @@ index f8cdc76561852fd32d9c079ceb3567e6d49c892e..52920b603ef88f9f6e3dd7935292fe82
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 1e07febcf7a3dfb281728cc5e3e4f15dd776d7e0..6c86411658ef0bf64cb8cf4f213112b65f2d1d90 100644 index c65ab566c6241dd6a44bd11a449ef0c4b2f6dc65..6674d1b184246ecce5270a6826b153903e4a5a88 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 @@ -84,16 +84,30 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -3089,7 +3096,7 @@ index 1e07febcf7a3dfb281728cc5e3e4f15dd776d7e0..6c86411658ef0bf64cb8cf4f213112b6
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));
} }
@@ -256,6 +370,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -263,6 +377,16 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
@@ -3106,7 +3113,7 @@ index 1e07febcf7a3dfb281728cc5e3e4f15dd776d7e0..6c86411658ef0bf64cb8cf4f213112b6
int i; int i;
if (this.getInvulnerableTicks() > 0) { if (this.getInvulnerableTicks() > 0) {
@@ -576,11 +700,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -583,11 +707,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
public int getAlternativeTarget(int headIndex) { public int getAlternativeTarget(int headIndex) {
@@ -3451,7 +3458,7 @@ index efc1d49c5bfea7d1674b8a9de2c8b617657eda0f..37afe706c5c453003ea96e62f376f45d
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 b0a97679157a18a3c623ce3b2ae315789772c254..bc2b436b03548effa821311d35433bc328d54a91 100644 index 9fc3db543a0c9df502df5fb85012c6aa590e887d..a838a35be772dffc38c84c4f352598cd75dc3f33 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
@@ -98,9 +98,27 @@ public class EnderMan extends Monster implements NeutralMob { @@ -98,9 +98,27 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -3499,7 +3506,7 @@ index b0a97679157a18a3c623ce3b2ae315789772c254..bc2b436b03548effa821311d35433bc3
float f = this.getLightLevelDependentMagicValue(); float f = this.getLightLevelDependentMagicValue();
if (f > 0.5F && this.level().canSeeSky(this.blockPosition()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper if (f > 0.5F && this.level().canSeeSky(this.blockPosition()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper
@@ -409,6 +428,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -415,6 +434,7 @@ public class EnderMan extends Monster implements NeutralMob {
public boolean hurt(DamageSource source, float amount) { public boolean hurt(DamageSource source, float amount) {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
@@ -4842,7 +4849,7 @@ index 1afe8a8694c1fd0bf43ce3c0c36a83fda9aec141..252d2994fac423ea1fef36bdc7c09778
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 4257f2282152aee09533c9a2e53018d3e49effa4..fda37baf4afef5e51265833166767b7ae8fccb96 100644 index e703320717ff620a19ff76d1c10066117c9895d5..d040198ce528293ed95adcdb17ddf0acbc5a93e0 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
@@ -69,6 +69,23 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -69,6 +69,23 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -4869,16 +4876,17 @@ index 4257f2282152aee09533c9a2e53018d3e49effa4..fda37baf4afef5e51265833166767b7a
@Override @Override
public boolean canBeLeashed(Player player) { public boolean canBeLeashed(Player player) {
return !this.isLeashed(); return !this.isLeashed();
@@ -131,6 +148,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -132,7 +149,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("hoglinBrain"); this.level().getProfiler().push("hoglinBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel)this.level(), this); this.getBrain().tick((ServerLevel)this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
HoglinAi.updateActivity(this); HoglinAi.updateActivity(this);
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 6407ddef8442fce4f310ac4babf3e3de0dd5fc9a..4c47457aba8e85770b204b0b2a27e21e11371277 100644 index cfdc1650783d6855e0d4f33ec68aab48dbee09f0..f57d7fee1ece00aba9bc7b07dda8398e7acc73c3 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
@@ -96,6 +96,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -96,6 +96,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -4905,11 +4913,12 @@ index 6407ddef8442fce4f310ac4babf3e3de0dd5fc9a..4c47457aba8e85770b204b0b2a27e21e
@Override @Override
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
@@ -303,6 +320,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -304,7 +321,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@Override @Override
protected void customServerAiStep() { protected void customServerAiStep() {
this.level().getProfiler().push("piglinBrain"); this.level().getProfiler().push("piglinBrain");
+ //if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish - if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
this.getBrain().tick((ServerLevel) this.level(), this); this.getBrain().tick((ServerLevel) this.level(), this);
this.level().getProfiler().pop(); this.level().getProfiler().pop();
PiglinAi.updateActivity(this); PiglinAi.updateActivity(this);
@@ -4950,7 +4959,7 @@ index e1be4a77fae0b9120781f460079269b85c993930..2d842c0dfce1c7e7229bd42b2a92c024
this.level().getProfiler().pop(); this.level().getProfiler().pop();
PiglinBruteAi.updateActivity(this); PiglinBruteAi.updateActivity(this);
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
index b2bc3a832c310448046ccde37a04918aa6d63197..c31a23faa07e3261d609bbecae0c2f3b15a382c6 100644 index 5e43912708f9074dee1bb351efa737a7e6796fc3..250af1ce7a93c2d2897f35c68fae319c9ba7d55d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java --- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java +++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
@@ -122,8 +122,32 @@ public class Warden extends Monster implements VibrationSystem { @@ -122,8 +122,32 @@ public class Warden extends Monster implements VibrationSystem {
@@ -4986,7 +4995,7 @@ index b2bc3a832c310448046ccde37a04918aa6d63197..c31a23faa07e3261d609bbecae0c2f3b
@Override @Override
public Packet<ClientGamePacketListener> getAddEntityPacket() { public Packet<ClientGamePacketListener> getAddEntityPacket() {
return new ClientboundAddEntityPacket(this, this.hasPose(Pose.EMERGING) ? 1 : 0); return new ClientboundAddEntityPacket(this, this.hasPose(Pose.EMERGING) ? 1 : 0);
@@ -395,19 +419,16 @@ public class Warden extends Monster implements VibrationSystem { @@ -397,19 +421,16 @@ public class Warden extends Monster implements VibrationSystem {
@Contract("null->false") @Contract("null->false")
public boolean canTargetEntity(@Nullable Entity entity) { public boolean canTargetEntity(@Nullable Entity entity) {
@@ -5010,10 +5019,10 @@ index b2bc3a832c310448046ccde37a04918aa6d63197..c31a23faa07e3261d609bbecae0c2f3b
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 f555e29c7f9ea4ddb243a018bdc93d2bf1950c3c..ee4892919763e10c7b2072851bfbbccda00c89ac 100644 index bbcc0356b4c0470502e893cf2dc2f16936a88bc4..f7b81f14cd069da83c25ca6b063289c0fad07952 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,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -157,6 +157,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));
} }
@@ -5042,15 +5051,16 @@ index f555e29c7f9ea4ddb243a018bdc93d2bf1950c3c..ee4892919763e10c7b2072851bfbbccd
@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
@@ -254,6 +276,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -258,7 +280,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void customServerAiStep(final boolean inactive) {
// Paper end // Paper end
this.level().getProfiler().push("villagerBrain"); this.level().getProfiler().push("villagerBrain");
+ //if (!inactive && (getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) { // Purpur - only use brain if no rider // Purpur - TODO: Pufferfish // Pufferfish start
if (!inactive) this.getBrain().tick((ServerLevel) this.level(), this); // Paper - if (!inactive && this.behaviorTick++ % this.activatedPriority == 0) {
this.level().getProfiler().pop(); + if (!inactive && (getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) { // Purpur - only use brain if no rider
if (this.assignProfessionWhenSpawned) { this.getBrain().tick((ServerLevel) this.level(), this); // Paper
@@ -311,7 +334,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler }
// Pufferfish end
@@ -318,7 +340,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();
@@ -5059,7 +5069,7 @@ index f555e29c7f9ea4ddb243a018bdc93d2bf1950c3c..ee4892919763e10c7b2072851bfbbccd
} else { } else {
boolean flag = this.getOffers().isEmpty(); boolean flag = this.getOffers().isEmpty();
@@ -324,8 +347,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -331,8 +353,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
if (flag) { if (flag) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7f97cbb040e9d81ee3cccfddbed682bebaa4bda3..f859e05ddc13b4d27f73fbd2abd331f3c8804363 100644 index 5eb10b5f75b55f66a002745d016b88e0366d1301..b4edc2ab9d831c3c81677544cbd1cd7369591ff5 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
@@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager; @@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager;
@@ -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 4f6ec3e2dcdb4a316cf58a9044a8cacdd982bba3..9330c6a55eb5503f7d58d94424491f46416392f4 100644 index cc82a506e0da0bf4318a37326924d71ca3340d5e..7471edf871522543cb49afef63d2c539b7e871a3 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
@@ -288,6 +288,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 4f6ec3e2dcdb4a316cf58a9044a8cacdd982bba3..9330c6a55eb5503f7d58d94424491f46
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());
@@ -303,6 +304,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()))));
} }
@@ -55,7 +55,7 @@ index 4f6ec3e2dcdb4a316cf58a9044a8cacdd982bba3..9330c6a55eb5503f7d58d94424491f46
return this.brain; return this.brain;
} }
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 2ee2097ebf7753d63a99fdf492da374849a345eb..41ac8d2cb5424aecb58158122009b5dca9b51b55 100644 index e184d2a89a89d4bf77a32a2d610175c5bbd38a03..c283900e6c43fda62428a6e6d8b70e512458e779 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
@@ -264,6 +264,18 @@ public class Bat extends AmbientCreature { @@ -264,6 +264,18 @@ public class Bat extends AmbientCreature {
@@ -459,7 +459,7 @@ index 2efa2e19485f9d959a55115ab62f985454689379..eecdb1f1d49951cb8a294d176afd12c6
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 74ea2d9fbd4967f666ac469ff4067fe0c597c655..ab04ea644615d2118d6fb1da95968cbb3139a6a2 100644 index 4dfe6a909ac3d553bd1cd4cfc131ac8bfb5a0b02..882c8fe0d9dc2e34eed2f1b11bb2c1b4d72319d2 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
@@ -115,6 +115,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo @@ -115,6 +115,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
@@ -775,7 +775,7 @@ index 52920b603ef88f9f6e3dd7935292fe82fd0aab07..e50cf2e27900da6a9f7b4bb07fc4c2ee
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 6c86411658ef0bf64cb8cf4f213112b65f2d1d90..6f7ef64612d6229179545d56093efdf58a2d7978 100644 index 6674d1b184246ecce5270a6826b153903e4a5a88..e6d6341f895c763fee05db3a7a7e05a68b9d36e9 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 @@ -112,6 +112,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
@@ -790,7 +790,7 @@ index 6c86411658ef0bf64cb8cf4f213112b65f2d1d90..6f7ef64612d6229179545d56093efdf5
@Override @Override
protected PathNavigation createNavigation(Level world) { protected PathNavigation createNavigation(Level world) {
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world); FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
@@ -420,7 +425,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -427,7 +432,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) {
@@ -885,7 +885,7 @@ index 37afe706c5c453003ea96e62f376f45d7b8eb4a8..971210c1199ec48f28446e75d8d796a1
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 bc2b436b03548effa821311d35433bc328d54a91..346f14f77dfb18d6a11b6d8d7ca8b17ef1ccd285 100644 index a838a35be772dffc38c84c4f352598cd75dc3f33..36e2d5873f8de180bda97acbad2fed4da5b02872 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
@@ -115,6 +115,11 @@ public class EnderMan extends Monster implements NeutralMob { @@ -115,6 +115,11 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -1424,7 +1424,7 @@ index 252d2994fac423ea1fef36bdc7c09778203049cb..fa5fa58ee03243054a38475634a6aa67
@Nullable @Nullable
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 fda37baf4afef5e51265833166767b7ae8fccb96..0365afdc6188d155f9d44812055fa8310114e06a 100644 index d040198ce528293ed95adcdb17ddf0acbc5a93e0..22788892f7286f3fa6b40059b2bedaf0c6ec5ef3 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
@@ -86,6 +86,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase { @@ -86,6 +86,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
@@ -1440,7 +1440,7 @@ index fda37baf4afef5e51265833166767b7ae8fccb96..0365afdc6188d155f9d44812055fa831
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 4c47457aba8e85770b204b0b2a27e21e11371277..7507b22e4ec079f359974d7e05eff3b29e59c8e6 100644 index f57d7fee1ece00aba9bc7b07dda8398e7acc73c3..d9b1bde3ce458b7e50f7645d07ee578d13006a0a 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
@@ -113,6 +113,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @@ -113,6 +113,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
@@ -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 ee4892919763e10c7b2072851bfbbccda00c89ac..44aad6e77bbf640547b6bab24587ea93db630c7a 100644 index f7b81f14cd069da83c25ca6b063289c0fad07952..95df7d57c3aaa46f09f37996a89d88aa9e9383b4 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
@@ -177,6 +177,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
// Purpur end // Purpur end

View File

@@ -5,7 +5,7 @@ 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 2fcf7f80be5f6a96c4ed45459fef3ced1f9e3813..94e55c34084a8bccac95b8e5d108760758e4d61a 100644 index 09b111dd0189b8764569e24fb6de862b1bb3bc89..cf03faf3207f886b03b0e90ad6f4ce5310db428c 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
@@ -1164,6 +1164,27 @@ public abstract class PlayerList { @@ -1164,6 +1164,27 @@ public abstract class PlayerList {

View File

@@ -78,7 +78,7 @@ index 3f5d87ccdee1309ae8240a3d181e268d8c022f56..9918f6ac1066ccadd3eb2635450faaf5
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 85996c66e1e1ab761629a558cebf5b2f60d09dbd..dd0122f3f13e162af70c6891497393fb15b15959 100644 index 675e6e7246d84195dc027c0209744896bd2b7224..3d4908a8686804a43e114d4720d7295107659e47 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
@@ -323,6 +323,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -323,6 +323,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -124,7 +124,7 @@ index 85996c66e1e1ab761629a558cebf5b2f60d09dbd..dd0122f3f13e162af70c6891497393fb
// Skip the first time we do this // Skip the first time we do this
if (true) { // Spigot - don't skip any move events if (true) { // Spigot - don't skip any move events
Location oldTo = to.clone(); Location oldTo = to.clone();
@@ -1466,7 +1488,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1467,7 +1489,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
if (!event.isAllowed()) { if (!event.isAllowed()) {
flag2 = true; // Paper - diff on change, this should be moved wrongly flag2 = true; // Paper - diff on change, this should be moved wrongly
if (event.getLogWarning()) if (event.getLogWarning())
@@ -133,7 +133,7 @@ index 85996c66e1e1ab761629a558cebf5b2f60d09dbd..dd0122f3f13e162af70c6891497393fb
} }
// Paper end // Paper end
} }
@@ -1528,6 +1550,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1529,6 +1551,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.lastYaw = to.getYaw(); this.lastYaw = to.getYaw();
this.lastPitch = to.getPitch(); this.lastPitch = to.getPitch();
@@ -177,7 +177,7 @@ index 3ff999734d14e2b6e7828e117f5ee32a60c26bc1..cfa9607241c3e69777ffc317206996c2
private EntitySelector() {} private EntitySelector() {}
// Paper start // Paper start
diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java diff --git a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
index c157309ac78e7af084d3acb6e8b2bcd469a39d5e..631b6f26c96e7de65c8ab5377f1b82c7f56df96c 100644 index ac5e5676b194a2a99e5cf53eb89c1152cac963b8..872454743f6dedc27519a13566559195c47cc9f8 100644
--- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java --- a/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
+++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java +++ b/src/main/java/net/minecraft/world/entity/ai/targeting/TargetingConditions.java
@@ -64,6 +64,10 @@ public class TargetingConditions { @@ -64,6 +64,10 @@ public class TargetingConditions {
@@ -317,10 +317,10 @@ index 27ce55687c7c59fdfdcc4553240ea8b023919b77..3ed1a91c93f659306acaf8bad6820f49
public boolean untamedTamablesAreRidable = true; public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false; public boolean useNightVisionWhenRiding = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 2f9e5a1adf9d67ffe18d95f2822ca3d2288fb27a..882541c570fa9d2bf0e03df30e112c84fa075c35 100644 index 14e8e7ad8d742cdc0c50d29d6dade3e338c0463e..d1448f50a9c03bd779f4bcd6b4fc896365316b78 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java --- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -199,6 +199,7 @@ public class ActivationRange @@ -203,6 +203,7 @@ public class ActivationRange
continue; continue;
} }

View File

@@ -17,10 +17,10 @@ index c5598adb8cbcbcf7277c2fd4dd72c243d44d9700..cda4544ae96a4fcb5c6c4483df67a59f
public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true); public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index f5aed90cc0e09136a566b4790b476ba1c37ce3dc..7c74102cfa293a1549b47907ec59367b55db6791 100644 index 2674aede815f8c6d0fbaf22895ccb7ed05f9a714..76d448e18b81fbb4b87c9cc1425fb446d9d6419c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3147,4 +3147,11 @@ public final class CraftServer implements Server { @@ -3152,4 +3152,11 @@ public final class CraftServer implements Server {
} }
// Paper end // Paper end

View File

@@ -5,15 +5,15 @@ Subject: [PATCH] Configurable server mod name
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 5534a881d0c716fd4280017c0c21cb7c5a95d269..d0f0b17f4071ca716a3f3361bf1080b9607e4e04 100644 index edd53077098cfaaa5987dc7df7163b83a5ed3b26..a22dbc34cfd9de6e996eb925c47abfccef13b0e7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1698,7 +1698,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1700,7 +1700,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate @DontObfuscate
public String getServerModName() { public String getServerModName() {
- return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! - return "Purpur"; // Purpur - Purpur > Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
+ return org.purpurmc.purpur.PurpurConfig.serverModName; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! + return org.purpurmc.purpur.PurpurConfig.serverModName; // Purpur - Purpur > Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
} }
public SystemReport fillSystemReport(SystemReport details) { public SystemReport fillSystemReport(SystemReport details) {

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 91f8f6c918ab5bc8a456b924b9b02b03905841aa..e2a09ca6fca5aa9623eae152e9861f81f7371811 100644 index 7471edf871522543cb49afef63d2c539b7e871a3..960e6ae3e7ceb981459b87343cacb7458d51eecf 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
@@ -254,6 +254,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -253,6 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
private boolean skipDropExperience; private boolean skipDropExperience;
// CraftBukkit start // CraftBukkit start
public int expToDrop; public int expToDrop;
@@ -16,7 +16,7 @@ index 91f8f6c918ab5bc8a456b924b9b02b03905841aa..e2a09ca6fca5aa9623eae152e9861f81
public boolean forceDrops; public boolean forceDrops;
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>(); public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes; public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -354,7 +355,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 91f8f6c918ab5bc8a456b924b9b02b03905841aa..e2a09ca6fca5aa9623eae152e9861f81
double d1 = this.getX(); double d1 = this.getX();
double d2 = this.getY(); double d2 = this.getY();
double d3 = this.getZ(); double d3 = this.getZ();
@@ -369,7 +370,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 91f8f6c918ab5bc8a456b924b9b02b03905841aa..e2a09ca6fca5aa9623eae152e9861f81
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);
@@ -2066,7 +2067,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2092,7 +2093,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 feb5f25886889710d51ab2a88192727c948322ca..92f17bc1631e13bf025cf7b867f6c13ccdacc4e7 100644 index 3579715faa33a722cccb13d8d7c86a3de740d6fc..3c65041eed148fe30be3c73e423433e37ae58cc5 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
@@ -1099,4 +1099,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -1099,4 +1099,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index d0f0b17f4071ca716a3f3361bf1080b9607e4e04..b064e88913e932d070f36dd3f4832f63ac5843ad 100644 index a22dbc34cfd9de6e996eb925c47abfccef13b0e7..4eeb7a43c8cdcd81fd9f8da4792ab27f54595d14 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -301,6 +301,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -301,6 +301,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -16,7 +16,7 @@ index d0f0b17f4071ca716a3f3361bf1080b9607e4e04..b064e88913e932d070f36dd3f4832f63
public volatile Thread shutdownThread; // Paper public volatile Thread shutdownThread; // Paper
public volatile boolean abnormalExit = false; // Paper public volatile boolean abnormalExit = false; // Paper
@@ -1139,6 +1140,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1141,6 +1142,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.recentTps[1] = tps5.getAverage(); this.recentTps[1] = tps5.getAverage();
this.recentTps[2] = tps15.getAverage(); this.recentTps[2] = tps15.getAverage();
// Paper end // Paper end
@@ -25,10 +25,10 @@ index d0f0b17f4071ca716a3f3361bf1080b9607e4e04..b064e88913e932d070f36dd3f4832f63
} }
// Spigot end // Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7c74102cfa293a1549b47907ec59367b55db6791..00f80e8722e69c06c79bb17090812a04c6590d1d 100644 index 76d448e18b81fbb4b87c9cc1425fb446d9d6419c..dbe110d95095e5230d1711181e4b7a762662c2bb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3153,5 +3153,10 @@ public final class CraftServer implements Server { @@ -3158,5 +3158,10 @@ public final class CraftServer implements Server {
public String getServerName() { public String getServerName() {
return this.getProperties().serverName; return this.getProperties().serverName;
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 73871f456a85bda1e51f54986d0e61fb629822e8..74499ac528becad47565c87e49a8e0b6646a0612 100644 index 2561e74ffdf595a9b6ae13dcd738662c772db442..518b927dac087000b5049bc61d43a46a7379e256 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java --- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -314,6 +314,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -316,6 +316,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
} }
@@ -25,7 +25,7 @@ index 73871f456a85bda1e51f54986d0e61fb629822e8..74499ac528becad47565c87e49a8e0b6
public static ResourceLocation getKey(EntityType<?> type) { public static ResourceLocation getKey(EntityType<?> type) {
return BuiltInRegistries.ENTITY_TYPE.getKey(type); return BuiltInRegistries.ENTITY_TYPE.getKey(type);
} }
@@ -529,6 +539,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -531,6 +541,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
return this.category; return this.category;
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable outdated build check
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 754a47528fb675ceae7020d7ae26d1f9d951d27c..d0372aa58214019b0b24a84eb8afdec6aec975a6 100644 index a6b1c83e289bd0a9ad59288ed2da88ac3e607c0f..45f63f2fedee7bcab9cd3ebc3117cecd225b89d2 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java --- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -300,7 +300,7 @@ public class Main { @@ -300,7 +300,7 @@ public class Main {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
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 8768ad8207ded2dfca532c69238dbd3cf68e2b97..83616ffe1c2698418a79bbcc34995ac80becc02e 100644 index 19698f13530183b3580a7a6ad720d078b6c791ba..c0f11d06e077c41d65b25396a14a4d81a39993e2 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
@@ -984,10 +984,18 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -1000,10 +1000,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
if (flag1) { if (flag1) {

View File

@@ -5,7 +5,7 @@ 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 f859e05ddc13b4d27f73fbd2abd331f3c8804363..61183cfcff5f4c706d0491b844531596caa1080d 100644 index b4edc2ab9d831c3c81677544cbd1cd7369591ff5..a5f54e2c17f618b99c76281b45d005280e4e31f9 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
@@ -333,7 +333,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -333,7 +333,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -18,7 +18,7 @@ index f859e05ddc13b4d27f73fbd2abd331f3c8804363..61183cfcff5f4c706d0491b844531596
protected final RandomSource random; protected 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 9b19cca3b8231b8fbda674f080922673503b1260..41d6127ef781a2119dc41f18b4831d9e150ba0fa 100644 index 1c7702a5c888846f93f8f80d3b854a26c11499be..14424afdb708df7f93caf6df45412ec721b5e1dd 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
@@ -690,6 +690,7 @@ public class ArmorStand extends LivingEntity { @@ -690,6 +690,7 @@ public class ArmorStand extends LivingEntity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 1520defef5010fb1cad0cb919497ad9ebc772dc1..97bba09ee186963f44380f2fbffa10a0b33d513e 100644 index 9918f6ac1066ccadd3eb2635450faaf5a4350523..85383b6a9d16b7cf7e928c4d9aaf7af932540091 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1109,6 +1109,7 @@ public class ServerPlayer extends Player { @@ -1109,6 +1109,7 @@ public class ServerPlayer extends Player {

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 e2a09ca6fca5aa9623eae152e9861f81f7371811..23c6ec58ab4bbd1807e3f05779258a9fd0e5133e 100644 index 960e6ae3e7ceb981459b87343cacb7458d51eecf..c22b07728dde5807873004e4037ce3b738792689 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
@@ -1826,6 +1826,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1838,6 +1838,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 e2a09ca6fca5aa9623eae152e9861f81f7371811..23c6ec58ab4bbd1807e3f05779258a9f
this.dropFromLootTable(source, flag); this.dropFromLootTable(source, flag);
// Paper start // Paper start
final boolean prev = this.clearEquipmentSlots; final boolean prev = this.clearEquipmentSlots;
@@ -1834,6 +1835,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1846,6 +1847,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,7 +5,7 @@ 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 94e55c34084a8bccac95b8e5d108760758e4d61a..c6adced2551977dff3000dce8f6c0b35c295e85e 100644 index cf03faf3207f886b03b0e90ad6f4ce5310db428c..1eafc1854d47002d683f625f4c164290eee59181 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
@@ -1156,6 +1156,7 @@ public abstract class PlayerList { @@ -1156,6 +1156,7 @@ public abstract class PlayerList {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b064e88913e932d070f36dd3f4832f63ac5843ad..0e04be813e7e0b11de4de08004c166d1fe74bedd 100644 index 4eeb7a43c8cdcd81fd9f8da4792ab27f54595d14..57f2b54ad36d33e76e538895df691987c869a043 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1158,7 +1158,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1160,7 +1160,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.tickServer(this::haveTime); this.tickServer(this::haveTime);
this.profiler.popPush("nextTickWait"); this.profiler.popPush("nextTickWait");
this.mayHaveDelayedTasks = true; this.mayHaveDelayedTasks = true;

View File

@@ -18,10 +18,10 @@ index a1e3f29ce49dc41ad70f74ee224250fe9ebea175..5bfeb39a23a72f57523a3c2db1d79c7a
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 346f14f77dfb18d6a11b6d8d7ca8b17ef1ccd285..587eaef37a5acff8c13e7256b9b90fea5e7a6310 100644 index 36e2d5873f8de180bda97acbad2fed4da5b02872..86581579aed4d8bd18c7b7ea58e2dc4fee5315ba 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
@@ -541,6 +541,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -547,6 +547,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean canUse() { public boolean canUse() {
@@ -29,7 +29,7 @@ index 346f14f77dfb18d6a11b6d8d7ca8b17ef1ccd285..587eaef37a5acff8c13e7256b9b90fea
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0); return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
} }
@@ -586,6 +587,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -592,6 +593,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override @Override
public boolean canUse() { public boolean canUse() {

View File

@@ -30,10 +30,10 @@ index 5119d070dbb04f5a4f9c2def526e33e15ca8573f..d5408629801716ccb227b6a7068d1749
// 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 44aad6e77bbf640547b6bab24587ea93db630c7a..d7cad34509c126122bce62596371780c34404024 100644 index 95df7d57c3aaa46f09f37996a89d88aa9e9383b4..d92a151fa308dd9cbf49e4ab6c581feeb3080519 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
@@ -153,6 +153,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -155,6 +155,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));

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 439506a5916662c1976283da9834d6f19cfa7165..4863dc005e40f270ad33e33afce953739fd28101 100644 index 785421bc26d86c91983ab501fbc7484bbb389112..b6fd8797d791a60505f8389a38ef6626407a4dbf 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
@@ -1312,6 +1312,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1318,6 +1318,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 439506a5916662c1976283da9834d6f19cfa7165..4863dc005e40f270ad33e33afce95373
// Paper start - drop leash variable // Paper start - drop leash variable
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 d7cad34509c126122bce62596371780c34404024..8f65901bc4e189e2ac2686ca17233b9166e7b870 100644 index d92a151fa308dd9cbf49e4ab6c581feeb3080519..616a6c78a056839575b4dabfeebb7cb2dce25026 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
@@ -183,6 +183,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -185,6 +185,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);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement infinite liquids
diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
index e21f4c5aff3a8e97101f6efc1349fbecf326b5ea..ad077179fe5cf4acbfbe7572470201ab91817996 100644 index c55f51e6db55f9fa66f53eef0e7a56af5f81d742..74688f4672936cd2ac629b9f2f404163df6730e9 100644
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java --- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java +++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
@@ -218,7 +218,7 @@ public abstract class FlowingFluid extends Fluid { @@ -228,7 +228,7 @@ public abstract class FlowingFluid extends Fluid {
} }
} }
@@ -17,7 +17,7 @@ index e21f4c5aff3a8e97101f6efc1349fbecf326b5ea..ad077179fe5cf4acbfbe7572470201ab
BlockState iblockdata2 = world.getBlockState(pos.below()); BlockState iblockdata2 = world.getBlockState(pos.below());
FluidState fluid1 = iblockdata2.getFluidState(); FluidState fluid1 = iblockdata2.getFluidState();
@@ -302,6 +302,12 @@ public abstract class FlowingFluid extends Fluid { @@ -337,6 +337,12 @@ public abstract class FlowingFluid extends Fluid {
protected abstract boolean canConvertToSource(Level world); protected abstract boolean canConvertToSource(Level world);

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 61183cfcff5f4c706d0491b844531596caa1080d..3d8228ee86e2924f584f14a43832060e6d59f709 100644 index a5f54e2c17f618b99c76281b45d005280e4e31f9..790c6c677cd83bd4158e1567e51b7669fc219178 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 { @@ -860,7 +860,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void checkBelowWorld() { public void checkBelowWorld() {
// Paper start - Configurable nether ceiling damage // Paper start - Configurable nether ceiling damage
@@ -18,10 +18,10 @@ index 61183cfcff5f4c706d0491b844531596caa1080d..3d8228ee86e2924f584f14a43832060e
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end // Paper 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 23c6ec58ab4bbd1807e3f05779258a9fd0e5133e..cb6bcd006ef482087a336747836889bb3afcb53e 100644 index c22b07728dde5807873004e4037ce3b738792689..8b25c2f8b089caf3fa03ff73d65be5c2f442a5d3 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
@@ -2512,7 +2512,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2538,7 +2538,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 3d8228ee86e2924f584f14a43832060e6d59f709..46098a03d6993db7509f351aa302d0e62a29078e 100644 index 790c6c677cd83bd4158e1567e51b7669fc219178..ea1ecc287a75860fd8275d604fb9b130d355894b 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
@@ -486,6 +486,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -492,6 +492,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false; return false;
} }

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 4863dc005e40f270ad33e33afce953739fd28101..1c457561399b4a531ca7cb616a4bde69b30a4bc6 100644 index b6fd8797d791a60505f8389a38ef6626407a4dbf..92e74dd04e715650b435537014bb89f15a112e19 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
@@ -65,6 +65,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -65,6 +65,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -16,7 +16,7 @@ index 4863dc005e40f270ad33e33afce953739fd28101..1c457561399b4a531ca7cb616a4bde69
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;
@@ -1170,6 +1171,12 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1176,6 +1177,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }

View File

@@ -18,7 +18,7 @@ index eca634792d2a7cc649675e3394e84dbaf1453905..2bd576849403bc2cfae298c221061619
if (entry != null) { if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue(); ItemStack itemstack = (ItemStack) entry.getValue();
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index 16f087adbf94b8fd6726ffd300b103dd709ad406..d375703e0ad4cc2b82d6693e15800539e0c7c9f1 100644 index 4697df75fdee2023c41260bed211e3e3d90d2b9b..25be1927304e497a6ebf9d9ec09525a5418095db 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -589,6 +589,16 @@ public final class ItemStack { @@ -589,6 +589,16 @@ public final class ItemStack {

View File

@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
setListData(vector); setListData(vector);
} }
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0e04be813e7e0b11de4de08004c166d1fe74bedd..0c3ac30bb0b932aee211857cf0c8bf7eadaf00aa 100644 index 57f2b54ad36d33e76e538895df691987c869a043..c29f8291b43a2e92e3444ab72dd23065a006f11f 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -39,7 +39,7 @@ index 0e04be813e7e0b11de4de08004c166d1fe74bedd..0c3ac30bb0b932aee211857cf0c8bf7e
// Spigot end // Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
public static long currentTickLong = 0L; // Paper public static long currentTickLong = 0L; // Paper
@@ -1032,6 +1032,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1034,6 +1034,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L; private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0; private long lastTick = 0;
private long catchupTime = 0; private long catchupTime = 0;
@@ -47,7 +47,7 @@ index 0e04be813e7e0b11de4de08004c166d1fe74bedd..0c3ac30bb0b932aee211857cf0c8bf7e
public final RollingAverage tps1 = new RollingAverage(60); public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5); public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15); public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1132,13 +1133,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1134,13 +1135,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{ {
final long diff = curTime - tickSection; final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP); java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -69,10 +69,10 @@ index 0e04be813e7e0b11de4de08004c166d1fe74bedd..0c3ac30bb0b932aee211857cf0c8bf7e
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime; tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index badcaf433d9862ce1b74cb283cd5151f968aab82..da183351dddd0e36613004d9a0c3576203a78050 100644 index dbe110d95095e5230d1711181e4b7a762662c2bb..da114737b3515b3f39aaa36c23a0d76699eb4239 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2871,6 +2871,7 @@ public final class CraftServer implements Server { @@ -2876,6 +2876,7 @@ public final class CraftServer implements Server {
@Override @Override
public double[] getTPS() { public double[] getTPS() {
return new double[] { return new double[] {

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 48c5c63469a81ba3d671f8ea9efd815b6ebb7031..395cfab75f313be3921952bc570fd53194ad37d6 100644 index 8b25c2f8b089caf3fa03ff73d65be5c2f442a5d3..ee41bfa1a851340f291182f520c9cf1925a355af 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
@@ -3533,7 +3533,16 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3559,7 +3559,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 892a334d1b1c0784ed6838d1aa066403998b9a9f..6047010e3a2063cec45cea4d1bc7dab367448d12 100644 index d46e61640b241d32df05240dedd2c23f138725e6..c6ef510d335b8baea58c4491853414a52a06b66b 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java --- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -73,7 +73,7 @@ public class ServerEntity { @@ -73,7 +73,7 @@ public class ServerEntity {

View File

@@ -27,10 +27,10 @@ index 277555a26e8281dd1a626e572794b08cf51d00c5..48e4fecf5ae5538004e3f53093b8be7c
return true; return true;
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 4aa00bd0f7a2ec277fdfa1c107a75d1c5276493c..e573b65758d63dcece863752d1308c5c2a8b60e4 100644 index eccc55372a7a52a92dd9418a47ece0fd2adcd6ed..4f950128114b8fb6ad145a7302ce6be327c8b6c1 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
@@ -1880,4 +1880,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1883,4 +1883,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
} }
// Paper end - notify observers even if grow failed // Paper end - notify observers even if grow failed

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
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 4d81437253e5a66fb46cad979edfcf987f455477..68ed6821876e0ee310854b7f6436dd341712a92c 100644 index 3d4908a8686804a43e114d4720d7295107659e47..fb887cbbd5d5ca0a29bd31672b38a18db2f2e8db 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
@@ -1227,13 +1227,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1228,13 +1228,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
itemstack1.setTag(nbttagcompound.copy()); itemstack1.setTag(nbttagcompound.copy());
} }
@@ -28,7 +28,7 @@ index 4d81437253e5a66fb46cad979edfcf987f455477..68ed6821876e0ee310854b7f6436dd34
this.updateBookPages(pages, (s) -> { this.updateBookPages(pages, (s) -> {
return Component.Serializer.toJson(Component.literal(s)); return Component.Serializer.toJson(Component.literal(s));
@@ -1245,10 +1248,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1246,10 +1249,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void updateBookPages(List<FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit private void updateBookPages(List<FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
ListTag nbttaglist = new ListTag(); ListTag nbttaglist = new ListTag();
@@ -44,7 +44,7 @@ index 4d81437253e5a66fb46cad979edfcf987f455477..68ed6821876e0ee310854b7f6436dd34
Objects.requireNonNull(nbttaglist); Objects.requireNonNull(nbttaglist);
stream.forEach(nbttaglist::add); stream.forEach(nbttaglist::add);
@@ -1258,11 +1264,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1259,11 +1265,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
for (int j = list.size(); i < j; ++i) { for (int j = list.size(); i < j; ++i) {
FilteredText filteredtext = (FilteredText) list.get(i); FilteredText filteredtext = (FilteredText) list.get(i);
@@ -58,7 +58,7 @@ index 4d81437253e5a66fb46cad979edfcf987f455477..68ed6821876e0ee310854b7f6436dd34
} }
} }
@@ -1275,6 +1281,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1276,6 +1282,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
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 68ed6821876e0ee310854b7f6436dd341712a92c..2976ddef7292f3cdf14353d20b1e4e2085dbb1a8 100644 index fb887cbbd5d5ca0a29bd31672b38a18db2f2e8db..14f6abe6e7eeaf5d3053bf3ecb540b898813c267 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
@@ -2738,6 +2738,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -2740,6 +2740,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
AABB axisalignedbb = entity.getBoundingBox(); AABB axisalignedbb = entity.getBoundingBox();
if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
@@ -17,7 +17,7 @@ index 68ed6821876e0ee310854b7f6436dd341712a92c..2976ddef7292f3cdf14353d20b1e4e20
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 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279efd4dd81c 100644 index 92e74dd04e715650b435537014bb89f15a112e19..3e954a04e3ccdfcd495d0c56535c951eeaa2b5ce 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
@@ -135,6 +135,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -135,6 +135,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -28,7 +28,7 @@ index 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279e
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) {
@@ -322,6 +323,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -324,6 +325,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
entityliving = null; entityliving = null;
} }
} }
@@ -36,7 +36,7 @@ index 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279e
this.target = entityliving; this.target = entityliving;
return true; return true;
// CraftBukkit end // CraftBukkit end
@@ -369,8 +371,28 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -371,8 +373,28 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
this.level().getProfiler().pop(); this.level().getProfiler().pop();
@@ -65,7 +65,7 @@ index 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279e
@Override @Override
protected void playHurtSound(DamageSource source) { protected void playHurtSound(DamageSource source) {
this.resetAmbientSoundTime(); this.resetAmbientSoundTime();
@@ -560,6 +582,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -562,6 +584,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 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279e
} }
@Override @Override
@@ -630,6 +653,11 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -632,6 +655,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 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279e
} }
@Override @Override
@@ -1704,6 +1732,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1710,6 +1738,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
this.setLastHurtMob(target); this.setLastHurtMob(target);
} }

View File

@@ -36,10 +36,10 @@ index 85383b6a9d16b7cf7e928c4d9aaf7af932540091..8b05588b480af39d25bfcb84a5241e9e
+ // 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 395cfab75f313be3921952bc570fd53194ad37d6..47ae4785f08e7d0a51e2ddd01f8cc06aadb46cb0 100644 index ee41bfa1a851340f291182f520c9cf1925a355af..3fe857ddd4dbaa73f9556f547f03e9f747a52c40 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
@@ -428,6 +428,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

@@ -25,7 +25,7 @@ index 8cc7e83e6272ed9c3f005c76aa3432fb2d3c76a6..b9ba53461de687070dda3c0bcccbee24
public boolean spiderRidable = false; public boolean spiderRidable = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 882541c570fa9d2bf0e03df30e112c84fa075c35..bc98504b9eacd41994c234e6385f37c5d681383b 100644 index d1448f50a9c03bd779f4bcd6b4fc896365316b78..925cd6e07efc3a42ff5787823b046726ce863104 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java --- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -15,6 +15,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature; @@ -15,6 +15,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature;
@@ -36,7 +36,7 @@ index 882541c570fa9d2bf0e03df30e112c84fa075c35..bc98504b9eacd41994c234e6385f37c5
import net.minecraft.world.entity.animal.WaterAnimal; import net.minecraft.world.entity.animal.WaterAnimal;
import net.minecraft.world.entity.animal.horse.Llama; import net.minecraft.world.entity.animal.horse.Llama;
import net.minecraft.world.entity.boss.EnderDragonPart; import net.minecraft.world.entity.boss.EnderDragonPart;
@@ -379,6 +380,7 @@ public class ActivationRange @@ -402,6 +403,7 @@ public class ActivationRange
*/ */
public static boolean checkIfActive(Entity entity) public static boolean checkIfActive(Entity entity)
{ {

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 8f65901bc4e189e2ac2686ca17233b9166e7b870..a3064132c1ecdbff0414d1c3048a400cef6bad59 100644 index 616a6c78a056839575b4dabfeebb7cb2dce25026..1754c88d9b3bdbce721062c564a5f61c2ad14e86 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
@@ -780,7 +780,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -786,7 +786,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override @Override
public boolean canBreed() { public boolean canBreed() {

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 de20531092b5a053e36ce9469ba5db40b1cf9381..de704fea146a758f27dc5c476ef08b58b4524e53 100644 index 3fe857ddd4dbaa73f9556f547f03e9f747a52c40..3271c1a14fba90ab2e6467d907dfaf8cf5c12b65 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
@@ -1614,6 +1614,18 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1626,6 +1626,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Short enderman height
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 74499ac528becad47565c87e49a8e0b6646a0612..55fced3e70c7bc49306af00dcc1d92ffb83a799b 100644 index 518b927dac087000b5049bc61d43a46a7379e256..5d703e322bd220665c3ce3a41e40129b238ae150 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java --- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -307,7 +307,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -309,7 +309,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
private Component description; private Component description;
@Nullable @Nullable
private ResourceLocation lootTable; private ResourceLocation lootTable;
@@ -19,10 +19,10 @@ index 74499ac528becad47565c87e49a8e0b6646a0612..55fced3e70c7bc49306af00dcc1d92ff
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
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 587eaef37a5acff8c13e7256b9b90fea5e7a6310..8b4129b8f0f6a368ae6b168aac404316f12797bb 100644 index 86581579aed4d8bd18c7b7ea58e2dc4fee5315ba..ebef4f39af4928ed5bd206a82aa0e3992e67db78 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
@@ -434,6 +434,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -440,6 +440,7 @@ public class EnderMan extends Monster implements NeutralMob {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage } else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage

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 46098a03d6993db7509f351aa302d0e62a29078e..cb4d428a4edfcfcd7b6750487620cfc9d613f561 100644 index ea1ecc287a75860fd8275d604fb9b130d355894b..267e3ddaed711ee275bf64855c0382df81d1f12c 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
@@ -4356,6 +4356,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4368,6 +4368,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.yRotO = this.getYRot(); this.yRotO = this.getYRot();
} }
@@ -19,7 +19,7 @@ index 46098a03d6993db7509f351aa302d0e62a29078e..cb4d428a4edfcfcd7b6750487620cfc9
+ // Purpur end + // Purpur end
+ +
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) { public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
if (this.touchingUnloadedChunk()) { if (false && this.touchingUnloadedChunk()) { // Pufferfish - cost of a lookup here is the same cost as below, so skip
return false; return false;
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 913b66be2111da862e706d4978825c64cfe8b00b..f68c18b6645981126329b58379946308bbb8ccf8 100644 index 913b66be2111da862e706d4978825c64cfe8b00b..f68c18b6645981126329b58379946308bbb8ccf8 100644

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 cb4d428a4edfcfcd7b6750487620cfc9d613f561..7a7f6368eae5cdad69d2ad4e2b8bcc547fb3853c 100644 index 267e3ddaed711ee275bf64855c0382df81d1f12c..f2b06c4930c39a3e47f0ea35dfa5997f21654674 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
@@ -3075,7 +3075,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3087,7 +3087,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
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 cb4d428a4edfcfcd7b6750487620cfc9d613f561..7a7f6368eae5cdad69d2ad4e2b8bcc54
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) { if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable(); this.portalEntrancePos = pos.immutable();
} }
@@ -3780,7 +3780,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3792,7 +3792,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean canChangeDimensions() { public boolean canChangeDimensions() {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
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 92f17bc1631e13bf025cf7b867f6c13ccdacc4e7..1001beea3538a9723074421047dc3fbecf063d02 100644 index 3c65041eed148fe30be3c73e423433e37ae58cc5..07cbcb7f5a77b75ba10ccb470502c73fab17784e 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
@@ -1110,5 +1110,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -1110,5 +1110,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

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 6f7ef64612d6229179545d56093efdf58a2d7978..b395d5c85f26ca4252d3f8f886b2ee5a7892af5f 100644 index e6d6341f895c763fee05db3a7a7e05a68b9d36e9..8796b779ac0550e32c7313b1280278de48070baf 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
@@ -518,8 +518,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -525,8 +525,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
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 83616ffe1c2698418a79bbcc34995ac80becc02e..fe4f830eec3b4798588303574c45813d74623aed 100644 index c0f11d06e077c41d65b25396a14a4d81a39993e2..8824d5e4b6d0ab504dd80b0cceef743b456d7e2e 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
@@ -707,7 +707,24 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -707,7 +707,24 @@ public class ServerLevel extends Level implements WorldGenLevel {

View File

@@ -45,7 +45,7 @@ index 6ec7d0f5e525f9e04b6fa0fb6d4da5fcc22fe653..64acb2e81ef65acb0d41db8b5f7c924c
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
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 1efcafd736c1dbd057d5bfe7abbfcb1fb2d6f7b3..d9caaa16e4d62bdfbc3106a63c1b4bef06727bad 100644 index 971abbfdff555a569ad54b9db5947c3ec50408d2..46fec497e411e3160d9ae9553ae52654d10a9dd3 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
@@ -157,7 +157,19 @@ public class Zombie extends Monster { @@ -157,7 +157,19 @@ public class Zombie extends Monster {

View File

@@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time; this.gameTime = time;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0c3ac30bb0b932aee211857cf0c8bf7eadaf00aa..8a09a1950e3f4b1d0cb121b369f8753fee238253 100644 index c29f8291b43a2e92e3444ab72dd23065a006f11f..cdf770adf641844caf0290a8354046aeb8e00cb3 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1521,7 +1521,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1523,7 +1523,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime(); long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight); final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) { for (Player entityhuman : level.players()) {
@@ -31,7 +31,7 @@ index 0c3ac30bb0b932aee211857cf0c8bf7eadaf00aa..8a09a1950e3f4b1d0cb121b369f8753f
} }
ServerPlayer entityplayer = (ServerPlayer) entityhuman; ServerPlayer entityplayer = (ServerPlayer) entityhuman;
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 fe4f830eec3b4798588303574c45813d74623aed..3c50b83608d5f714b97aa7e7ca5f893c7d13053c 100644 index 8824d5e4b6d0ab504dd80b0cceef743b456d7e2e..0535faa8d95e75e3848ece4d756428a50b6c19f3 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
@@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -51,7 +51,7 @@ index fe4f830eec3b4798588303574c45813d74623aed..3c50b83608d5f714b97aa7e7ca5f893c
} }
// Paper start // Paper start
@@ -947,6 +950,13 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -961,6 +964,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setGameTime(i); this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i); this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -65,7 +65,7 @@ index fe4f830eec3b4798588303574c45813d74623aed..3c50b83608d5f714b97aa7e7ca5f893c
this.setDayTime(this.levelData.getDayTime() + 1L); this.setDayTime(this.levelData.getDayTime() + 1L);
} }
@@ -955,7 +965,21 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -969,7 +979,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) { public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay); this.serverLevelData.setDayTime(timeOfDay);

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