mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 01:17:42 +01:00
Add Pufferfish Patches
This commit is contained in:
@@ -1,19 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ben Kerllenevich <ben@omega24.dev>
|
||||
Date: Tue, 23 Nov 2021 08:38:18 -0500
|
||||
Subject: [PATCH] Decompile Fixes
|
||||
|
||||
|
||||
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 c5b9c0c650df5f4b7e3d2a431dc900e210104dea..212e2c5b4b917c0c327d4b0612fecaea81c0ad87 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -123,7 +123,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
|
||||
@Override
|
||||
public Brain<Hoglin> getBrain() {
|
||||
- return super.getBrain();
|
||||
+ return (Brain<Hoglin>) super.getBrain(); // Purpur - decompile fix
|
||||
}
|
||||
|
||||
@Override
|
||||
4280
patches/server/0001-Pufferfish-Server-Changes.patch
Normal file
4280
patches/server/0001-Pufferfish-Server-Changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
@@ -5,43 +5,37 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index da31e84cb558e6fad9cab015cfae753ce7be7db0..07f572b9aa249e154bc08ecf8517c3953392b74f 100644
|
||||
index 0f194168f5fca8eb768bca3ce953f28097fed578..1bdcca4d1a25f4292ab9421d44fa3018af263341 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -18,8 +18,12 @@ repositories {
|
||||
@@ -18,7 +18,7 @@ repositories {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":paper-api"))
|
||||
- implementation(project(":paper-mojangapi"))
|
||||
+ // Purpur start
|
||||
+ implementation(project(":purpur-api"))
|
||||
+ implementation("io.papermc.paper:paper-mojangapi:1.18.1-R0.1-SNAPSHOT") {
|
||||
+ exclude("io.papermc.paper", "paper-api")
|
||||
+ }
|
||||
+ // Purpur end
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -50,6 +54,8 @@ dependencies {
|
||||
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
||||
+ implementation(project(":purpur-api")) // Pufferfish // Paper // Purpur
|
||||
// Pufferfish start
|
||||
implementation("io.papermc.paper:paper-mojangapi:1.18.1-R0.1-SNAPSHOT") {
|
||||
exclude("io.papermc.paper", "paper-api")
|
||||
@@ -54,6 +54,8 @@ dependencies {
|
||||
isTransitive = false
|
||||
}
|
||||
// Paper end
|
||||
+ implementation("cat.inspiracio:rhino-js-engine:1.7.7.1") // Purpur
|
||||
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
|
||||
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
@@ -68,7 +74,7 @@ tasks.jar {
|
||||
// Pufferfish start
|
||||
implementation("org.yaml:snakeyaml:1.28")
|
||||
@@ -80,7 +82,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
- "Implementation-Version" to "git-Paper-$implementationVersion",
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur
|
||||
- "Implementation-Version" to "git-Pufferfish-$implementationVersion", // Pufferfish
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Pufferfish // Purpur
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -156,7 +162,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -168,7 +170,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -116,23 +110,23 @@ index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e30
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 481a5dbad82f3f8dd5b1bf8ab207d82ec73d5bbd..7ad6b7b3094156477570b738026d88cb0f0f4f9e 100644
|
||||
index 1e7ae166a1d53fce28297e2eaebd11ec28a57a55..f0e7f8d4eb632d7c7effcd3d85d67baf1bf9eb41 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1709,7 +1709,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1711,7 +1711,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
- return "Pufferfish"; // Pufferfish - Pufferfish > // 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) {
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..fd3d3e22613511a42f7fc343079b081c72ff3f61 100644
|
||||
index aae2dadabedb075fd1bc712f0226882b85f4551d..9c31e5d653f2027cf5b028f9fb9268f1469cb1e0 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -290,11 +290,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -292,11 +292,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!");
|
||||
DedicatedServer.LOGGER.warn("The server will make no attempt to authenticate usernames. Beware.");
|
||||
// Spigot start
|
||||
@@ -148,28 +142,41 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..fd3d3e22613511a42f7fc343079b081c
|
||||
// Spigot end
|
||||
DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index ba7023e7ca5d29375ff53c2951892138d155f69f..c94053599f30f61a67c20d61b41963ce1326db07 100644
|
||||
index 041ebfefca8f944f457a269f0e0b450b21949e73..3ccb381b11cec8dcd8c23de3efaa3a27902a5ac5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
- private final String serverName = "Paper"; // Paper
|
||||
+ private final String serverName = "Purpur"; // Paper // Purpur
|
||||
- private final String serverName = "Pufferfish"; // Paper // Pufferfish
|
||||
+ private final String serverName = "Purpur"; // Paper // Pufferfish // Purpur
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index 98d396658bd7547e6b6f850529cab216e83c6c62..5687dbbb3f1df46a453841c24a343773c801bf73 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -421,7 +421,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
- return new gg.pufferfish.pufferfish.PufferfishVersionFetcher(); // Pufferfish
|
||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Pufferfish // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
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
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||
public static String getBukkitVersion() {
|
||||
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/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur
|
||||
- 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"); // Pufferfish // Purpur
|
||||
Properties properties = new Properties();
|
||||
|
||||
if (stream != null) {
|
||||
|
||||
@@ -5,25 +5,24 @@ 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
|
||||
index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..7bc497bcae6a6a752e3c432178cb1e3c633e0bec 100644
|
||||
index f2fe6ea3719ff8b2913b7a3a939d7a5b75cb8b28..ed13b7b3f9d2a0b644d17d1019d42cbc4bbe72f7 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
@@ -593,8 +593,7 @@ public class Metrics {
|
||||
@@ -593,7 +593,7 @@ public class Metrics {
|
||||
boolean logFailedRequests = config.getBoolean("logFailedRequests", false);
|
||||
// Only start Metrics, if it's enabled in the config
|
||||
if (config.getBoolean("enabled", true)) {
|
||||
- Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger());
|
||||
-
|
||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
|
||||
- Metrics metrics = new Metrics("Pufferfish", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish
|
||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur
|
||||
|
||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||
String minecraftVersion = Bukkit.getVersion();
|
||||
minecraftVersion = minecraftVersion.substring(minecraftVersion.indexOf("MC: ") + 4, minecraftVersion.length() - 1);
|
||||
@@ -602,8 +601,8 @@ public class Metrics {
|
||||
@@ -602,8 +602,8 @@ public class Metrics {
|
||||
}));
|
||||
|
||||
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("paper_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"));
|
||||
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown"));
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (PaperConfig.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
||||
|
||||
@@ -65,7 +64,7 @@ index 098182d2426a25cef0bc285356bc346db0af8172..c26435a6b5cdc61ae5d123dacea711a4
|
||||
if (this.source.acceptsSuccess() && !this.silent) {
|
||||
this.source.sendMessage(message, Util.NIL_UUID);
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index fd3d3e22613511a42f7fc343079b081c72ff3f61..8bf98d8f8e9f0baaf203a9e8d18683236856eab7 100644
|
||||
index 9c31e5d653f2027cf5b028f9fb9268f1469cb1e0..d58e5357f9cb45d9b5ddeaed4ec76aa388fc34d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -228,6 +228,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -85,7 +84,7 @@ index fd3d3e22613511a42f7fc343079b081c72ff3f61..8bf98d8f8e9f0baaf203a9e8d1868323
|
||||
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
|
||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 4247dcb003626535dbb997f48ad9f61380bd17e9..76faf838e27813595850ebb8c9a028f1c68325ad 100644
|
||||
index 90aa1d75b5c23e5ee27ceae9f6ef90de913a6601..37884e05689288d56ef0efe92296b80ef6093b3c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -97,7 +96,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..76faf838e27813595850ebb8c9a028f1
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -311,6 +313,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -320,6 +322,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, 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.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
|
||||
@@ -106,7 +105,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..76faf838e27813595850ebb8c9a028f1
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index c94053599f30f61a67c20d61b41963ce1326db07..df6eec75dc80f18b7804d1b5a181b4d5fd573abb 100644
|
||||
index 3ccb381b11cec8dcd8c23de3efaa3a27902a5ac5..f69516d01a634a08b75744bfe26e5d9f6831c8f3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -952,6 +952,7 @@ public final class CraftServer implements Server {
|
||||
@@ -133,7 +132,7 @@ index c94053599f30f61a67c20d61b41963ce1326db07..df6eec75dc80f18b7804d1b5a181b4d5
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2662,6 +2665,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2667,6 +2670,18 @@ public final class CraftServer implements Server {
|
||||
return com.destroystokyo.paper.PaperConfig.config;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 7b23535a680d2a8534dcb8dd87770f66fb982c13..4b842e78d3e8fbca90f5f3d975bee654
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 926d0a80cbb55184955ac6720948d2e86683cc57..7842e8098f044f20bee462a3c1c9ca8553b77e6a 100644
|
||||
index 889a4804eaa128e2f79a4ea48b8aa796336576d1..f020ec3974c9d8de8afd42bb33065350365c4687 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3142,6 +3142,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3143,6 +3143,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
||||
|
||||
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
||||
@@ -28,7 +28,7 @@ index 926d0a80cbb55184955ac6720948d2e86683cc57..7842e8098f044f20bee462a3c1c9ca85
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3166,6 +3167,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3167,6 +3168,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
|
||||
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ index 4b842e78d3e8fbca90f5f3d975bee654ec87d91d..c516ad43cac2419bcf63e11eaa183785
|
||||
public void displayClientMessage(Component message, boolean actionBar) {
|
||||
this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 042be2cf60a9d01698808d84f2e537a5eb952079..6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c 100644
|
||||
index f55f8c0b2c748a5442199c0a7f772b02ed533753..e07dd4a0d0918d306512487ee7e989c8b39a7222 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1373,6 +1373,62 @@ public abstract class PlayerList {
|
||||
@@ -123,10 +123,10 @@ index a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..19d6165f266fcc39bc3533042109ef1b
|
||||
return this.isFireSource;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 8ea81f6ac7503c68f0aea34802843bc545f46db0..605a0e9cf68a4f698ac03b3477585861aeb354c7 100644
|
||||
index 335ac54bef892db6b9fe66d0a7c3966abda84350..957407d5fa39445c63d621bd9eafb526bcbf6bce 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3608,6 +3608,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3635,6 +3635,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ index 14610e6144ec144ebbec6fb0945c67bb0ea86795..6833eb5dc7aa64bef1b3b38de5e282bd
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491e2fc80c2 100644
|
||||
index f0e7f8d4eb632d7c7effcd3d85d67baf1bf9eb41..a8a711c96a38c3d1c9d9b86418d389d5fa81ca29 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1587,6 +1587,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1589,6 +1589,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
ServerLevel worldserver = (ServerLevel) iterator.next();
|
||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
@@ -34,7 +34,7 @@ index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491
|
||||
|
||||
this.profiler.push(() -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 28f605c3daa969c1a54745e552d55ecb874120a9..f7cfc6d5ad13dba64c2350fe3fac7f31471e8642 100644
|
||||
index c7229e120d601619d2ea869d7aa506fb3b78cde4..41c9033b3e4fc9574793f670df3bb90c395ac991 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -211,6 +211,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -73,10 +73,10 @@ index c516ad43cac2419bcf63e11eaa183785b462de5c..618595add09eef5381307ba2fe154adf
|
||||
+
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7842e8098f044f20bee462a3c1c9ca8553b77e6a..1b50ee29ab8721807745e052e19c67e7db6cfd18 100644
|
||||
index f020ec3974c9d8de8afd42bb33065350365c4687..2d1897d84f7f1f6265a5c31ec2666af7019010c9 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2453,6 +2453,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -2454,6 +2454,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -86,7 +86,7 @@ index 7842e8098f044f20bee462a3c1c9ca8553b77e6a..1b50ee29ab8721807745e052e19c67e7
|
||||
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)) {
|
||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((LivingEntity) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 605a0e9cf68a4f698ac03b3477585861aeb354c7..43697061ddbbdf160453d3ab189097a6a56e6246 100644
|
||||
index 957407d5fa39445c63d621bd9eafb526bcbf6bce..905e54d53f7a209f538da1500df0d3dfa6e8c7ed 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -98,7 +98,7 @@ index 605a0e9cf68a4f698ac03b3477585861aeb354c7..43697061ddbbdf160453d3ab189097a6
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2616,6 +2616,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2643,6 +2643,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ index 605a0e9cf68a4f698ac03b3477585861aeb354c7..43697061ddbbdf160453d3ab189097a6
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2656,6 +2662,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2683,6 +2689,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -126,7 +126,7 @@ index 605a0e9cf68a4f698ac03b3477585861aeb354c7..43697061ddbbdf160453d3ab189097a6
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4288,4 +4302,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4367,4 +4381,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -192,10 +192,10 @@ index 645c1dc9bd09b135a641759c76ce8d957b9bd488..03adc3b746e05bb4b0514ba4a66c101b
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c4a971263 100644
|
||||
index 2c988e05299d530d483e21ab452de0a03e5bdcbd..46134547b26de59bb69c584df676bf09e756420e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity {
|
||||
protected int deathScore;
|
||||
public float lastHurt;
|
||||
public boolean jumping;
|
||||
@@ -208,7 +208,7 @@ index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -284,7 +284,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -283,7 +283,7 @@ public abstract class LivingEntity extends Entity {
|
||||
this.effectsDirty = true;
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
@@ -217,7 +217,7 @@ index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c
|
||||
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
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||
@@ -335,6 +335,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -334,6 +334,7 @@ public abstract class LivingEntity extends Entity {
|
||||
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);
|
||||
}
|
||||
@@ -225,7 +225,7 @@ index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState landedState, BlockPos landedPosition) {
|
||||
@@ -2585,7 +2586,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2606,7 +2607,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper
|
||||
@@ -234,7 +234,7 @@ index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c
|
||||
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start
|
||||
@@ -3327,8 +3328,10 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3348,8 +3349,10 @@ public abstract class LivingEntity extends Entity {
|
||||
this.pushEntities();
|
||||
this.level.getProfiler().pop();
|
||||
// Paper start
|
||||
@@ -247,7 +247,7 @@ index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c
|
||||
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());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3338,6 +3341,21 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3359,6 +3362,21 @@ public abstract class LivingEntity extends Entity {
|
||||
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -270,7 +270,7 @@ index 43378561cf48f969f5bf1fd0db349415f4d1c866..b43623d0d0dce7ca09b83e9bc20fb75c
|
||||
// Paper end
|
||||
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
|
||||
index 031660f7d0ea270f87e5174a4fe65ccad1f7a561..2266fc8c5c0f39de9122727d43dd12eef199cb70 100644
|
||||
index 607e78c24edabb26fd7494855087f7f19cfdc576..65e7ce5cb473733b6a4ec89998f4b14053c62c42 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -143,6 +143,8 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -282,7 +282,7 @@ index 031660f7d0ea270f87e5174a4fe65ccad1f7a561..2266fc8c5c0f39de9122727d43dd12ee
|
||||
this.jumpControl = new JumpControl(this);
|
||||
this.bodyRotationControl = this.createBodyControl();
|
||||
this.navigation = this.createNavigation(world);
|
||||
@@ -1300,7 +1302,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1304,7 +1306,7 @@ public abstract class Mob extends LivingEntity {
|
||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -291,7 +291,7 @@ index 031660f7d0ea270f87e5174a4fe65ccad1f7a561..2266fc8c5c0f39de9122727d43dd12ee
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1661,4 +1663,52 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1665,4 +1667,52 @@ public abstract class Mob extends LivingEntity {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -345,13 +345,13 @@ index 031660f7d0ea270f87e5174a4fe65ccad1f7a561..2266fc8c5c0f39de9122727d43dd12ee
|
||||
+ // 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
|
||||
index 9cbfda029782385d1a7987f5be46d450bd8a758e..718b3fbf5b92d9979de7775e1d40420bb7cf439b 100644
|
||||
index 52ddf38d5a1894a248e142c6b9ebaff5cc921e5b..4fa1e8dd7ebc839527eed7f7db5af2c56c38f230 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ai/attributes/AttributeMap.java
|
||||
@@ -22,13 +22,20 @@ public class AttributeMap {
|
||||
private final Map<Attribute, AttributeInstance> attributes = Maps.newHashMap();
|
||||
@@ -23,14 +23,21 @@ public class AttributeMap {
|
||||
private final Set<AttributeInstance> dirtyAttributes = Sets.newHashSet();
|
||||
private final AttributeSupplier supplier;
|
||||
private final java.util.function.Function<Attribute, AttributeInstance> createInstance; // Pufferfish
|
||||
+ private final net.minecraft.world.entity.LivingEntity entity; // Purpur
|
||||
|
||||
public AttributeMap(AttributeSupplier defaultAttributes) {
|
||||
@@ -362,6 +362,7 @@ index 9cbfda029782385d1a7987f5be46d450bd8a758e..718b3fbf5b92d9979de7775e1d40420b
|
||||
+ this.entity = entity;
|
||||
+ // Purpur end
|
||||
this.supplier = defaultAttributes;
|
||||
this.createInstance = attribute -> this.supplier.createInstance(this::onAttributeModified, attribute); // Pufferfish
|
||||
}
|
||||
|
||||
private void onAttributeModified(AttributeInstance instance) {
|
||||
@@ -370,7 +371,7 @@ index 9cbfda029782385d1a7987f5be46d450bd8a758e..718b3fbf5b92d9979de7775e1d40420b
|
||||
this.dirtyAttributes.add(instance);
|
||||
}
|
||||
|
||||
@@ -40,7 +47,7 @@ public class AttributeMap {
|
||||
@@ -42,7 +49,7 @@ public class AttributeMap {
|
||||
|
||||
public Collection<AttributeInstance> getSyncableAttributes() {
|
||||
return this.attributes.values().stream().filter((attribute) -> {
|
||||
@@ -531,7 +532,7 @@ index 7df56705a4a0de2dc4ff7ab133fc26612c219162..60d21d6171b9af20a4c6fcc0d564a31a
|
||||
}
|
||||
|
||||
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 29dfbcecfbb2560e6ecde997abd5224a16c08c94..8a6608310caf1a9046fba4e51ca0eff92c8177fc 100644
|
||||
index a76b754305036bf9c6387e27b86ec1559b290774..76de99e019c784609dfcafb35b9c4c9d21f8d6cf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -19,6 +19,7 @@ import net.minecraft.world.entity.EntityDimensions;
|
||||
@@ -2058,7 +2059,7 @@ index 4797c34872f8fa2fba00172357c4f45e45cfe27f..4187d8fdb950781de8b414ed6928a3df
|
||||
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
|
||||
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
|
||||
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 86acf89ce875e215da8469947b382f70e42314b0..09a3ed5cd02e38eab3a66ada03b2651b8cbe1751 100644
|
||||
index 0fe2d6190ebba24713a3da7ef5367ecb86814a66..7f535683dcc2ad9908400d98328174baf1ea5a91 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -91,6 +91,23 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -2085,7 +2086,7 @@ index 86acf89ce875e215da8469947b382f70e42314b0..09a3ed5cd02e38eab3a66ada03b2651b
|
||||
@Override
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
@@ -514,14 +531,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -516,14 +533,22 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
private static class AxolotlMoveControl extends SmoothSwimmingMoveControl {
|
||||
|
||||
private final Axolotl axolotl;
|
||||
@@ -2108,7 +2109,7 @@ index 86acf89ce875e215da8469947b382f70e42314b0..09a3ed5cd02e38eab3a66ada03b2651b
|
||||
if (!this.axolotl.isPlayingDead()) {
|
||||
super.tick();
|
||||
}
|
||||
@@ -536,9 +561,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -538,9 +563,9 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2121,7 +2122,7 @@ index 86acf89ce875e215da8469947b382f70e42314b0..09a3ed5cd02e38eab3a66ada03b2651b
|
||||
|
||||
}
|
||||
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 cc5687f43f8ac99995667fdc53c5c0586f70f367..563ead054aa41c8420d9b3f8c335dce20c229ac6 100644
|
||||
index d5cd18c478bedaeed83de31d442d1a5b0f0f54cf..898a82d5f6404b736e13c14d9c15ea27a4f938b4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -74,6 +74,18 @@ public class Goat extends Animal {
|
||||
@@ -2143,11 +2144,12 @@ index cc5687f43f8ac99995667fdc53c5c0586f70f367..563ead054aa41c8420d9b3f8c335dce2
|
||||
@Override
|
||||
protected Brain.Provider<Goat> brainProvider() {
|
||||
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
|
||||
@@ -149,6 +161,7 @@ public class Goat extends Animal {
|
||||
@@ -150,7 +162,7 @@ public class Goat extends Animal {
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("goatBrain");
|
||||
+ if (getRider() == null) // Purpur - only use brain if no rider
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if (getRider() == null && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("goatActivityUpdate");
|
||||
@@ -3035,7 +3037,7 @@ index ee9194ffb3cc6d660d4f99a3914ede7e4a3643fe..1f789b1d481234cafaa6e75c36a272bb
|
||||
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
|
||||
index d47002d45dabd66f38d25d398d8943f4b911cdc5..3e14ad3c66ff2e14e9f746a0d03bc34e7a48c1c8 100644
|
||||
index 5e207a3ea30ead2749c1121e2df8da53c8ebfdd7..753a6cee043ecb9c8af10ed0a1dfc9040bdf47b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -88,9 +88,22 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -3078,7 +3080,7 @@ index d47002d45dabd66f38d25d398d8943f4b911cdc5..3e14ad3c66ff2e14e9f746a0d03bc34e
|
||||
float f = this.getBrightness();
|
||||
|
||||
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
|
||||
@@ -379,6 +393,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -385,6 +399,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
@@ -4326,7 +4328,7 @@ index c1e0cf7d86d7b45cc4ca342d80f0dc3fe43b0bfd..2dec8be9b199e9bcf0970774afbd19a4
|
||||
public void setPersistentAngerTarget(@Nullable UUID uuid) {
|
||||
this.persistentAngerTarget = uuid;
|
||||
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 212e2c5b4b917c0c327d4b0612fecaea81c0ad87..1412ab46fe66773ee8fbb717921e71934840fe9d 100644
|
||||
index 17b4185704abfd47832941d02d60500707e8a530..84969aa36add3b261b377c6b139313b153af4c46 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -67,6 +67,18 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -4348,16 +4350,17 @@ index 212e2c5b4b917c0c327d4b0612fecaea81c0ad87..1412ab46fe66773ee8fbb717921e7193
|
||||
@Override
|
||||
public boolean canBeLeashed(Player player) {
|
||||
return !this.isLeashed();
|
||||
@@ -129,6 +141,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -130,7 +142,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("hoglinBrain");
|
||||
+ if (getRider() == null) // Purpur - only use brain if no rider
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if (getRider() == null && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel)this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
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
|
||||
index 8a2c2b4bd603aae37055abd058feb7ee759078ce..0edd303a5425af88b34ad6dbee5c39a5f1b73022 100644
|
||||
index d850f1f57fc7560738f7bd82b37ec888e8e9301c..6d27e775cff2e70889ef3fc4646d46edb184fb71 100644
|
||||
--- a/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,18 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -4379,11 +4382,12 @@ index 8a2c2b4bd603aae37055abd058feb7ee759078ce..0edd303a5425af88b34ad6dbee5c39a5
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
@@ -291,6 +303,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -292,7 +304,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("piglinBrain");
|
||||
+ if (getRider() == null) // Purpur - only use brain if no rider
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if (getRider() == null && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
PiglinAi.updateActivity(this);
|
||||
@@ -4428,10 +4432,10 @@ index ea0040a3494709efb4819c7530dbcc37aa62e86a..5025d4571a34fe9e0e58ada6b81b0647
|
||||
this.level.getProfiler().pop();
|
||||
PiglinBruteAi.updateActivity(this);
|
||||
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 ea612b3c3ed7305b504d65eb6d38ed99547fd488..ed56e4f4e35d0425546a37455af3776c65d45f66 100644
|
||||
index 7d6bc3c253a77adfc7c35383caadb37154dc5c0f..d951bc1d709f64871a01edc81f091c8f4c032d34 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -151,6 +151,23 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -153,6 +153,23 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||
}
|
||||
|
||||
@@ -4455,7 +4459,16 @@ index ea612b3c3ed7305b504d65eb6d38ed99547fd488..ed56e4f4e35d0425546a37455af3776c
|
||||
@Override
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
@@ -302,7 +319,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -250,7 +267,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
// Pufferfish start
|
||||
if (!inactive) {
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if (getRider() == null && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
}
|
||||
// Pufferfish end
|
||||
@@ -310,7 +327,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
if (!itemstack.is(Items.VILLAGER_SPAWN_EGG) && this.isAlive() && !this.isTrading() && !this.isSleeping()) {
|
||||
if (this.isBaby()) {
|
||||
this.setUnhappy();
|
||||
@@ -4464,7 +4477,7 @@ index ea612b3c3ed7305b504d65eb6d38ed99547fd488..ed56e4f4e35d0425546a37455af3776c
|
||||
} else {
|
||||
boolean flag = this.getOffers().isEmpty();
|
||||
|
||||
@@ -315,8 +332,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -323,8 +340,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
@@ -4551,7 +4564,7 @@ index 4132c1113f5437a776e5e3c1cb306904775aed88..1a945a32c3d3705a318ebca72a365931
|
||||
public void tick() {
|
||||
super.tick();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 15744949537430d8d8ae71ea72481126c9aff7bd..36417466ae30e9f7f3e953fd4ff98ed3f3b71725 100644
|
||||
index 4759a6b3d3cd7973744562adf97d110d359ebce3..cfb43f277c013680a0e51fb93796e38f88b506db 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -35,7 +35,7 @@ public abstract class Projectile extends Entity {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 43697061ddbbdf160453d3ab189097a6a56e6246..d1e937e7294d360e4f81dc54730b3f4ef1fe3c27 100644
|
||||
index 905e54d53f7a209f538da1500df0d3dfa6e8c7ed..146b3d064829d38901c34e639d01d8d02b05f495 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -149,7 +149,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -34,10 +34,10 @@ index 03adc3b746e05bb4b0514ba4a66c101b9742ceed..ec261673ac444fd5de9c8556cde5d788
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 5d9e460c54068e0e05f975fa057a099c160a3d0d..f1df05c21fe3cce9270506bfb1882bd75d57471d 100644
|
||||
index 46134547b26de59bb69c584df676bf09e756420e..dac5e52f2d86a9f4874cbaa2fdd6775d4b0566c1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -284,6 +284,7 @@ public abstract class LivingEntity extends Entity {
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
|
||||
@@ -45,7 +45,7 @@ index 5d9e460c54068e0e05f975fa057a099c160a3d0d..f1df05c21fe3cce9270506bfb1882bd7
|
||||
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
|
||||
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
|
||||
@@ -300,6 +301,8 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -299,6 +300,8 @@ public abstract class LivingEntity extends Entity {
|
||||
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (net.minecraft.nbt.Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (net.minecraft.nbt.Tag) dynamicopsnbt.emptyMap()))));
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ index 5d9e460c54068e0e05f975fa057a099c160a3d0d..f1df05c21fe3cce9270506bfb1882bd7
|
||||
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
|
||||
index 8a6608310caf1a9046fba4e51ca0eff92c8177fc..743b5d483a230d56207a8864b5abab06d7c68e16 100644
|
||||
index 76de99e019c784609dfcafb35b9c4c9d21f8d6cf..e82592e3e43f38a0f09803c7b111d73a90361f88 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -86,6 +86,18 @@ public class Bat extends AmbientCreature {
|
||||
@@ -459,7 +459,7 @@ index 4187d8fdb950781de8b414ed6928a3df4a89ba67..277637692e504cca04bfca7683c05229
|
||||
|
||||
@Override
|
||||
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 09a3ed5cd02e38eab3a66ada03b2651b8cbe1751..a2b2d3f670cd200d7fba40f8227964ef95c5b455 100644
|
||||
index 7f535683dcc2ad9908400d98328174baf1ea5a91..1b66aea5871ccf83ea39d3f52f0f6da72cd785b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -106,6 +106,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -475,7 +475,7 @@ index 09a3ed5cd02e38eab3a66ada03b2651b8cbe1751..a2b2d3f670cd200d7fba40f8227964ef
|
||||
|
||||
@Override
|
||||
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 563ead054aa41c8420d9b3f8c335dce20c229ac6..21aca411c458a1e80cdd6e97961f9a5c572854a9 100644
|
||||
index 898a82d5f6404b736e13c14d9c15ea27a4f938b4..39a7ea2854090d8505a9bc888313d84645595e23 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -84,6 +84,11 @@ public class Goat extends Animal {
|
||||
@@ -845,7 +845,7 @@ index 1f789b1d481234cafaa6e75c36a272bbd064482e..e25374b06e3babd93cd5bbdd58ea401a
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
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 3e14ad3c66ff2e14e9f746a0d03bc34e7a48c1c8..e5ddb64d1a212266c05170359e27927a5f9e243e 100644
|
||||
index 753a6cee043ecb9c8af10ed0a1dfc9040bdf47b7..1cec7bb3efa1e3377f72489c090d3234123d3e26 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -98,6 +98,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -1342,7 +1342,7 @@ index 2dec8be9b199e9bcf0970774afbd19a4861d802f..f30b36b3f1153e1cbd9b8242909d9ba8
|
||||
|
||||
@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
|
||||
index 1412ab46fe66773ee8fbb717921e71934840fe9d..3ec9b8343cf80ceea8503ad78863a4b539c6ef6b 100644
|
||||
index 84969aa36add3b261b377c6b139313b153af4c46..e46a6bba628417c1b0795c477e649cfeca015647 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -77,6 +77,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -1358,7 +1358,7 @@ index 1412ab46fe66773ee8fbb717921e71934840fe9d..3ec9b8343cf80ceea8503ad78863a4b5
|
||||
|
||||
@Override
|
||||
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 0edd303a5425af88b34ad6dbee5c39a5f1b73022..86a9800276648c094c688d6dbedd51657e642df5 100644
|
||||
index 6d27e775cff2e70889ef3fc4646d46edb184fb71..862534112722a482cd5f69b346b69f3d46086359 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -106,6 +106,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -1390,10 +1390,10 @@ index 5025d4571a34fe9e0e58ada6b81b064716b8f672..f6734f2eb44af7b2389de5079831e0e4
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
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 ed56e4f4e35d0425546a37455af3776c65d45f66..6dcc96a2c939ebd0ca5e1934e69d61dfc2b5fa21 100644
|
||||
index d951bc1d709f64871a01edc81f091c8f4c032d34..0f466c9301c38e3747a22f116b98d47d1d912601 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -166,6 +166,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -168,6 +168,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Timings stuff
|
||||
|
||||
|
||||
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
index 5e3b7fb2e0b7608610555cd23e7ad25a05883181..52197656e46fd159240a936fe13bfb27f2b4e9a7 100644
|
||||
index 26bde1c22363ddbdbe4127d14bae54e17b0d7393..0f4b41fd7037f380f759a93f9ef70b4860816ad1 100644
|
||||
--- a/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
|
||||
@@ -225,9 +225,14 @@ public class TimingsExport extends Thread {
|
||||
@@ -225,10 +225,14 @@ public class TimingsExport extends Thread {
|
||||
// Information on the users Config
|
||||
|
||||
parent.put("config", createObject(
|
||||
@@ -16,16 +16,17 @@ index 5e3b7fb2e0b7608610555cd23e7ad25a05883181..52197656e46fd159240a936fe13bfb27
|
||||
+ // Purpur start
|
||||
+ pair("server.properties", mapAsJSON(Bukkit.spigot().getServerProperties())),
|
||||
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
|
||||
- pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null))
|
||||
+ pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)),
|
||||
- pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Pufferfish
|
||||
- pair("pufferfish", mapAsJSON(gg.pufferfish.pufferfish.PufferfishConfig.getConfigCopy(), null)) // Pufferfish
|
||||
+ pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
|
||||
+ pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)),
|
||||
+ pair("pufferfish", mapAsJSON(gg.pufferfish.pufferfish.PufferfishConfig.getConfigCopy(), null)), // Pufferfish
|
||||
+ pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null))
|
||||
+ // Purpur end
|
||||
));
|
||||
|
||||
new TimingsExport(listeners, parent, history).start();
|
||||
@@ -268,6 +273,19 @@ public class TimingsExport extends Thread {
|
||||
@@ -269,6 +273,19 @@ public class TimingsExport extends Thread {
|
||||
return timingsCost;
|
||||
}
|
||||
|
||||
@@ -46,11 +47,11 @@ index 5e3b7fb2e0b7608610555cd23e7ad25a05883181..52197656e46fd159240a936fe13bfb27
|
||||
|
||||
JSONObject object = new JSONObject();
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index cd918cec00d8202252af0d20b1a8891371c538e3..6c1b67fbd4524aac075e93ed454f7139002c997a 100644
|
||||
index 2a19037d3ad734d1cf746d02b72926dd702fd23a..cbae8e7a2ee67e5a8f07f8d9b9bf4be30e760928 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -234,6 +234,12 @@ public class PaperConfig {
|
||||
boolean timings = getBoolean("timings.enabled", true);
|
||||
@@ -243,6 +243,12 @@ public class PaperConfig {
|
||||
// Pufferfish end
|
||||
boolean verboseTimings = getBoolean("timings.verbose", true);
|
||||
TimingsManager.url = getString("timings.url", "https://timings.aikar.co/");
|
||||
+ // Purpur start
|
||||
|
||||
@@ -68,7 +68,7 @@ index 618595add09eef5381307ba2fe154adfc97b2a0e..100d01814aca6cbb26c721f55851df27
|
||||
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
|
||||
index 1b50ee29ab8721807745e052e19c67e7db6cfd18..5ad2118d07c190eae3e76a7c8cb6e216d12c915e 100644
|
||||
index 2d1897d84f7f1f6265a5c31ec2666af7019010c9..fa14b693257811fa762eeb209042ff1a4b3a65ec 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -295,6 +295,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -114,7 +114,7 @@ index 1b50ee29ab8721807745e052e19c67e7db6cfd18..5ad2118d07c190eae3e76a7c8cb6e216
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1439,7 +1461,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1440,7 +1462,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
|
||||
flag1 = true; // Paper - diff on change, this should be moved wrongly
|
||||
@@ -123,7 +123,7 @@ index 1b50ee29ab8721807745e052e19c67e7db6cfd18..5ad2118d07c190eae3e76a7c8cb6e216
|
||||
}
|
||||
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
@@ -1489,6 +1511,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1490,6 +1512,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -167,7 +167,7 @@ index e39965c2e50bc8ee424ea07819346e0611398e28..212ea98eeaaf4b20ba0896dab03cd092
|
||||
private EntitySelector() {}
|
||||
// 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
|
||||
index a7575b5ef56af6f53448d391abb4956e130148ca..0a9e4dc5d6d567605c587df9bcbb57d379b62877 100644
|
||||
index e752c83df50fb9b670ecea2abc95426c2a009b6f..baa4f9026d31de92210300ecb8ee8c1b6d575435 100644
|
||||
--- a/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 {
|
||||
@@ -305,10 +305,10 @@ index 373bdce6590564bd9de4a571a91bbf05e287ee08..27d70e8e29902fe4275200cf75082980
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 1732e753ea7748a66abecafb2136f93383f5ec4e..068238bc911d8458a321a920c3638d368449ac95 100644
|
||||
index 2eb9bc34afdc26bed21bc9d3e97f636cfc97f166..e12ba58f3795c17694defa308ced50a19d2a37b9 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -195,6 +195,7 @@ public class ActivationRange
|
||||
@@ -199,6 +199,7 @@ public class ActivationRange
|
||||
{
|
||||
|
||||
player.activatedTick = MinecraftServer.currentTick;
|
||||
|
||||
@@ -17,10 +17,10 @@ index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99b
|
||||
public final boolean spawnNpcs = this.get("spawn-npcs", 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
|
||||
index df6eec75dc80f18b7804d1b5a181b4d5fd573abb..484111518d60c4f764f4c59b45cff96b86a6dbbe 100644
|
||||
index f69516d01a634a08b75744bfe26e5d9f6831c8f3..2551044b41483dd719e5944e5536888acc3a1968 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2831,4 +2831,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2836,4 +2836,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
|
||||
@@ -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
|
||||
index 973ea150c2f8ac136736b4ae9f505491e2fc80c2..1cb6c989a0b21df7dff72062550daa09721d7687 100644
|
||||
index a8a711c96a38c3d1c9d9b86418d389d5fa81ca29..11f96558f195cc60b4376f8554a4bc5cd93014b9 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1710,7 +1710,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1712,7 +1712,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return org.purpurmc.purpur.PurpurConfig.serverModName; // 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 > // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
|
||||
@@ -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
|
||||
index f1df05c21fe3cce9270506bfb1882bd75d57471d..ab868741cdb9ad20c81d4ed3561d498d25fcbf12 100644
|
||||
index dac5e52f2d86a9f4874cbaa2fdd6775d4b0566c1..6418809533a1847967e5cd18e70d3586bc79d979 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -251,6 +251,7 @@ public abstract class LivingEntity extends Entity {
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
public int maxAirTicks = 300;
|
||||
@@ -16,7 +16,7 @@ index f1df05c21fe3cce9270506bfb1882bd75d57471d..ab868741cdb9ad20c81d4ed3561d498d
|
||||
public boolean forceDrops;
|
||||
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -351,8 +352,8 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -350,8 +351,8 @@ public abstract class LivingEntity extends Entity {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ index f1df05c21fe3cce9270506bfb1882bd75d57471d..ab868741cdb9ad20c81d4ed3561d498d
|
||||
|
||||
if (!landedState.isAir()) {
|
||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
@@ -1905,7 +1906,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1926,7 +1927,7 @@ public abstract class LivingEntity extends Entity {
|
||||
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
|
||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||
|
||||
|
||||
@@ -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
|
||||
index 1cb6c989a0b21df7dff72062550daa09721d7687..4d89c9de4b4aae4452750fb941a2e610b8834039 100644
|
||||
index 11f96558f195cc60b4376f8554a4bc5cd93014b9..bb4b6194583cf65a98aaf099d0c37acc47570b38 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index 1cb6c989a0b21df7dff72062550daa09721d7687..4d89c9de4b4aae4452750fb941a2e610
|
||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||
// Spigot end
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
@@ -1247,6 +1248,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1249,6 +1250,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.recentTps[1] = tps5.getAverage();
|
||||
this.recentTps[2] = tps15.getAverage();
|
||||
// Paper end
|
||||
@@ -25,10 +25,10 @@ index 1cb6c989a0b21df7dff72062550daa09721d7687..4d89c9de4b4aae4452750fb941a2e610
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 484111518d60c4f764f4c59b45cff96b86a6dbbe..a45996f5668cbf070a59ec8296c940b1ff08f8f2 100644
|
||||
index 2551044b41483dd719e5944e5536888acc3a1968..64f20aa2a4f87fa39c5ba9c2ce2b32ff01dd222d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2837,5 +2837,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2842,5 +2842,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 419a7e9614af2328ed401fc954196056243a984c..3177e4f0af6ec4dd22c7e809d23f3711a8dfda54 100644
|
||||
index 9bc568a2b0df13f55ee8670839b9e6a6b4f38c2d..ac29cea738d013b69c263dd4708966e59a7e5741 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -285,6 +285,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -25,7 +25,7 @@ index 419a7e9614af2328ed401fc954196056243a984c..3177e4f0af6ec4dd22c7e809d23f3711
|
||||
public static ResourceLocation getKey(EntityType<?> type) {
|
||||
return Registry.ENTITY_TYPE.getKey(type);
|
||||
}
|
||||
@@ -450,6 +460,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -451,6 +461,16 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
return this.category;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index 3177e4f0af6ec4dd22c7e809d23f3711a8dfda54..4236c9dfa0be6fa8ad2f3e32d7f65f1b722c4e60 100644
|
||||
index ac29cea738d013b69c263dd4708966e59a7e5741..4833e545545d9114a15f0bcc0d0a2a214183000f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -333,13 +333,20 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -334,13 +334,20 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
|
||||
@Nullable
|
||||
public Entity spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) {
|
||||
@@ -31,7 +31,7 @@ index 3177e4f0af6ec4dd22c7e809d23f3711a8dfda54..4236c9dfa0be6fa8ad2f3e32d7f65f1b
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -364,9 +371,29 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -365,9 +372,29 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
}
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -82,10 +82,10 @@ index 100d01814aca6cbb26c721f55851df27dc654880..7d8853191eadf5f5d909dcc0269740d6
|
||||
public Scoreboard getScoreboard() {
|
||||
return this.getBukkitEntity().getScoreboard().getHandle();
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 5ad2118d07c190eae3e76a7c8cb6e216d12c915e..728d6829d9fdf20176e7c8568b8acbf43fdf4d1e 100644
|
||||
index fa14b693257811fa762eeb209042ff1a4b3a65ec..5e2769dac191d725a1e38e61a871baa644d29b44 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1963,12 +1963,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1964,12 +1964,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager brain ticks
|
||||
|
||||
|
||||
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 9a8e08e9a44900ad3899a63992948941abe7c5d8..17eb573debec8e67dab2f5790ba9fc0a1f09a208 100644
|
||||
index 0f466c9301c38e3747a22f116b98d47d1d912601..783cdc4949549725c884cdc0edff485936c77de3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -137,6 +137,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -14,9 +14,9 @@ index 9a8e08e9a44900ad3899a63992948941abe7c5d8..17eb573debec8e67dab2f5790ba9fc0a
|
||||
});
|
||||
+ private final int brainTickOffset; // Purpur
|
||||
|
||||
public Villager(EntityType<? extends Villager> entityType, Level world) {
|
||||
this(entityType, world, VillagerType.PLAINS);
|
||||
@@ -149,6 +150,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
public long nextGolemPanic = -1; // Pufferfish
|
||||
|
||||
@@ -151,6 +152,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.getNavigation().setCanFloat(true);
|
||||
this.setCanPickUpLoot(true);
|
||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||
@@ -24,17 +24,17 @@ index 9a8e08e9a44900ad3899a63992948941abe7c5d8..17eb573debec8e67dab2f5790ba9fc0a
|
||||
}
|
||||
|
||||
// Purpur start
|
||||
@@ -267,6 +269,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void customServerAiStep() { mobTick(false); }
|
||||
protected void mobTick(boolean inactive) {
|
||||
@@ -272,6 +274,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
+ // Purpur start
|
||||
+ boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
||||
+ if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||
+ // Purpur end
|
||||
if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
this.level.getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
// Pufferfish start
|
||||
if (!inactive) {
|
||||
+ // Purpur start
|
||||
+ boolean tick = (level.getGameTime() + brainTickOffset) % level.purpurConfig.villagerBrainTicks == 0;
|
||||
+ if (((ServerLevel) level).getServer().lagging ? tick : level.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||
+ // Purpur end
|
||||
if (getRider() == null && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 29de4c4316285b7ddf77c508d098584d2cb365e9..ccd3597d78a12d8e6a3514c0f9cfa2aa31b688f8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 728d6829d9fdf20176e7c8568b8acbf43fdf4d1e..727f75ec771f68268904ea93b9da30427b8579fa 100644
|
||||
index 5e2769dac191d725a1e38e61a871baa644d29b44..a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -228,6 +228,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -38,7 +38,7 @@ index 728d6829d9fdf20176e7c8568b8acbf43fdf4d1e..727f75ec771f68268904ea93b9da3042
|
||||
if (this.keepAlivePending) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||
@@ -3134,6 +3150,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3135,6 +3151,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
|
||||
@@ -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
|
||||
index f7cfc6d5ad13dba64c2350fe3fac7f31471e8642..ba095685ec775cb5a7ac9a5b7b0a91797f87b087 100644
|
||||
index 41c9033b3e4fc9574793f670df3bb90c395ac991..99eb79174cb45ac4d94990afef410dba0daf632c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -750,9 +750,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -765,9 +765,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
||||
|
||||
if (flag1) {
|
||||
|
||||
@@ -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
|
||||
index ab868741cdb9ad20c81d4ed3561d498d25fcbf12..d2944ac5002f77dee2ae111b4f529471ab265c59 100644
|
||||
index 6418809533a1847967e5cd18e70d3586bc79d979..1988ffd4778d00d62fe334479de50cd4ef094f31 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1712,10 +1712,12 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1719,10 +1719,12 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 7af5b443983d557199100c0ab5044e96ebf52d9b..36569048c8ba952270b8ca1e492292cab5f13ae6 100644
|
||||
index 146b3d064829d38901c34e639d01d8d02b05f495..bc1139194a3cb087eb8fc92e85491ae44ee461c3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1736,6 +1736,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -1763,6 +1763,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.yRotO = this.getYRot();
|
||||
this.xRotO = this.getXRot();
|
||||
this.setYHeadRot(yaw); // Paper - Update head rotation
|
||||
@@ -17,10 +17,10 @@ index 7af5b443983d557199100c0ab5044e96ebf52d9b..36569048c8ba952270b8ca1e492292ca
|
||||
|
||||
public void absMoveTo(double x, double y, double z) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index d2944ac5002f77dee2ae111b4f529471ab265c59..eec8fe7566a7911d1250286ecf525c851baecc8e 100644
|
||||
index 1988ffd4778d00d62fe334479de50cd4ef094f31..3e472507d03ad86001fbd19a089a14bc7abd3cf7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2911,7 +2911,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2932,7 +2932,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 4d89c9de4b4aae4452750fb941a2e610b8834039..55067e47a9907f038bf77f5dda2f395773472ceb 100644
|
||||
index bb4b6194583cf65a98aaf099d0c37acc47570b38..ec2edb4b62f692aa39652845e81daf5de2798607 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1266,7 +1266,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1268,7 +1268,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.tickServer(this::haveTime);
|
||||
this.profiler.popPush("nextTickWait");
|
||||
this.mayHaveDelayedTasks = true;
|
||||
|
||||
@@ -18,10 +18,10 @@ index 624b736f11341816c91f422cf6098ac0d19855b3..bb32bc0989ebbdd7522fe5f70ae3e641
|
||||
|
||||
// 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
|
||||
index e5ddb64d1a212266c05170359e27927a5f9e243e..2e831d7901747d7957becddc2daf453c4f30bdcc 100644
|
||||
index 1cec7bb3efa1e3377f72489c090d3234123d3e26..434e51325cbfe4539470f9ec5164e8ebdd482748 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -499,6 +499,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -505,6 +505,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -29,7 +29,7 @@ index e5ddb64d1a212266c05170359e27927a5f9e243e..2e831d7901747d7957becddc2daf453c
|
||||
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
|
||||
}
|
||||
|
||||
@@ -546,6 +547,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -552,6 +553,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
|
||||
@@ -30,10 +30,10 @@ index bd283f71cb05ffbe1fed39afb41ae54dc52ec297..d7ebbd785d89fc5c1fec1a020a259a94
|
||||
// CraftBukkit start
|
||||
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
|
||||
index 17eb573debec8e67dab2f5790ba9fc0a1f09a208..3c4393f28483a454b59264c90a76d4d18f6eabee 100644
|
||||
index 783cdc4949549725c884cdc0edff485936c77de3..5264f4dea9901fa702bdd6fb7855385bcfe53b64 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -167,6 +167,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -169,6 +169,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
|
||||
@@ -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
|
||||
index b7e3091e9ce5b634c73ac573cf205278507270d5..b0e2f5c98ab1bea6962312fa05cd6d61fc81cb98 100644
|
||||
index 65e7ce5cb473733b6a4ec89998f4b14053c62c42..a9f4f86fc2a3c6017acda35c90ae1b53937256c6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1236,6 +1236,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1240,6 +1240,7 @@ public abstract class Mob extends LivingEntity {
|
||||
if (!this.isAlive()) {
|
||||
return InteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == player) {
|
||||
@@ -17,10 +17,10 @@ index b7e3091e9ce5b634c73ac573cf205278507270d5..b0e2f5c98ab1bea6962312fa05cd6d61
|
||||
// Paper start - drop leash variable
|
||||
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, !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
|
||||
index 3c4393f28483a454b59264c90a76d4d18f6eabee..7396963b9b405f7c0ff022176ce55b6f27ac3f4c 100644
|
||||
index 5264f4dea9901fa702bdd6fb7855385bcfe53b64..c6596547c23365b2f7028f3764dbd0b5571f898c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -174,6 +174,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -176,6 +176,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.villagerMaxHealth);
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index bda88f38a2fb24a2fb6c405ab05259defa63543d..ed97980cc89e086099ff5c343a99a12d8f3e469d 100644
|
||||
index c6596547c23365b2f7028f3764dbd0b5571f898c..fbed51cacb1963b10946056a42fa6878e88a31a9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -1037,6 +1037,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -1045,6 +1045,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Nullable
|
||||
private IronGolem trySpawnGolem(ServerLevel world) {
|
||||
|
||||
@@ -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
|
||||
index 6f5f9d8a38bf023969c883b3e3a230c3cdc62104..edc48ae53ccaee4fcb4d4aa1b94fd130b5c81b43 100644
|
||||
index a02a5313db545a8694feec0e2504465426c39a6a..c3e4997cd282a9b94b04b3a9cba162281c1ec1ba 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||
@@ -217,7 +217,7 @@ public abstract class FlowingFluid extends Fluid {
|
||||
@@ -227,7 +227,7 @@ public abstract class FlowingFluid extends Fluid {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index 6f5f9d8a38bf023969c883b3e3a230c3cdc62104..edc48ae53ccaee4fcb4d4aa1b94fd130
|
||||
BlockState iblockdata2 = world.getBlockState(pos.below());
|
||||
FluidState fluid1 = iblockdata2.getFluidState();
|
||||
|
||||
@@ -288,6 +288,16 @@ public abstract class FlowingFluid extends Fluid {
|
||||
@@ -323,6 +323,16 @@ public abstract class FlowingFluid extends Fluid {
|
||||
return (FluidState) this.getSource().defaultFluidState().setValue(FlowingFluid.FALLING, falling);
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
index 60b5ed2427cfcd8a89239188c40ce972c8f6c4d8..359c70f3618ebd8138daaaadae88db98ee733a30 100644
|
||||
index bc1139194a3cb087eb8fc92e85491ae44ee461c3..347a30897d82b6b6c789e8f207ed1a98c09f5ed3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -782,7 +782,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -809,7 +809,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
|
||||
public void checkOutOfWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -18,10 +18,10 @@ index 60b5ed2427cfcd8a89239188c40ce972c8f6c4d8..359c70f3618ebd8138daaaadae88db98
|
||||
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index eec8fe7566a7911d1250286ecf525c851baecc8e..d5d315122326e923dd47ec25c59d81d413839829 100644
|
||||
index 3e472507d03ad86001fbd19a089a14bc7abd3cf7..b4a5fdba6e47ae482a445deb5f90dbde2a8f5dec 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2403,7 +2403,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2424,7 +2424,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
@Override
|
||||
protected void outOfWorld() {
|
||||
|
||||
@@ -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
|
||||
index 359c70f3618ebd8138daaaadae88db98ee733a30..3417d7aaf858ae4759fd6b2b22f67e951769c33c 100644
|
||||
index 347a30897d82b6b6c789e8f207ed1a98c09f5ed3..0ff2b5c23c904826098af23f17e95aba790ef3de 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4339,5 +4339,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4418,5 +4418,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index b0e2f5c98ab1bea6962312fa05cd6d61fc81cb98..3249ea9a4b7dc05a1b53373955c267e7a4c7903b 100644
|
||||
index a9f4f86fc2a3c6017acda35c90ae1b53937256c6..033bf60ff92d26981ace3e3ccab91a52c7b4e241 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
|
||||
@@ -16,7 +16,7 @@ index b0e2f5c98ab1bea6962312fa05cd6d61fc81cb98..3249ea9a4b7dc05a1b53373955c267e7
|
||||
import net.minecraft.world.level.GameRules;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.Level;
|
||||
@@ -1092,6 +1093,12 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1096,6 +1097,12 @@ public abstract class Mob extends LivingEntity {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
|
||||
setListData(vector);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f174ab67d46 100644
|
||||
index ec2edb4b62f692aa39652845e81daf5de2798607..6a1863e815d3330d4619309630e447f601ea0136 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -303,7 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -39,7 +39,7 @@ index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f17
|
||||
public boolean lagging = false; // Purpur
|
||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||
// Spigot end
|
||||
@@ -1150,6 +1150,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1152,6 +1152,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
||||
private long lastTick = 0;
|
||||
private long catchupTime = 0;
|
||||
@@ -47,7 +47,7 @@ index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f17
|
||||
public final RollingAverage tps1 = new RollingAverage(60);
|
||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||
@@ -1240,13 +1241,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1242,13 +1243,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
{
|
||||
final long diff = curTime - tickSection;
|
||||
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||
@@ -69,10 +69,10 @@ index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f17
|
||||
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
tickSection = curTime;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index a45996f5668cbf070a59ec8296c940b1ff08f8f2..f0f3e9d0645e882da7d71e0a1051da30f1e6a41f 100644
|
||||
index 64f20aa2a4f87fa39c5ba9c2ce2b32ff01dd222d..f69fc2e41a5a319e7e790d6ba0f7c85604787ab5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2619,6 +2619,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2624,6 +2624,7 @@ public final class CraftServer implements Server {
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
|
||||
@@ -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
|
||||
index 3a7cb3c6bdac85731256d6f5bf3cce09c8b00c3b..8994cfeb851c7b4a2da9e4722d8cc0d05390878e 100644
|
||||
index b4a5fdba6e47ae482a445deb5f90dbde2a8f5dec..38c9aa1e1f717cd9b596db85e9234d2651ac0de0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3388,7 +3388,16 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3409,7 +3409,16 @@ public abstract class LivingEntity extends Entity {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
index c1433f2f55d43b5dbae12f7d86ee97d4486758d4..6bed501b146aa42cae1a84e8c76f93eb35b623e1 100644
|
||||
index d2b103d94fd020295624da2eeb07653f585b586c..8b04e7d83c1dfd9d3452aef069070af03a4b63a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||
@@ -2228,7 +2228,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||
@@ -18,7 +18,7 @@ index c1433f2f55d43b5dbae12f7d86ee97d4486758d4..6bed501b146aa42cae1a84e8c76f93eb
|
||||
private final int range;
|
||||
SectionPos lastSectionPos;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
index 9a6c67b614944f841813ec2892381c3342bc365c..45d2bf0e22e03db05dd954bf8c9e748bf3cea9d4 100644
|
||||
index e80176708db486190dd527e3ade5fc690ceb39f7..e3d7a80f8c4b68933875ef90006b79776b4ab000 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -67,7 +67,7 @@ public class ServerEntity {
|
||||
@@ -31,7 +31,7 @@ index 9a6c67b614944f841813ec2892381c3342bc365c..45d2bf0e22e03db05dd954bf8c9e748b
|
||||
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
|
||||
this.trackedPlayers = trackedPlayers;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index f09db211f6f789ced85f7bf716428cd04bb41378..67b6803b986236d20b5309cab3c7f9c95ddf5f0b 100644
|
||||
index 3ad87457cc1279540b5b633216aa0161e6e9b1b2..cc5396761d67a7d9e9fcc5959caf1f9330d8a6af 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -54,6 +54,12 @@ public class ItemEntity extends Entity {
|
||||
@@ -47,7 +47,7 @@ index f09db211f6f789ced85f7bf716428cd04bb41378..67b6803b986236d20b5309cab3c7f9c9
|
||||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -321,6 +327,16 @@ public class ItemEntity extends Entity {
|
||||
@@ -327,6 +333,16 @@ public class ItemEntity extends Entity {
|
||||
return false;
|
||||
} else if (!this.getItem().getItem().canBeHurtBy(source)) {
|
||||
return false;
|
||||
@@ -64,7 +64,7 @@ index f09db211f6f789ced85f7bf716428cd04bb41378..67b6803b986236d20b5309cab3c7f9c9
|
||||
} else {
|
||||
// CraftBukkit start
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleNonLivingEntityDamageEvent(this, source, amount)) {
|
||||
@@ -503,6 +519,12 @@ public class ItemEntity extends Entity {
|
||||
@@ -509,6 +525,12 @@ public class ItemEntity extends Entity {
|
||||
com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit
|
||||
this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
|
||||
this.getEntityData().markDirty(ItemEntity.DATA_ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
|
||||
@@ -77,7 +77,7 @@ index f09db211f6f789ced85f7bf716428cd04bb41378..67b6803b986236d20b5309cab3c7f9c9
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -593,4 +615,17 @@ public class ItemEntity extends Entity {
|
||||
@@ -599,4 +621,17 @@ public class ItemEntity extends Entity {
|
||||
public SoundSource getSoundSource() {
|
||||
return SoundSource.AMBIENT;
|
||||
}
|
||||
|
||||
@@ -27,10 +27,10 @@ index b5a5c56fbb66c17dd2e2d1f4d69d2b1826cd4951..9805132a1b11d62c3491c178fbed8b6a
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 03a4c5fa746033825c26a031fbf79f721be6fa84..70d87c16734a5e1ac14cc494f95554137ba9f06e 100644
|
||||
index 37884e05689288d56ef0efe92296b80ef6093b3c..e5e4fa1865cdd903a4c543b79b4d30a2f067742d 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1496,4 +1496,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1598,4 +1598,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public boolean shouldDelayFallingBlockEntityRemoval(Entity.RemovalReason reason) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index 727f75ec771f68268904ea93b9da30427b8579fa..36b2015e9639441744fec5babcf46475d14ed13a 100644
|
||||
index a1079a9f524e9efcc0b29b1c1b5f4e5aefa9ec85..8b16168b7c670edd251057712b1f6075133ceb8b 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1233,13 +1233,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1234,13 +1234,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
itemstack1.setTag(nbttagcompound.copy());
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index 727f75ec771f68268904ea93b9da30427b8579fa..36b2015e9639441744fec5babcf46475
|
||||
|
||||
this.updateBookPages(pages, (s) -> {
|
||||
return Component.Serializer.toJson(new TextComponent(s));
|
||||
@@ -1251,10 +1254,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1252,10 +1255,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private void updateBookPages(List<TextFilter.FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
|
||||
ListTag nbttaglist = new ListTag();
|
||||
|
||||
@@ -44,7 +44,7 @@ index 727f75ec771f68268904ea93b9da30427b8579fa..36b2015e9639441744fec5babcf46475
|
||||
|
||||
Objects.requireNonNull(nbttaglist);
|
||||
stream.forEach(nbttaglist::add);
|
||||
@@ -1264,10 +1270,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1265,10 +1271,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
for (int j = list.size(); i < j; ++i) {
|
||||
TextFilter.FilteredText itextfilter_a = (TextFilter.FilteredText) list.get(i);
|
||||
@@ -57,7 +57,7 @@ index 727f75ec771f68268904ea93b9da30427b8579fa..36b2015e9639441744fec5babcf46475
|
||||
|
||||
if (!s.equals(s1)) {
|
||||
nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1));
|
||||
@@ -1283,6 +1289,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1284,6 +1290,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 3249ea9a4b7dc05a1b53373955c267e7a4c7903b..78f7022c6584e634b000cc0c079112fc6cc8e869 100644
|
||||
index 033bf60ff92d26981ace3e3ccab91a52c7b4e241..359b47daf27712bbd5f2b8fee5a2edf609184878 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -129,6 +129,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -80,7 +80,7 @@ index 3249ea9a4b7dc05a1b53373955c267e7a4c7903b..78f7022c6584e634b000cc0c079112fc
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1607,6 +1641,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1611,6 +1645,7 @@ public abstract class Mob extends LivingEntity {
|
||||
this.setLastHurtMob(target);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ index ae40f50a33f676059738625773127ff9ae181be0..295658d4b479e8a3e825f0b5ce5dfc2c
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 3756da97a8404ea573a66f3f160cfbfd857b12e5..e2d1c4f0084f981d2541313fb8cdb0b9edd71f71 100644
|
||||
index 38c9aa1e1f717cd9b596db85e9234d2651ac0de0..2950a9556fd474b659d66c1fc4d5e6e451ad9fda 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -43,6 +43,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
|
||||
@@ -46,7 +46,7 @@ index 3756da97a8404ea573a66f3f160cfbfd857b12e5..e2d1c4f0084f981d2541313fb8cdb0b9
|
||||
import net.minecraft.server.level.ServerChunkCache;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
@@ -409,6 +410,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -407,6 +408,7 @@ public abstract class LivingEntity extends Entity {
|
||||
double d1 = this.level.getWorldBorder().getDamagePerBlock();
|
||||
|
||||
if (d1 > 0.0D) {
|
||||
|
||||
@@ -25,7 +25,7 @@ index b5d48e3979361e1b6407a1dcf0f5271542273974..71eef6cc623db385db98d3fe98ea6574
|
||||
|
||||
public boolean spiderRidable = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 068238bc911d8458a321a920c3638d368449ac95..8ab99ce9dd678d45928c262b68741f10fd38f9a3 100644
|
||||
index e12ba58f3795c17694defa308ced50a19d2a37b9..49b9c0db6693c95bae8f63e97f50720580dc59da 100644
|
||||
--- a/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;
|
||||
@@ -36,7 +36,7 @@ index 068238bc911d8458a321a920c3638d368449ac95..8ab99ce9dd678d45928c262b68741f10
|
||||
import net.minecraft.world.entity.animal.WaterAnimal;
|
||||
import net.minecraft.world.entity.animal.horse.Llama;
|
||||
import net.minecraft.world.entity.boss.EnderDragonPart;
|
||||
@@ -362,6 +363,7 @@ public class ActivationRange
|
||||
@@ -381,6 +382,7 @@ public class ActivationRange
|
||||
*/
|
||||
public static boolean checkIfActive(Entity entity)
|
||||
{
|
||||
|
||||
@@ -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
|
||||
index ed97980cc89e086099ff5c343a99a12d8f3e469d..854efbee2b67ed805ab10882a1be0a845fbbd825 100644
|
||||
index fbed51cacb1963b10946056a42fa6878e88a31a9..3d755f2c6253e83d0d9fb1348f066f4f7fe1d4be 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -759,7 +759,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -767,7 +767,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Override
|
||||
public boolean canBreed() {
|
||||
|
||||
@@ -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
|
||||
index e2d1c4f0084f981d2541313fb8cdb0b9edd71f71..527fd1662b8ff007fbc383b0061f70b2bbd5cafe 100644
|
||||
index 2950a9556fd474b659d66c1fc4d5e6e451ad9fda..1bc7b7f016b0f58bad34dfd58e506967d61099e5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1513,6 +1513,19 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1520,6 +1520,19 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 4236c9dfa0be6fa8ad2f3e32d7f65f1b722c4e60..7307b3208f1b4ffe31fc4e6f73ac7264eb95849a 100644
|
||||
index 4833e545545d9114a15f0bcc0d0a2a214183000f..fce7a9c1c1477d1b02a4adbe0bc5a5c97b8c93c9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -279,7 +279,8 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {
|
||||
@@ -19,10 +19,10 @@ index 4236c9dfa0be6fa8ad2f3e32d7f65f1b722c4e60..7307b3208f1b4ffe31fc4e6f73ac7264
|
||||
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
|
||||
return (EntityType) Registry.register(Registry.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // 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
|
||||
index 2e831d7901747d7957becddc2daf453c4f30bdcc..c72d5151d4d8eb784550022321578ca820c84948 100644
|
||||
index 434e51325cbfe4539470f9ec5164e8ebdd482748..37fe7d448ae40e67cc8c7c1856df3c8ac276f0be 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -399,6 +399,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -405,6 +405,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else if (getRider() != null) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
|
||||
@@ -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
|
||||
index 3417d7aaf858ae4759fd6b2b22f67e951769c33c..55635a8abf1ee69e01ba8a7d6119e6c7fdd7ac0d 100644
|
||||
index 0ff2b5c23c904826098af23f17e95aba790ef3de..4fad4e9a15be08154c3eb7af1653a61dae9a581f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3887,6 +3887,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3914,6 +3914,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ index 3417d7aaf858ae4759fd6b2b22f67e951769c33c..55635a8abf1ee69e01ba8a7d6119e6c7
|
||||
+ // Purpur end
|
||||
+
|
||||
public boolean updateFluidHeightAndDoFluidPushing(Tag<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;
|
||||
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 501b082e36b30140eef9540b8b217b9d45309dff..55f94d28a536f5ceda00831e1b22c8db31c07c2f 100644
|
||||
|
||||
@@ -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
|
||||
index 55635a8abf1ee69e01ba8a7d6119e6c7fdd7ac0d..0198b89d3ac768c826d5be22cde88004f3444d48 100644
|
||||
index 4fad4e9a15be08154c3eb7af1653a61dae9a581f..4d9ba5bfd3632c5402badde37996b6ae8c4dea5b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2716,7 +2716,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2743,7 +2743,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index 55635a8abf1ee69e01ba8a7d6119e6c7fdd7ac0d..0198b89d3ac768c826d5be22cde88004
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3376,7 +3376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3403,7 +3403,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -79,7 +79,7 @@ index fe502e148e218ae404e0049c0251d3e3ca08c825..11befaed9c2845262607cd9e1e38a178
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
index 1037d0a0cdd4fd7aa99a958ee969759c5883fdc0..c1267592dd5fcc2b528eac22aaa245189df5a436 100644
|
||||
index 2015223c1703935faef52a8b88263ab3f1fbe92a..3b36a5f79b830dcf0b3eb4ff278c82134a58da96 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
|
||||
@@ -663,4 +663,11 @@ public class FishingHook extends Projectile {
|
||||
@@ -127,7 +127,7 @@ index 1a945a32c3d3705a318ebca72a365931a8c001b7..c7fdcfae1ba823046fdfe78aa97b4a7a
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 36417466ae30e9f7f3e953fd4ff98ed3f3b71725..edc4fc597d60e6125d44023085e993db2e96c4ef 100644
|
||||
index cfb43f277c013680a0e51fb93796e38f88b506db..97609bedb82dee6a200ff8b825622c427d7dcf73 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -33,6 +33,7 @@ public abstract class Projectile extends Entity {
|
||||
@@ -138,9 +138,9 @@ index 36417466ae30e9f7f3e953fd4ff98ed3f3b71725..edc4fc597d60e6125d44023085e993db
|
||||
|
||||
// CraftBukkit start
|
||||
public boolean hitCancelled = false; // Purpur - private -> public
|
||||
@@ -42,6 +43,19 @@ public abstract class Projectile extends Entity {
|
||||
super(type, world);
|
||||
@@ -72,6 +73,19 @@ public abstract class Projectile extends Entity {
|
||||
}
|
||||
// Pufferfish start
|
||||
|
||||
+ // Purpur start
|
||||
+ protected final void tickDespawnCounter() {
|
||||
|
||||
@@ -24,10 +24,10 @@ index 19d6165f266fcc39bc3533042109ef1b725ecb77..32bf8264fecb8873f3ffa0e57a4bb48b
|
||||
private boolean bypassArmor;
|
||||
private boolean bypassInvul;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 0198b89d3ac768c826d5be22cde88004f3444d48..cd25a1e6671276ecb465a60ee969122fa5648ded 100644
|
||||
index 4d9ba5bfd3632c5402badde37996b6ae8c4dea5b..02a2496539813b1d34b9e5ccac0590e6b58c17b5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -1051,7 +1051,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe
|
||||
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
||||
this.gameTime = time % 192000; // Paper - fix guardian beam
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 70dfa4d3b7a2c9b2a47000bf26100f174ab67d46..9e62e7ba26648d3ffa393f47a1de1d14182ceb36 100644
|
||||
index 6a1863e815d3330d4619309630e447f601ea0136..dcb496f6af114ad5a41bfa3f3072ba48d9f2e8e9 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1583,7 +1583,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1585,7 +1585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
long worldTime = world.getGameTime();
|
||||
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
||||
for (Player entityhuman : world.players()) {
|
||||
@@ -31,7 +31,7 @@ index 70dfa4d3b7a2c9b2a47000bf26100f174ab67d46..9e62e7ba26648d3ffa393f47a1de1d14
|
||||
}
|
||||
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
|
||||
index e0d2446a3e203a8980f2b4a8d45f677f5d7a7698..5e027260743202b69ce348ef5cd04709eca689b0 100644
|
||||
index b312ad3e74f053f1272b657a51d81825a7c38607..571fb586a7f9231e155c6842a440f8acf59b8963 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -206,6 +206,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -51,7 +51,7 @@ index e0d2446a3e203a8980f2b4a8d45f677f5d7a7698..5e027260743202b69ce348ef5cd04709
|
||||
}
|
||||
|
||||
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
|
||||
@@ -719,6 +722,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -732,6 +735,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.serverLevelData.setGameTime(i);
|
||||
this.serverLevelData.getScheduledEvents().tick(this.server, i);
|
||||
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
|
||||
@@ -65,7 +65,7 @@ index e0d2446a3e203a8980f2b4a8d45f677f5d7a7698..5e027260743202b69ce348ef5cd04709
|
||||
this.setDayTime(this.levelData.getDayTime() + 1L);
|
||||
}
|
||||
|
||||
@@ -727,7 +737,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -740,7 +750,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
public void setDayTime(long timeOfDay) {
|
||||
this.serverLevelData.setDayTime(timeOfDay);
|
||||
|
||||
@@ -33,7 +33,7 @@ index 2bc77858b4a78e24227b4b096fd44177202d5292..b26d5482d89e28897bcc9dc8a15042a5
|
||||
entityageable.setBaby(true);
|
||||
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 8493dc3447cc524f08732045df81b7c62aecb179..182b07219192a901289114a16b12eb32cc3caa4c 100644
|
||||
index e5e4fa1865cdd903a4c543b79b4d30a2f067742d..dfcb5d9fe165852bffe2a676f134ba060ea1aa71 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -188,6 +188,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -86,7 +86,7 @@ index 8493dc3447cc524f08732045df81b7c62aecb179..182b07219192a901289114a16b12eb32
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
@@ -314,6 +357,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -323,6 +366,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
|
||||
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
|
||||
@@ -8,10 +8,10 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
|
||||
that Endermen like to randomly place all over the world.
|
||||
|
||||
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 c72d5151d4d8eb784550022321578ca820c84948..a15be819a3c73cf3bdd5da148d6f2d56dd5db404 100644
|
||||
index 37fe7d448ae40e67cc8c7c1856df3c8ac276f0be..3945038b07393cd4692b340f32a988404117fe6f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -453,7 +453,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -459,7 +459,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean requiresCustomPersistence() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 78f7022c6584e634b000cc0c079112fc6cc8e869..2f75ebe8088d70f73a17557fe525ae119a1e19e9 100644
|
||||
index 359b47daf27712bbd5f2b8fee5a2edf609184878..163ca04792388a9f27e5dc22def40ce5b9efbf11 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1225,7 +1225,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1229,7 +1229,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@Nullable
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE));
|
||||
|
||||
@@ -145,10 +145,10 @@ index b615dc2a2127f0874775d1707e96edfb4d95b987..72ae6b3282aac806ae11b87024ee940e
|
||||
brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 854efbee2b67ed805ab10882a1be0a845fbbd825..a78b5416a850d6533b71e3d288224141d5077a77 100644
|
||||
index 3d755f2c6253e83d0d9fb1348f066f4f7fe1d4be..1d711f67709b8af89d4ada3191fdce716e92047c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -215,7 +215,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -217,7 +217,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
brain.addActivity(Activity.PLAY, VillagerGoalPackages.getPlayPackage(0.5F));
|
||||
} else {
|
||||
brain.setSchedule(Schedule.VILLAGER_DEFAULT);
|
||||
@@ -157,7 +157,7 @@ index 854efbee2b67ed805ab10882a1be0a845fbbd825..a78b5416a850d6533b71e3d288224141
|
||||
}
|
||||
|
||||
brain.addActivity(Activity.CORE, VillagerGoalPackages.getCorePackage(villagerprofession, 0.5F));
|
||||
@@ -974,6 +974,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -982,6 +982,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
public boolean hasFarmSeeds() {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 40735237cc87a476d08f1ffcb1b67ce563091230..3156e7e43a5114aaaa1276b024f4ec45
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 9e62e7ba26648d3ffa393f47a1de1d14182ceb36..dc95a1230ac6f86c32b3c6a8e4876725dbb3c033 100644
|
||||
index dcb496f6af114ad5a41bfa3f3072ba48d9f2e8e9..269acf4aafc296f2217c502ea42696e06c492581 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1124,6 +1124,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1126,6 +1126,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.safeShutdown(flag, false);
|
||||
}
|
||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||
@@ -29,15 +29,14 @@ index 9e62e7ba26648d3ffa393f47a1de1d14182ceb36..dc95a1230ac6f86c32b3c6a8e4876725
|
||||
this.hasLoggedStop = true; // Paper
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 8bf98d8f8e9f0baaf203a9e8d18683236856eab7..455776981274e64724376a3182b60784b56db9cf 100644
|
||||
index d58e5357f9cb45d9b5ddeaed4ec76aa388fc34d1..9e83f2dea73461f698185f5ffdb6060e422b9494 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -355,6 +355,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.info("JMX monitoring enabled");
|
||||
@@ -358,6 +358,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
}
|
||||
|
||||
if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish
|
||||
+ org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur
|
||||
+
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -84,7 +83,7 @@ index dfe547b7a2caa2ecfdddef9b9a49be40d26c5da8..951e45f7b17f6f903c99634177395464
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 5c11e91e1eebb0e24aaca9af323a9d5ecdc0a411..63e8397d6eff95ed81ab5d7cdb69495e188d931b 100644
|
||||
index 782aa2b519d4aff67ad50528abc27907cdd1ce6d..b8314253274688a1e9acb097f1809ace55409afd 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -482,6 +482,7 @@ public abstract class PlayerList {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 36b2015e9639441744fec5babcf46475d14ed13a..93f8d5b707811b73fb15cedc4bac83d825ba9e15 100644
|
||||
index 8b16168b7c670edd251057712b1f6075133ceb8b..d069a2816eab77223ba355449a149b3b1e465b60 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1155,10 +1155,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1156,10 +1156,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize;
|
||||
double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier));
|
||||
long byteAllowed = maxBookPageSize;
|
||||
@@ -21,7 +21,7 @@ index 36b2015e9639441744fec5babcf46475d14ed13a..93f8d5b707811b73fb15cedc4bac83d8
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1182,6 +1184,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1183,6 +1185,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 527fd1662b8ff007fbc383b0061f70b2bbd5cafe..d0fbbaaa48d7e199ab22bc0b089f2ad45fe816ee 100644
|
||||
index 1bc7b7f016b0f58bad34dfd58e506967d61099e5..f86e65530182685517e12ea609a4bdcd8c493161 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1684,7 +1684,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1691,7 +1691,7 @@ public abstract class LivingEntity extends Entity {
|
||||
boolean flag = false;
|
||||
|
||||
if (this.dead && adversary instanceof WitherBoss) { // Paper
|
||||
@@ -18,7 +18,7 @@ index 527fd1662b8ff007fbc383b0061f70b2bbd5cafe..d0fbbaaa48d7e199ab22bc0b089f2ad4
|
||||
BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 2f75ebe8088d70f73a17557fe525ae119a1e19e9..861dd2603a82b26cb0f003b5defc34446feb6fdf 100644
|
||||
index 163ca04792388a9f27e5dc22def40ce5b9efbf11..4d2ed6947d661d0f40c9a40824cbd957806c5a3a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -179,10 +179,10 @@ index bb32bc0989ebbdd7522fe5f70ae3e6414f909388..8ac278f8e55ad7a090ad332db2da1e1e
|
||||
|
||||
// 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
|
||||
index a15be819a3c73cf3bdd5da148d6f2d56dd5db404..bd58dbee7f2922d341a6c201b762a52e78366106 100644
|
||||
index 3945038b07393cd4692b340f32a988404117fe6f..8486b37d37fda4cc380a81edb1675e469e1a4e91 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -501,7 +501,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -507,7 +507,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level.purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
@@ -191,7 +191,7 @@ index a15be819a3c73cf3bdd5da148d6f2d56dd5db404..bd58dbee7f2922d341a6c201b762a52e
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -549,7 +549,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -555,7 +555,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
if (!enderman.level.purpurConfig.endermanAllowGriefing) return false; // Purpur
|
||||
@@ -249,10 +249,10 @@ index cd26c22664fb23457f99fe04607146c8c6545307..5057b9b6ad2c47a11ca11b281393ccf6
|
||||
BlockPos blockposition = (new BlockPos(this.mob.getX(), this.mob.getY() + 0.5D, this.mob.getZ())).relative(this.selectedDirection);
|
||||
BlockState iblockdata = this.mob.level.getBlockState(blockposition);
|
||||
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 86a9800276648c094c688d6dbedd51657e642df5..6beb798df62223fe653afa0f34e4a43d6cff11b7 100644
|
||||
index 862534112722a482cd5f69b346b69f3d46086359..badf1fc1a5f5ca0086b45876171a18cad00896b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -406,7 +406,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -407,7 +407,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
|
||||
@Override
|
||||
public boolean wantsToPickUp(ItemStack stack) {
|
||||
@@ -290,10 +290,10 @@ index e69213b43c8aa5a7c04add7a87482d531fbf52d2..f51ea103238b4a50439f5162a248cd9a
|
||||
// CraftBukkit start - fire ExplosionPrimeEvent
|
||||
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index edc4fc597d60e6125d44023085e993db2e96c4ef..2771e600d46195e8170b2bde57c523c2bcbadf5a 100644
|
||||
index 97609bedb82dee6a200ff8b825622c427d7dcf73..39422e7fb1e04c007ec136ea709af22a558ff066 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -290,6 +290,6 @@ public abstract class Projectile extends Entity {
|
||||
@@ -320,6 +320,6 @@ public abstract class Projectile extends Entity {
|
||||
public boolean mayInteract(Level world, BlockPos pos) {
|
||||
Entity entity = this.getOwner();
|
||||
|
||||
@@ -328,7 +328,7 @@ index 8613008090a9d7cf5cd7c2a598f2c725b5b0cdc6..a66e9826b8283366cec5adb54f79efee
|
||||
// CraftBukkit start
|
||||
// this.level.createExplosion(this, this.locX(), this.locY(), this.locZ(), 1.0F, false, explosion_effect);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
index 039544609aa4fd2f5ab5075792a2e51ef315dc37..eeeef593d0dc075ded76d7d30b76fcfc8ffcb294 100644
|
||||
index 74a0866513ea04f635089badfd5cde132d2d1355..a66e456582743f11a458ff22ad8b0467a7e40813 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
|
||||
@@ -313,7 +313,7 @@ public abstract class Raider extends PatrollingMonster {
|
||||
|
||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index cd25a1e6671276ecb465a60ee969122fa5648ded..1747b075d86585f795cde85f390a0a95b80ad3d7 100644
|
||||
index 02a2496539813b1d34b9e5ccac0590e6b58c17b5..fcb640e531704b127efe820bb269e7bf9b95c605 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1588,7 +1588,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -1615,7 +1615,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return this.isInWater() || flag;
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 951e45f7b17f6f903c99634177395464a1889c0f..d31ae3a1df1a457d7ae55bc82e9c870c
|
||||
// CraftBukkit end
|
||||
this.setLevel(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1747b075d86585f795cde85f390a0a95b80ad3d7..d046f2f85efd54c3fe91ca5020bbc7b326005275 100644
|
||||
index fcb640e531704b127efe820bb269e7bf9b95c605..430a95752aa590d40a54fb96d7484b55a781a1b6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2713,12 +2713,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2740,12 +2740,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return Vec3.directionFromRotation(this.getRotationVector());
|
||||
}
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ index ca2bf36120ba09ed27ad7b1064431f9feffa3420..2feec97ffe62cfe063085e3767937e8a
|
||||
|
||||
@Override
|
||||
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 743b5d483a230d56207a8864b5abab06d7c68e16..ef5cd71dcbaa4f86977fe9ae76042c49c144da9c 100644
|
||||
index e82592e3e43f38a0f09803c7b111d73a90361f88..c1a2bfb521ba72e4d1b29aa3e0c72e0c28a652be 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -98,6 +98,11 @@ public class Bat extends AmbientCreature {
|
||||
@@ -402,7 +402,7 @@ index 20e0e74d7e43f436172ca7b4cb8b613ba116f9ec..663683a50f7a1125f406b6ec8bf7a041
|
||||
|
||||
@Override
|
||||
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 4020f631f4f02834550a60630d5d429004d71269..d0edbad76a749163f77723547001e59352654e12 100644
|
||||
index 1ac7aa1f49a9740b5e20a5452410a6557ce98eda..8e6c2aadd7f69dc6bd585242bf4e23540e75ceeb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -116,6 +116,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -418,7 +418,7 @@ index 4020f631f4f02834550a60630d5d429004d71269..d0edbad76a749163f77723547001e593
|
||||
|
||||
@Override
|
||||
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 b72756afc34afa3f4f8ad838eba3a24faf7e46d0..d8bd81f1c8069f81983ccf0aee8200bd67c913de 100644
|
||||
index 33e7abf0b02695d191a9b827dc82f432c3381167..7b5782c3a7026b24aea2bc8be5d23b5d16b86fd4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -94,6 +94,11 @@ public class Goat extends Animal {
|
||||
@@ -655,7 +655,7 @@ index e25374b06e3babd93cd5bbdd58ea401a92dbb001..0aa4d8e506462cfe6fb69414a30cc5eb
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
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 bd58dbee7f2922d341a6c201b762a52e78366106..1ab913281012305cba379ba7301a76501f7d3ed5 100644
|
||||
index 8486b37d37fda4cc380a81edb1675e469e1a4e91..5932a5f4f641846637f0afe4c3496910bfdd5570 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -293,7 +293,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -1081,7 +1081,7 @@ index f8b742ee8e637edd8e8b05aff2fcc7a75afe959a..fd2828469badbc7936ea68c0bdd8d689
|
||||
|
||||
@Override
|
||||
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 c536b0f0d0ebe5b6b6409972eb711f84fc42afb7..866665186e7dd20a00a635d4675da2e7ac57ae91 100644
|
||||
index 0cc680cdcbda6b5b5dfb08df8a2e52510cd5b854..6a41212b1fa2fe61177901dd64c77a92d7d502a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -87,6 +87,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -1097,7 +1097,7 @@ index c536b0f0d0ebe5b6b6409972eb711f84fc42afb7..866665186e7dd20a00a635d4675da2e7
|
||||
|
||||
@Override
|
||||
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 6beb798df62223fe653afa0f34e4a43d6cff11b7..9410c57b4999915ccff9588895fd9bec307499bd 100644
|
||||
index badf1fc1a5f5ca0086b45876171a18cad00896b7..89e4364c6c55b5fa0e34e90c87fc622583277c73 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -111,6 +111,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -1129,10 +1129,10 @@ index f6734f2eb44af7b2389de5079831e0e4f8a1c742..d3a298734e4434d29b66e94fc6c299d3
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
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 a78b5416a850d6533b71e3d288224141d5077a77..4420cc8f05f98a2f69507386f7f2893602ef3a59 100644
|
||||
index 1d711f67709b8af89d4ada3191fdce716e92047c..56df45d9ff5d4ea608c970f26486795f9776d714 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -181,6 +181,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
public boolean canBeLeashed(Player player) {
|
||||
return level.purpurConfig.villagerCanBeLeashed && !this.isLeashed();
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 93f8d5b707811b73fb15cedc4bac83d825ba9e15..6ce4f59b25d8b546bc7c9c1f544b49ba529ee45c 100644
|
||||
index d069a2816eab77223ba355449a149b3b1e465b60..fb9fbd708ab8aa9690f8c61182a1590c56b3ee6d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1588,6 +1588,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1589,6 +1589,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.player.resetFallDistance();
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ index 93f8d5b707811b73fb15cedc4bac83d825ba9e15..6ce4f59b25d8b546bc7c9c1f544b49ba
|
||||
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
|
||||
this.lastGoodX = this.player.getX();
|
||||
this.lastGoodY = this.player.getY();
|
||||
@@ -1621,6 +1628,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1622,6 +1629,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
// Paper end - optimise out extra getCubes
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] One Punch Man!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index d0fbbaaa48d7e199ab22bc0b089f2ad45fe816ee..24b2d3b768f0b3fd0bd2238419aec6e06bcb1a70 100644
|
||||
index f86e65530182685517e12ea609a4bdcd8c493161..2290038b18ccd2757e305870d0a4a39cf674c713 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2138,6 +2138,20 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2159,6 +2159,20 @@ public abstract class LivingEntity extends Entity {
|
||||
((ServerPlayer) damagesource.getEntity()).awardStat(Stats.DAMAGE_DEALT_ABSORBED, Math.round(f2 * 10.0F));
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add config for villager trading
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index f82d4019aba5fd89e0f8d41a4dc6e42abd228510..fae4a7c79baac15a06b737b6081956a55b024c8d 100644
|
||||
index 56df45d9ff5d4ea608c970f26486795f9776d714..31ca5ddf748313f7d6cdee906d13e8dcb616875d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -357,7 +357,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -365,7 +365,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
return tryRide(player, hand); // Purpur
|
||||
} else {
|
||||
if (level.purpurConfig.villagerRidable && itemstack.isEmpty()) return tryRide(player, hand); // Purpur
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index d046f2f85efd54c3fe91ca5020bbc7b326005275..1dbd9be6b72b3ab85243cc6d02af0977b7ae75ad 100644
|
||||
index 430a95752aa590d40a54fb96d7484b55a781a1b6..5477f0294d27391edb1ea8fd36dbdc011392950a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -502,7 +502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -529,7 +529,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
// Spigot end
|
||||
this.entityData = new SynchedEntityData(this);
|
||||
this.entityData.define(Entity.DATA_SHARED_FLAGS_ID, (byte) 0);
|
||||
@@ -17,7 +17,7 @@ index d046f2f85efd54c3fe91ca5020bbc7b326005275..1dbd9be6b72b3ab85243cc6d02af0977
|
||||
this.entityData.define(Entity.DATA_CUSTOM_NAME_VISIBLE, false);
|
||||
this.entityData.define(Entity.DATA_CUSTOM_NAME, Optional.empty());
|
||||
this.entityData.define(Entity.DATA_SILENT, false);
|
||||
@@ -2947,7 +2947,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2974,7 +2974,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
|
||||
public int getMaxAirSupply() {
|
||||
@@ -27,10 +27,10 @@ index d046f2f85efd54c3fe91ca5020bbc7b326005275..1dbd9be6b72b3ab85243cc6d02af0977
|
||||
|
||||
public int getAirSupply() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 24b2d3b768f0b3fd0bd2238419aec6e06bcb1a70..a46e6d55731c7877fd50329b1ad37951e1f02784 100644
|
||||
index 2290038b18ccd2757e305870d0a4a39cf674c713..19b71de5039f1c5affe9abadf3fdf38ce75f01f7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -421,7 +421,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -419,7 +419,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
if (flag1) {
|
||||
this.setAirSupply(this.decreaseAirSupply(this.getAirSupply()));
|
||||
@@ -39,7 +39,7 @@ index 24b2d3b768f0b3fd0bd2238419aec6e06bcb1a70..a46e6d55731c7877fd50329b1ad37951
|
||||
this.setAirSupply(0);
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
|
||||
@@ -433,7 +433,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -431,7 +431,7 @@ public abstract class LivingEntity extends Entity {
|
||||
this.level.addParticle(ParticleTypes.BUBBLE, this.getX() + d2, this.getY() + d3, this.getZ() + d4, vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage settings for magma blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1dbd9be6b72b3ab85243cc6d02af0977b7ae75ad..f15cce18d4cfb56d8b54bb8f50af206ad48f8cd1 100644
|
||||
index 5477f0294d27391edb1ea8fd36dbdc011392950a..ffe4024267f432c9eba37a6712e444e55c69799d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -1051,7 +1051,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Configurable mob blindness
|
||||
Ported from https://github.com/raltsmc/mobblindness
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index a46e6d55731c7877fd50329b1ad37951e1f02784..9da2d74f38110abfeaa42ac15b4523dfe7db7e07 100644
|
||||
index 19b71de5039f1c5affe9abadf3fdf38ce75f01f7..b7d580fc174b69c23dbbc18e114f3d3119a8e9ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -988,6 +988,17 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -986,6 +986,17 @@ public abstract class LivingEntity extends Entity {
|
||||
if (entitytypes == EntityType.SKELETON && itemstack.is(Items.SKELETON_SKULL) || entitytypes == EntityType.ZOMBIE && itemstack.is(Items.ZOMBIE_HEAD) || entitytypes == EntityType.CREEPER && itemstack.is(Items.CREEPER_HEAD)) {
|
||||
d0 *= 0.5D;
|
||||
}
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f15cce18d4cfb56d8b54bb8f50af206ad48f8cd1..2673c49e46e0acbac413feec146000d535721404 100644
|
||||
index ffe4024267f432c9eba37a6712e444e55c69799d..1e4d6c36576ebfc9ff643d87d73ee6a908a06876 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4352,5 +4352,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4431,5 +4431,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
@@ -29,10 +29,10 @@ index f15cce18d4cfb56d8b54bb8f50af206ad48f8cd1..2673c49e46e0acbac413feec146000d5
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index a8702eafb732944d189e386646ed219113c1d811..ea66ac3bbf619feec50e3e73c60f25c14356abbb 100644
|
||||
index b7d580fc174b69c23dbbc18e114f3d3119a8e9ea..bf01f496e2b89f6fbd44d845a12cdfaed41e5f13 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -261,6 +261,7 @@ public abstract class LivingEntity extends Entity {
|
||||
public boolean bukkitPickUpLoot;
|
||||
public org.bukkit.craftbukkit.entity.CraftLivingEntity getBukkitLivingEntity() { return (org.bukkit.craftbukkit.entity.CraftLivingEntity) super.getBukkitEntity(); } // Paper
|
||||
public boolean silentDeath = false; // Paper - mark entity as dying silently for cancellable death event
|
||||
@@ -40,7 +40,7 @@ index a8702eafb732944d189e386646ed219113c1d811..ea66ac3bbf619feec50e3e73c60f25c1
|
||||
|
||||
@Override
|
||||
public float getBukkitYaw() {
|
||||
@@ -765,6 +766,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -763,6 +764,7 @@ public abstract class LivingEntity extends Entity {
|
||||
dataresult.resultOrPartial(logger::error).ifPresent((nbtbase) -> {
|
||||
nbt.put("Brain", nbtbase);
|
||||
});
|
||||
@@ -48,7 +48,7 @@ index a8702eafb732944d189e386646ed219113c1d811..ea66ac3bbf619feec50e3e73c60f25c1
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -840,6 +842,11 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -838,6 +840,11 @@ public abstract class LivingEntity extends Entity {
|
||||
this.brain = this.makeBrain(new Dynamic(NbtOps.INSTANCE, nbt.get("Brain")));
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@ index a8702eafb732944d189e386646ed219113c1d811..ea66ac3bbf619feec50e3e73c60f25c1
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -3408,6 +3415,27 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3429,6 +3436,27 @@ public abstract class LivingEntity extends Entity {
|
||||
this.hurt(DamageSource.DROWN, 1.0F);
|
||||
}
|
||||
|
||||
@@ -89,10 +89,10 @@ index a8702eafb732944d189e386646ed219113c1d811..ea66ac3bbf619feec50e3e73c60f25c1
|
||||
|
||||
public boolean isSensitiveToWater() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index afb05e183908f720546ace65ddaab45cc2d75525..1d1492f2b705f6d0138b747206a381c8d038c3fa 100644
|
||||
index 4d2ed6947d661d0f40c9a40824cbd957806c5a3a..fd8c372169ebbca95ffdf23dc1a7d61bee420ed2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1658,17 +1658,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1662,17 +1662,7 @@ public abstract class Mob extends LivingEntity {
|
||||
}
|
||||
|
||||
public boolean isSunBurnTick() {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 2673c49e46e0acbac413feec146000d535721404..8fb0b23f7b643c6bc321f3a3b4acfab78646721b 100644
|
||||
index 1e4d6c36576ebfc9ff643d87d73ee6a908a06876..2ed6964132513fa7b38fe4733aea4afd0153a735 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2764,7 +2764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2791,7 +2791,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
|
||||
this.processPortalCooldown();
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index fca42bb14e41e7e853af83a2f4b37d586b68c6fa..474bb004678d9482a3fc5c00b2bcf3f3a293f217 100644
|
||||
index 4b0250d4c51c4f9c346671fba63abfbe137a1873..543cdbd0785aa83eaf79ae52f0e2e5d3c343f6d0 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -900,7 +900,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -915,7 +915,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
return villageplacetype == PoiType.LIGHTNING_ROD;
|
||||
}, (blockposition1) -> {
|
||||
return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 474bb004678d9482a3fc5c00b2bcf3f3a293f217..5a42fde11c219a1572bf31663487ff1fff0d1312 100644
|
||||
index 543cdbd0785aa83eaf79ae52f0e2e5d3c343f6d0..5dc9bbc5fe3de52a8a680b1864aeb6fc778c66f7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -949,11 +949,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -964,11 +964,29 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
if (this.canSleepThroughNights()) {
|
||||
if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) {
|
||||
int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit
|
||||
|
||||
|
||||
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 bba5ce10a4dc06272936ca26d1ac0e5a98c2da1f..8923274fc04282cf97398b997603f699d92e6699 100644
|
||||
index fa2d6b478ed420e36622a0bde48131661d483d8b..a20b888ba856b8c588af5cad5c2d72874f3aeaea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -400,7 +400,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -406,7 +406,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
return false;
|
||||
} else if (getRider() != null) { return super.hurt(source, amount); // Purpur - no teleporting on damage
|
||||
} else if (org.purpurmc.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for kinetic damage
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 953c27e0ea5bc5d38f24cf69d40bb80dcb33da91..b6022415925d365931a1110f727d5a22a04b9cee 100644
|
||||
index bf01f496e2b89f6fbd44d845a12cdfaed41e5f13..dcadf213c929c693ee60666993288ef09988e62c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2797,7 +2797,11 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2818,7 +2818,11 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
if (f4 > 0.0F) {
|
||||
this.playSound(this.getFallDamageSound((int) f4), 1.0F, 1.0F);
|
||||
|
||||
@@ -51,10 +51,10 @@ index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c
|
||||
private int maxStack = MAX_STACK;
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 71ba48fee88aad08883ae65e0b6eb4a674343f32..1b7a3180ff88b0db2aab6e61b286f9b4d0da6862 100644
|
||||
index f69fc2e41a5a319e7e790d6ba0f7c85604787ab5..9b474cebe9999068384e810b5f14d6b3a049a564 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1439,6 +1439,19 @@ public final class CraftServer implements Server {
|
||||
@@ -1444,6 +1444,19 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 5a42fde11c219a1572bf31663487ff1fff0d1312..8994844b6519082244fe95c1ba72dc81ac9f7f64 100644
|
||||
index 5dc9bbc5fe3de52a8a680b1864aeb6fc778c66f7..c062c169ea03a3e945729f0727caf1f4c4adbd07 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1110,6 +1110,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1125,6 +1125,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
private void resetWeatherCycle() {
|
||||
// CraftBukkit start
|
||||
@@ -16,7 +16,7 @@ index 5a42fde11c219a1572bf31663487ff1fff0d1312..8994844b6519082244fe95c1ba72dc81
|
||||
this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night
|
||||
// If we stop due to everyone sleeping we should reset the weather duration to some other random value.
|
||||
// Not that everyone ever manages to get the whole server to sleep at the same time....
|
||||
@@ -1117,6 +1118,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -1132,6 +1133,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
this.serverLevelData.setRainTime(0);
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -36,10 +36,10 @@ index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 6ce4f59b25d8b546bc7c9c1f544b49ba529ee45c..9a57f6ad29798adbd0b1d55deb47745c353fdac4 100644
|
||||
index fb9fbd708ab8aa9690f8c61182a1590c56b3ee6d..b7499782b5968c33ad530b1557f03ed3a7d0451a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1959,6 +1959,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1960,6 +1960,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Option for beds to explode on villager sleep
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 9688755b7d5e8125d411404ea23a06f38c6a7a0c..5b058a8c4ecb7a8b8f5600d761b6df234c35f574 100644
|
||||
index 31ca5ddf748313f7d6cdee906d13e8dcb616875d..5e9d901d5fd545b94dd04267b90b3f32a3dd881c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -1161,6 +1161,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -1169,6 +1169,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Override
|
||||
public void startSleeping(BlockPos pos) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Halloween options and optimizations
|
||||
|
||||
|
||||
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 ef5cd71dcbaa4f86977fe9ae76042c49c144da9c..df62c7a24560f305832e925afa7ce7b182bb1b35 100644
|
||||
index c1a2bfb521ba72e4d1b29aa3e0c72e0c28a652be..3babc327941ba56549fa0e44f020c932efbfc6bd 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -312,7 +312,7 @@ public class Bat extends AmbientCreature {
|
||||
@@ -17,14 +17,14 @@ index ef5cd71dcbaa4f86977fe9ae76042c49c144da9c..df62c7a24560f305832e925afa7ce7b1
|
||||
b0 = 7;
|
||||
} else if (random.nextBoolean()) {
|
||||
return false;
|
||||
@@ -322,6 +322,7 @@ public class Bat extends AmbientCreature {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -326,6 +326,7 @@ public class Bat extends AmbientCreature {
|
||||
private static boolean isSpookySeason = false;
|
||||
private static final int ONE_HOUR = 20 * 60 * 60;
|
||||
private static int lastSpookyCheck = -ONE_HOUR;
|
||||
+ public static boolean isHalloweenSeason(Level level) { return level.purpurConfig.forceHalloweenSeason || isHalloween(); } // Purpur
|
||||
private static boolean isHalloween() {
|
||||
if (net.minecraft.server.MinecraftServer.currentTick - lastSpookyCheck > ONE_HOUR) {
|
||||
LocalDate localdate = LocalDate.now();
|
||||
int i = localdate.get(ChronoField.DAY_OF_MONTH);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
index 193622015c6d3dbff787061e13fa098a287bce0c..1c48ac2f0b6cfee952ce5e76d7d886034ef871c0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 022cf286342abe9f5349b70e096373a0db2a810d..58143bf03bd3314a4b7b40acb72e203aebce7fa6 100644
|
||||
index 80322847f36a255a9e6fa01223f10771531fa15c..ceac9acc88d7d6c012c5b985f4cb9ae2fdcbf98c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index 022cf286342abe9f5349b70e096373a0db2a810d..58143bf03bd3314a4b7b40acb72e203a
|
||||
|
||||
public volatile Thread shutdownThread; // Paper
|
||||
public volatile boolean abnormalExit = false; // Paper
|
||||
@@ -1033,6 +1034,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1035,6 +1036,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// CraftBukkit end
|
||||
MinecraftServer.LOGGER.info("Stopping server");
|
||||
MinecraftTimings.stopServer(); // Paper
|
||||
@@ -32,10 +32,10 @@ index 022cf286342abe9f5349b70e096373a0db2a810d..58143bf03bd3314a4b7b40acb72e203a
|
||||
if (this.server != null) {
|
||||
this.server.disablePlugins();
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index cd859eec6b0bee44bce83614e55709381baf5e6b..9412a238aa3538bf958cf3b5ce2be5a9beead90f 100644
|
||||
index 9e83f2dea73461f698185f5ffdb6060e422b9494..6b503d7bdd0eb202ff3466dc1f69110294ecb6b7 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -288,6 +288,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -290,6 +290,30 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.warn("Perhaps a server is already running on that port?");
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index e2e83d8b39ddb154c0e69b63d5b996644926ac43..a9885f92e0a3494b27376a7a01edbd0e
|
||||
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
|
||||
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 9a57f6ad29798adbd0b1d55deb47745c353fdac4..05d2e761dba6351c39a5927bbb2480e0c3dc0030 100644
|
||||
index b7499782b5968c33ad530b1557f03ed3a7d0451a..5a55fbfd42e00a2cb725173d2d9f0bb97ab53dc7 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3157,11 +3157,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3158,11 +3158,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
// Paper end
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ index 2feec97ffe62cfe063085e3767937e8af122ee95..c2cf01d43d6550b8231d85a55bed8614
|
||||
|
||||
@Override
|
||||
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 df62c7a24560f305832e925afa7ce7b182bb1b35..78e7279e88d72768e64fc51ef8fab19059aa3489 100644
|
||||
index 3babc327941ba56549fa0e44f020c932efbfc6bd..a9500cd104ff3c948480eefa15508a75066bc01a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -103,6 +103,11 @@ public class Bat extends AmbientCreature {
|
||||
@@ -405,7 +405,7 @@ index 713fe8ac2293fe2e60c5834b3d6fd2f12f3bc391..3dba3f0bd9c2264a2ea703745f90fbaa
|
||||
|
||||
@Override
|
||||
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 d0edbad76a749163f77723547001e59352654e12..96c2920a808a0ab7fbd52677f29955d1b73ca290 100644
|
||||
index 8e6c2aadd7f69dc6bd585242bf4e23540e75ceeb..a41e32fb0c2545c2ddb6651881ff05fea0b6c3a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -121,6 +121,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -421,7 +421,7 @@ index d0edbad76a749163f77723547001e59352654e12..96c2920a808a0ab7fbd52677f29955d1
|
||||
|
||||
@Override
|
||||
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 d8bd81f1c8069f81983ccf0aee8200bd67c913de..66106dc6879b7b37dd149131a5fe751b788a15fa 100644
|
||||
index 7b5782c3a7026b24aea2bc8be5d23b5d16b86fd4..5b9f3a53a521b71eeb1bf8a49aece57347a8b226 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
|
||||
@@ -99,6 +99,11 @@ public class Goat extends Animal {
|
||||
@@ -645,7 +645,7 @@ index 0aa4d8e506462cfe6fb69414a30cc5eb441d7ad1..00dee17c95479ca93d8bfcc861ae1808
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
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 8923274fc04282cf97398b997603f699d92e6699..4e6b8f6afcbf4e84759a5ec07930717fb363613f 100644
|
||||
index a20b888ba856b8c588af5cad5c2d72874f3aeaea..8d795d1bc125973caf0818224ea359c3cd3388a8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -103,6 +103,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -1077,7 +1077,7 @@ index fd2828469badbc7936ea68c0bdd8d689c86146b6..3288e9bd8e9758d9f5137614aedd0fc7
|
||||
|
||||
@Override
|
||||
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 866665186e7dd20a00a635d4675da2e7ac57ae91..170b48953a4bf494d92ded572f27711fc50a2723 100644
|
||||
index 6a41212b1fa2fe61177901dd64c77a92d7d502a4..42d54b36a57759ec4029d3a488d6fd8c7fd299c2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
@@ -92,6 +92,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -1093,7 +1093,7 @@ index 866665186e7dd20a00a635d4675da2e7ac57ae91..170b48953a4bf494d92ded572f27711f
|
||||
|
||||
@Override
|
||||
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 9410c57b4999915ccff9588895fd9bec307499bd..4d72739ff70a7c116686cf74546a336852ac978c 100644
|
||||
index 89e4364c6c55b5fa0e34e90c87fc622583277c73..762b1482713e41ad80999f09d16422c44f973233 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
@@ -116,6 +116,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -1125,10 +1125,10 @@ index d3a298734e4434d29b66e94fc6c299d34e0ad432..eb194daac43571a5eb6282c1465a695d
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
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 5b058a8c4ecb7a8b8f5600d761b6df234c35f574..be19a48e9127b24856212ab39a11e00ec1941a52 100644
|
||||
index 5e9d901d5fd545b94dd04267b90b3f32a3dd881c..0141d4d2dfaacfbce174e82e2d7c1a9419c64982 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -184,6 +184,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -186,6 +186,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
public boolean isSensitiveToWater() {
|
||||
return this.level.purpurConfig.villagerTakeDamageFromWater;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Option to prevent spiders from climbing world border
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 8fb0b23f7b643c6bc321f3a3b4acfab78646721b..76469bd6b087a378325a2515186cfc591691ea27 100644
|
||||
index 2ed6964132513fa7b38fe4733aea4afd0153a735..ba96f5ae72516c22eea8cb3a26e14c58fb543a71 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -234,6 +234,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -16,7 +16,7 @@ index 8fb0b23f7b643c6bc321f3a3b4acfab78646721b..76469bd6b087a378325a2515186cfc59
|
||||
public boolean hurtMarked;
|
||||
protected Vec3 stuckSpeedMultiplier;
|
||||
@Nullable
|
||||
@@ -1287,7 +1288,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -1314,7 +1315,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
io.papermc.paper.util.CollisionUtil.getCollisions(world, this, collisionBox, potentialCollisions, false, true,
|
||||
false, false, null, null);
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Mob head visibility percent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 30893ad4ea69562c7b77ad1733639f7f7ff1067c..502a41fb2a35eed422d46b8a752cb58a584d496b 100644
|
||||
index dcadf213c929c693ee60666993288ef09988e62c..233b8e3db8917ab46e29b04e46b5fda6fcd92a20 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -992,9 +992,17 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -990,9 +990,17 @@ public abstract class LivingEntity extends Entity {
|
||||
ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD);
|
||||
EntityType<?> entitytypes = entity.getType();
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 58143bf03bd3314a4b7b40acb72e203aebce7fa6..149621028a3bc28d65cbd4c53baff36bb58df6e8 100644
|
||||
index ceac9acc88d7d6c012c5b985f4cb9ae2fdcbf98c..42c8fdf6ed4f6ab233964e4f64fb7ec4580e53fa 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1135,6 +1135,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1137,6 +1137,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
public void safeShutdown(boolean flag, boolean isRestarting) {
|
||||
org.purpurmc.purpur.task.BossBarTask.stopAll(); // Purpur
|
||||
@@ -17,17 +17,17 @@ index 58143bf03bd3314a4b7b40acb72e203aebce7fa6..149621028a3bc28d65cbd4c53baff36b
|
||||
this.hasLoggedStop = true; // Paper
|
||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 317576456007494701b356e1536d6c75cb0491f4..d668c4545f1f02ad4e3ca1d860aff6aa46f41c70 100644
|
||||
index 6b503d7bdd0eb202ff3466dc1f69110294ecb6b7..799955b4439ba7739dc011183aad25b39b526566 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -380,6 +380,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
}
|
||||
@@ -383,6 +383,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
|
||||
if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) mobSpawnExecutor.start(); // Pufferfish
|
||||
org.purpurmc.purpur.task.BossBarTask.startAll(); // Purpur
|
||||
+ org.purpurmc.purpur.task.BeehiveTask.instance().register(); // Purpur
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/task/BeehiveTask.java b/src/main/java/org/purpurmc/purpur/task/BeehiveTask.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..055dd307e9d5ac0d4623c961164c84bab1edd3bd
|
||||
|
||||
Reference in New Issue
Block a user