mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 18:07:43 +01:00
Add back Pufferfish patches
This commit is contained in:
3665
patches/server/0001-Pufferfish-Server-Changes.patch
Normal file
3665
patches/server/0001-Pufferfish-Server-Changes.patch
Normal file
File diff suppressed because it is too large
Load Diff
67
patches/server/0002-Fix-pufferfish-issues.patch
Normal file
67
patches/server/0002-Fix-pufferfish-issues.patch
Normal file
@@ -0,0 +1,67 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <blake.galbreath@gmail.com>
|
||||
Date: Sun, 12 Jun 2022 09:18:57 -0500
|
||||
Subject: [PATCH] Fix pufferfish issues
|
||||
|
||||
|
||||
diff --git a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||
index 4232585ab3048dcfd934569beca2f2f21d95f382..9e3f279d759a49c051544f54f76790d549132ac0 100644
|
||||
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||
@@ -222,7 +222,7 @@ public class PufferfishConfig {
|
||||
public static int activationDistanceMod;
|
||||
|
||||
private static void dynamicActivationOfBrains() throws IOException {
|
||||
- dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", true);
|
||||
+ dearEnabled = getBoolean("dab.enabled", "activation-range.enabled", false); // Purpur
|
||||
startDistance = getInt("dab.start-distance", "activation-range.start-distance", 12,
|
||||
"This value determines how far away an entity has to be",
|
||||
"from the player to start being effected by DEAR.");
|
||||
@@ -266,7 +266,7 @@ public class PufferfishConfig {
|
||||
|
||||
public static boolean throttleInactiveGoalSelectorTick;
|
||||
private static void inactiveGoalSelectorThrottle() {
|
||||
- getBoolean("inactive-goal-selector-throttle", "inactive-goal-selector-disable", true,
|
||||
+ getBoolean("inactive-goal-selector-throttle", "inactive-goal-selector-disable", false, // Purpur
|
||||
"Throttles the AI goal selector in entity inactive ticks.",
|
||||
"This can improve performance by a few percent, but has minor gameplay implications.");
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 54a51fc23563ca7843c72c169b1e0d7f51c42412..b398e4966eaa22b644a16f3c473af4769c9bbaf4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -809,7 +809,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
}
|
||||
// Paper start - optimise random block ticking
|
||||
private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos();
|
||||
- // private final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(); // Pufferfish - moved to super
|
||||
+ private final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(this.random.nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - moved to super // Purpur - dont break ABI
|
||||
// Paper end
|
||||
|
||||
private int currentIceAndSnowTick = 0; protected void resetIceAndSnowTick() { this.currentIceAndSnowTick = this.randomTickRandom.nextInt(16); } // Pufferfish
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index edd2c236ca7c37e1a3aec0048b8974f4cd62f2cc..42299fd6ae663b01bb5f010b96887caa744dcb96 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -270,7 +270,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
|
||||
public abstract ResourceKey<LevelStem> getTypeKey();
|
||||
|
||||
- protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter
|
||||
+ //protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); public net.minecraft.util.RandomSource getThreadUnsafeRandom() { return this.randomTickRandom; } // Pufferfish - move thread unsafe random initialization // Pufferfish - getter // Purpur - dont break ABI
|
||||
|
||||
// Pufferfish start - ensure these get inlined
|
||||
private final int minBuildHeight, minSection, height, maxBuildHeight, maxSection;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index de7a5f3812a017131fd1b32fbeff10e325b1cd2e..aa327e549949052b5babf4101cc2fc9a37868fa8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -130,7 +130,7 @@ public class LevelChunk extends ChunkAccess {
|
||||
this.fluidTicks = fluidTickScheduler;
|
||||
// CraftBukkit start
|
||||
this.bukkitChunk = new org.bukkit.craftbukkit.CraftChunk(this);
|
||||
- this.lightningTick = this.level.getThreadUnsafeRandom().nextInt(100000) << 1; // Pufferfish - initialize lightning tick
|
||||
+ this.lightningTick = java.util.concurrent.ThreadLocalRandom.current().nextInt(100000) << 1; // Pufferfish - initialize lightning tick // Purpur - any random will do
|
||||
}
|
||||
|
||||
public org.bukkit.Chunk bukkitChunk;
|
||||
@@ -5,23 +5,22 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index d5d49bb2b47c889e12d17dc87b8c439a60b3fe67..7de4b51cb4afdcbdfb8d1dc32f56252d997e23a8 100644
|
||||
index 5752339f2d081c36944d568e0b29ec4fe24f37f9..d5b7458f6b79addf1a12eb82443ba5bdbe2ea5d3 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -7,8 +7,10 @@ plugins {
|
||||
@@ -7,9 +7,9 @@ plugins {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":paper-api"))
|
||||
- implementation(project(":paper-mojangapi"))
|
||||
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
||||
+ implementation(project(":purpur-api")) // Purpur
|
||||
// Pufferfish start
|
||||
- implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") {
|
||||
+ implementation("io.papermc.paper:paper-mojangapi:1.19.3-R0.1-SNAPSHOT") {
|
||||
+ exclude("io.papermc.paper", "paper-api")
|
||||
+ }
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -37,6 +39,9 @@ dependencies {
|
||||
exclude("io.papermc.paper", "paper-api")
|
||||
}
|
||||
// Pufferfish end
|
||||
@@ -41,6 +41,9 @@ dependencies {
|
||||
runtimeOnly("mysql:mysql-connector-java:8.0.29")
|
||||
runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
|
||||
|
||||
@@ -31,16 +30,16 @@ index d5d49bb2b47c889e12d17dc87b8c439a60b3fe67..7de4b51cb4afdcbdfb8d1dc32f56252d
|
||||
runtimeOnly("org.apache.maven:maven-resolver-provider:3.8.5")
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
||||
@@ -61,7 +66,7 @@ tasks.jar {
|
||||
@@ -80,7 +83,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-Pufferfish-$implementationVersion", // Pufferfish
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -133,7 +138,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -152,7 +155,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -172,10 +171,10 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438
|
||||
stringbuilder.append(CrashReport.getErrorComment());
|
||||
stringbuilder.append("\n\n");
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 710ca7d3a5659953f64bc6dccdd93b43300961cc..b5368fc08cbe587f03a5f04a9e25850ca818cf2c 100644
|
||||
index 68d16efaf9c2d997afabadcf1ee24c5de685b5b3..861cd9f092a19aca520c2be4ba7a6ee3d9aee263 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -922,7 +922,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -924,7 +924,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
shutdownThread = Thread.currentThread();
|
||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||
if (!isSameThread()) {
|
||||
@@ -184,20 +183,20 @@ index 710ca7d3a5659953f64bc6dccdd93b43300961cc..b5368fc08cbe587f03a5f04a9e25850c
|
||||
while (this.getRunningThread().isAlive()) {
|
||||
this.getRunningThread().stop();
|
||||
try {
|
||||
@@ -1654,7 +1654,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1656,7 +1656,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
- return "Pufferfish"; // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
}
|
||||
|
||||
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 51b3db0b6c2cede95b584268e035c0fb36d38094..b29406fa5bd62fdd393915160fdb920cf7e28bc4 100644
|
||||
index 673fb3955291407be37dc78be4eec9bf2018128b..c3221e8088bc53c8c229961adecbf60255eb8c79 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -278,11 +278,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -280,11 +280,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
|
||||
@@ -213,14 +212,14 @@ index 51b3db0b6c2cede95b584268e035c0fb36d38094..b29406fa5bd62fdd393915160fdb920c
|
||||
// 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 47df6f4268a63118da8187f4102c876bd37d1680..0ca1d7a9950d5797bae7266961190ec1776e524f 100644
|
||||
index 098b67e6ad74be7698713623ca7fae70f19ac6b3..57a2014ff63129e99acdf8c382f3c4665e14cdd6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -261,7 +261,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 = "Pufferfish"; // Paper // Pufferfish
|
||||
+ private final String serverName = "Purpur"; // Paper // Purpur
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
@@ -279,27 +278,27 @@ index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..d1526ed7197b883e1d1f07baf285bf5e
|
||||
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index 17336102d37a5ab05c3b3c93fcf46961d0ffa7e2..a308993500fbb6cd871b44ec3d2ff66e28ac680b 100644
|
||||
index a3c6b3dd87022e2def1f12da7c44c8d529191d1e..51c96095cf7092125f79a197f797dc7965647574 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -433,7 +433,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
- return new com.destroystokyo.paper.PaperVersionFetcher();
|
||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Purpur - diff on change
|
||||
- return new gg.pufferfish.pufferfish.PufferfishVersionFetcher(); // Pufferfish
|
||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // 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..fb87620c742ff7912f5e8ccd2a7930dd605576d9 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/gg.pufferfish.pufferfish/pufferfish-api/pom.properties"); // Pufferfish
|
||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur
|
||||
Properties properties = new Properties();
|
||||
|
||||
@@ -5,14 +5,14 @@ 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 7b1843e16745ca8db2244e17490d291401f22679..acd95cf1dc7f009b63e44e4404e1736283fd458e 100644
|
||||
index 061716934ba0a1f01e4d85d664034f72b3c7a765..acd95cf1dc7f009b63e44e4404e1736283fd458e 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/Metrics.java
|
||||
@@ -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("Pufferfish", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish
|
||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
|
||||
|
||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||
@@ -22,7 +22,7 @@ index 7b1843e16745ca8db2244e17490d291401f22679..acd95cf1dc7f009b63e44e4404e17362
|
||||
|
||||
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" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
||||
|
||||
@@ -64,7 +64,7 @@ index ae5dd08de75a7ed231295f306fd0974da3988249..b8d49f7607c646216d42f4e047997d47
|
||||
if (this.source.acceptsSuccess() && !this.silent) {
|
||||
this.source.sendSystemMessage(message);
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index b29406fa5bd62fdd393915160fdb920cf7e28bc4..fa2f2d509445831360e78d4e61bd40e4f2ebe84f 100644
|
||||
index c3221e8088bc53c8c229961adecbf60255eb8c79..44be589011acb90c0d662cb1eb2697cfefd7fba5 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -84,7 +84,7 @@ index b29406fa5bd62fdd393915160fdb920cf7e28bc4..fa2f2d509445831360e78d4e61bd40e4
|
||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 3cbf801b2e5420c0e870f73788deb550e49ad54d..e38d20975f63e2a9847b17e60647624c1eeab6f5 100644
|
||||
index 42299fd6ae663b01bb5f010b96887caa744dcb96..816f906f98adc180f37d2b216628e576ac837448 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -173,6 +173,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -96,7 +96,7 @@ index 3cbf801b2e5420c0e870f73788deb550e49ad54d..e38d20975f63e2a9847b17e60647624c
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -273,6 +275,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -284,6 +286,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
||||
@@ -105,7 +105,7 @@ index 3cbf801b2e5420c0e870f73788deb550e49ad54d..e38d20975f63e2a9847b17e60647624c
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 0ca1d7a9950d5797bae7266961190ec1776e524f..78372d9b900e7506bfbcf53e8fa70043cc140fdb 100644
|
||||
index 57a2014ff63129e99acdf8c382f3c4665e14cdd6..fb290333f407776e732d3588233a35afa2ab989c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -979,6 +979,7 @@ public final class CraftServer implements Server {
|
||||
@@ -132,7 +132,7 @@ index 0ca1d7a9950d5797bae7266961190ec1776e524f..78372d9b900e7506bfbcf53e8fa70043
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2760,6 +2763,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2765,6 +2768,18 @@ public final class CraftServer implements Server {
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ index 0ca1d7a9950d5797bae7266961190ec1776e524f..78372d9b900e7506bfbcf53e8fa70043
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index e072a5475a64d110f25ebcc871aa7703c2fc1e70..1913792032ef81a6f331cfdfc97052cfe53e767e 100644
|
||||
index 119d9bb5e41038704654e248bf168d22af246b7f..f8c4878cc558c6fe76c99795f9963015ea21312b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -166,6 +166,14 @@ public class Main {
|
||||
@@ -17,10 +17,10 @@ index c0b0a7fdb75266a7064d54bda6441953184ecc64..0e21e7faf2036f12b64b9237a89ef8e7
|
||||
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
|
||||
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 0c2255b6e2fb7752f85b0f83d4f84732758bd14d..d99baac236d7d4be09f351943971a9f60914be31 100644
|
||||
index aa23559719357f2678e3aa759d58ba4bde18bdd4..662c43401bf84a6de47986e66e1f83c4b50df775 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3505,6 +3505,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3507,6 +3507,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
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 0c2255b6e2fb7752f85b0f83d4f84732758bd14d..d99baac236d7d4be09f351943971a9f6
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3529,6 +3530,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3531,6 +3532,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
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
|
||||
}
|
||||
@@ -81,10 +81,10 @@ index 8795c94e6b6474addddbb0b337a962e8fac46b2b..f2ef4d93e070167d70f597e8893bf29b
|
||||
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 7f94da8059147760cbdc2476d0e8beda4a105f40..efce81deda7403d056628ab1a83f909af548b424 100644
|
||||
index caa4d38d620717e78df9ad29fe9752213f1cda1b..164fa910866c876abe96910af7b9018b6f1a7452 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3812,6 +3812,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3846,6 +3846,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
@@ -22,10 +22,10 @@ index b1d12c78edf21cc29a9f9ca54e7957ddc8875ffb..a3e398d3bcc88f9c0feaa6ca8dc646f3
|
||||
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 b5368fc08cbe587f03a5f04a9e25850ca818cf2c..cb2d56bc77132883876e367d332fef081bb32c72 100644
|
||||
index 861cd9f092a19aca520c2be4ba7a6ee3d9aee263..7191a7e9a7fcb4268c5aaf85bf9c896fa2bfd676 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1515,6 +1515,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1517,6 +1517,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 b5368fc08cbe587f03a5f04a9e25850ca818cf2c..cb2d56bc77132883876e367d332fef08
|
||||
|
||||
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 f3a19d00f78e19aa98c57461efb90d79f656a992..bc1a8e2bb56e25e49bdbf5a80c5d14ed87605f2c 100644
|
||||
index b398e4966eaa22b644a16f3c473af4769c9bbaf4..a24ddd5d02a6355112a9e3bee2131fbe0f9b7e0f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -223,6 +223,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -66,7 +66,7 @@ index 740eff44b2895f83099beb4bc0e705f4252edc12..9918cc39247037c0a8379071167c5560
|
||||
|
||||
public void doTick() {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index bc7cbee5b5a789aaf42ac770a488eae16fdc9d19..400f974549319a4b3b0445c815a2e99756a2bc36 100644
|
||||
index 662c43401bf84a6de47986e66e1f83c4b50df775..d89e7697f12f06f49d4063fa0b06c90a56c6967c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -720,7 +720,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -77,7 +77,7 @@ index bc7cbee5b5a789aaf42ac770a488eae16fdc9d19..400f974549319a4b3b0445c815a2e997
|
||||
// If the packet contains look information then we update the To location with the correct Yaw & Pitch.
|
||||
to.setYaw(packet.getYRot());
|
||||
to.setPitch(packet.getXRot());
|
||||
@@ -2772,6 +2771,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2774,6 +2773,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -87,7 +87,7 @@ index bc7cbee5b5a789aaf42ac770a488eae16fdc9d19..400f974549319a4b3b0445c815a2e997
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index efce81deda7403d056628ab1a83f909af548b424..3f2813e32a1ea011f760d2df454b8875f32a42f3 100644
|
||||
index 164fa910866c876abe96910af7b9018b6f1a7452..129e9f79930f03295d1bfaf53333e1a9863b4bc8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -99,7 +99,7 @@ index efce81deda7403d056628ab1a83f909af548b424..3f2813e32a1ea011f760d2df454b8875
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2767,6 +2767,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2801,6 +2801,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -112,7 +112,7 @@ index efce81deda7403d056628ab1a83f909af548b424..3f2813e32a1ea011f760d2df454b8875
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2807,6 +2813,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2841,6 +2847,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -127,7 +127,7 @@ index efce81deda7403d056628ab1a83f909af548b424..3f2813e32a1ea011f760d2df454b8875
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4548,4 +4562,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4634,4 +4648,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -202,10 +202,10 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..882ab40c8cdea8c214cb8344b3ccecdd
|
||||
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 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521fb6bd5247 100644
|
||||
index d134e88ae9aa2bd0b2b51056bfcc37941c713002..60519f70115358e3f94de6a2c1923e2d5f7a9f55 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -222,9 +222,9 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -221,9 +221,9 @@ public abstract class LivingEntity extends Entity {
|
||||
protected int deathScore;
|
||||
public float lastHurt;
|
||||
public boolean jumping;
|
||||
@@ -218,7 +218,7 @@ index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521f
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -290,7 +290,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -289,7 +289,7 @@ public abstract class LivingEntity extends Entity {
|
||||
this.effectsDirty = true;
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
@@ -227,7 +227,7 @@ index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521f
|
||||
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());
|
||||
@@ -341,6 +341,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -340,6 +340,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);
|
||||
}
|
||||
@@ -235,7 +235,7 @@ index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521f
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
|
||||
@@ -2690,7 +2691,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2712,7 +2713,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper
|
||||
@@ -244,7 +244,7 @@ index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521f
|
||||
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start
|
||||
@@ -3432,8 +3433,10 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3454,8 +3455,10 @@ public abstract class LivingEntity extends Entity {
|
||||
this.pushEntities();
|
||||
this.level.getProfiler().pop();
|
||||
// Paper start
|
||||
@@ -257,7 +257,7 @@ index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521f
|
||||
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());
|
||||
@@ -3443,6 +3446,21 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3465,6 +3468,21 @@ public abstract class LivingEntity extends Entity {
|
||||
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -280,7 +280,7 @@ index 9e075de3542bda8ae086c9ca68bcd00b16d565d0..1e75f62ff6bd83f6007090dde5ce521f
|
||||
// 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 49b983064ea810382b6112f5dc7f93ba4e5710bd..cb7f66bab7c08b6485576878bf330be9ffa329b8 100644
|
||||
index 94b45579dc371ee980565aed2f5dee78ebd44427..286f6a7ebc38378bb730db5d8ffef226f6a94e3d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -146,8 +146,8 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -294,7 +294,7 @@ index 49b983064ea810382b6112f5dc7f93ba4e5710bd..cb7f66bab7c08b6485576878bf330be9
|
||||
this.jumpControl = new JumpControl(this);
|
||||
this.bodyRotationControl = this.createBodyControl();
|
||||
this.navigation = this.createNavigation(world);
|
||||
@@ -1341,7 +1341,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1347,7 +1347,7 @@ public abstract class Mob extends LivingEntity {
|
||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -303,7 +303,7 @@ index 49b983064ea810382b6112f5dc7f93ba4e5710bd..cb7f66bab7c08b6485576878bf330be9
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1722,4 +1722,52 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1728,4 +1728,52 @@ public abstract class Mob extends LivingEntity {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -357,13 +357,13 @@ index 49b983064ea810382b6112f5dc7f93ba4e5710bd..cb7f66bab7c08b6485576878bf330be9
|
||||
+ // 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 dd1102d5291ef6f18e82400a6d8a0a376cc071e9..9932a801be1bde1c57697396c097fb47a6b26ede 100644
|
||||
index e283eb57c25f7de222f9d09dca851169f5f6e488..210a0bee1227e4671909dd553ab22027cfc868fb 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
|
||||
@@ -23,13 +23,20 @@ public class AttributeMap {
|
||||
private final Map<Attribute, AttributeInstance> attributes = Maps.newHashMap();
|
||||
@@ -24,14 +24,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) {
|
||||
@@ -374,6 +374,7 @@ index dd1102d5291ef6f18e82400a6d8a0a376cc071e9..9932a801be1bde1c57697396c097fb47
|
||||
+ this.entity = entity;
|
||||
+ // Purpur end
|
||||
this.supplier = defaultAttributes;
|
||||
this.createInstance = attribute -> this.supplier.createInstance(this::onAttributeModified, attribute); // Pufferfish
|
||||
}
|
||||
|
||||
private void onAttributeModified(AttributeInstance instance) {
|
||||
@@ -382,7 +383,7 @@ index dd1102d5291ef6f18e82400a6d8a0a376cc071e9..9932a801be1bde1c57697396c097fb47
|
||||
this.dirtyAttributes.add(instance);
|
||||
}
|
||||
|
||||
@@ -41,7 +48,7 @@ public class AttributeMap {
|
||||
@@ -43,7 +50,7 @@ public class AttributeMap {
|
||||
|
||||
public Collection<AttributeInstance> getSyncableAttributes() {
|
||||
return this.attributes.values().stream().filter((attribute) -> {
|
||||
@@ -554,7 +555,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 320c558bbe80d4bbc641e895ec43cfa2b45e8d70..b2b490961ee47d4cfbac0d438dba91eec658ead5 100644
|
||||
index 1572a81ce1718964d795f2a2a411402f88901c73..76069dbd56f6452af638e2e3311b44d3e9a1f4a5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -18,6 +18,7 @@ import net.minecraft.world.entity.EntityDimensions;
|
||||
@@ -2198,7 +2199,7 @@ index a6a50eb4f4ac85751071571876ac804d44ee1ee6..b9c692a2f42976eb459ed6a4078dca28
|
||||
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/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
index c0084b1f146a4697194c421519537e612ff737c0..3c60ad2c26c46f900e537ea39d74a97068f44561 100644
|
||||
index c66a214dfbde7fd8e7a68efaa82ac260178f297f..d98b726de2030662cb79e6c8446436c313a25d50 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
|
||||
@@ -101,10 +101,23 @@ public class Allay extends PathfinderMob implements InventoryCarrier {
|
||||
@@ -2256,7 +2257,7 @@ index c0084b1f146a4697194c421519537e612ff737c0..3c60ad2c26c46f900e537ea39d74a970
|
||||
protected Brain.Provider<Allay> brainProvider() {
|
||||
return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES);
|
||||
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 0d7f951e3837de7553d93f3d4525276048feb405..682c69ea9cdcc1ab9fd19e28eef410ecf27bf9f3 100644
|
||||
index 02219f5ca614fefffa1ceb3c7036dfe1c90c8676..ac7b58d4ad0e3c3d3fe8aaf7a6b4237786c09e75 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
|
||||
@@ -98,6 +98,28 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -2288,7 +2289,7 @@ index 0d7f951e3837de7553d93f3d4525276048feb405..682c69ea9cdcc1ab9fd19e28eef410ec
|
||||
@Override
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
@@ -518,14 +540,22 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -520,14 +542,22 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
private static class AxolotlMoveControl extends SmoothSwimmingMoveControl {
|
||||
|
||||
private final Axolotl axolotl;
|
||||
@@ -2311,7 +2312,7 @@ index 0d7f951e3837de7553d93f3d4525276048feb405..682c69ea9cdcc1ab9fd19e28eef410ec
|
||||
if (!this.axolotl.isPlayingDead()) {
|
||||
super.tick();
|
||||
}
|
||||
@@ -540,9 +570,9 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -542,9 +572,9 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2324,7 +2325,7 @@ index 0d7f951e3837de7553d93f3d4525276048feb405..682c69ea9cdcc1ab9fd19e28eef410ec
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
index f2e84e832ad95df26fe3b9ba439ce38fc59b3585..bb1cbb7dcc26cb8e6e884a3fab08ce23bdf8c487 100644
|
||||
index 0a051c7e7f5a172a9b906de04ef2a0419eda26eb..844004cefd85fdc3fb1628449e8452bd6207a77b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
|
||||
@@ -84,16 +84,65 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
||||
@@ -2394,7 +2395,7 @@ index f2e84e832ad95df26fe3b9ba439ce38fc59b3585..bb1cbb7dcc26cb8e6e884a3fab08ce23
|
||||
@Override
|
||||
protected Brain.Provider<Frog> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
@@ -381,7 +430,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
||||
@@ -383,7 +432,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
||||
return world.getBlockState(pos.below()).is(BlockTags.FROGS_SPAWNABLE_ON) && isBrightEnoughToSpawn(world, pos);
|
||||
}
|
||||
|
||||
@@ -2404,7 +2405,7 @@ index f2e84e832ad95df26fe3b9ba439ce38fc59b3585..bb1cbb7dcc26cb8e6e884a3fab08ce23
|
||||
super(entity);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
index e8574bd4b412c1db82aaec9dced47b63de9dbf28..b33b3714f18f5bcd1f7d9d4974a8c1e254d83f5b 100644
|
||||
index 35594c5c107e83e5e025233036ae6d060f77c408..7b7daf5232a446b8774bbf53f2f09d9811d1dbbc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
|
||||
@@ -44,13 +44,50 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -2460,7 +2461,7 @@ index e8574bd4b412c1db82aaec9dced47b63de9dbf28..b33b3714f18f5bcd1f7d9d4974a8c1e2
|
||||
protected PathNavigation createNavigation(Level world) {
|
||||
return new WaterBoundPathNavigation(this, world);
|
||||
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 e9f7c08ae3ea9c578971b1ede88788572c20e277..9b0a0736aa46e60f21c85cc88b67af342c34d5db 100644
|
||||
index 0f365b9dbb160d90ddf5fcd40895305df48ce916..d6e527fb592f721aac59d52a1e84e147da62913b 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
|
||||
@@ -89,6 +89,23 @@ public class Goat extends Animal {
|
||||
@@ -2487,11 +2488,12 @@ index e9f7c08ae3ea9c578971b1ede88788572c20e277..9b0a0736aa46e60f21c85cc88b67af34
|
||||
@Override
|
||||
protected Brain.Provider<Goat> brainProvider() {
|
||||
return Brain.provider(Goat.MEMORY_TYPES, Goat.SENSOR_TYPES);
|
||||
@@ -191,6 +208,7 @@ public class Goat extends Animal {
|
||||
@@ -192,7 +209,7 @@ public class Goat extends Animal {
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("goatBrain");
|
||||
+ if (getRider() == null || !this.isControllable()) // Purpur - only use brain if no rider
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("goatActivityUpdate");
|
||||
@@ -3444,7 +3446,7 @@ index d02286d553c600fe7e75f48e278e380d21c5b868..82b03488178962eb74fe252d561ba8ce
|
||||
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 f4002ac7cba7d5e41b4f11b98212c625f6a92a65..daac8d2ee377d960cac361e6977bcea4656b8d79 100644
|
||||
index ff0e09a7387e7dc9ca136d3e48e640b9e9cb4bf3..8f8c40d5265f9e124a255af92eb43b51322ffd74 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -92,9 +92,27 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -3492,7 +3494,7 @@ index f4002ac7cba7d5e41b4f11b98212c625f6a92a65..daac8d2ee377d960cac361e6977bcea4
|
||||
float f = this.getLightLevelDependentMagicValue();
|
||||
|
||||
if (f > 0.5F && this.level.canSeeSky(this.blockPosition()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper
|
||||
@@ -398,6 +417,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -404,6 +423,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
@@ -4838,7 +4840,7 @@ index b75945807b425609394c343da56c316a769f0a29..838420f5d61eaf5e4abb52751b010d57
|
||||
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
|
||||
this.persistentAngerTarget = angryAt;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java b/src/main/java/net/minecraft/world/entity/monster/hoglin/Hoglin.java
|
||||
index 45741410a13cffe3419e34b5607b048bbcf1c3ff..0a63ee3a292111143104f764e01cabbc4c2100ba 100644
|
||||
index 5d487f1613b1fc5807283c20e5cc23a432d08f42..f2afd5f8ad916f0cf4674c6b4f973715999c6641 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,23 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -4865,16 +4867,17 @@ index 45741410a13cffe3419e34b5607b048bbcf1c3ff..0a63ee3a292111143104f764e01cabbc
|
||||
@Override
|
||||
public boolean canBeLeashed(Player player) {
|
||||
return !this.isLeashed();
|
||||
@@ -129,6 +146,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -130,7 +147,7 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("hoglinBrain");
|
||||
+ if (getRider() == null || !this.isControllable()) // Purpur - only use brain if no rider
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel)this.level, this);
|
||||
this.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 afa7ecfa8453da510ec5ccecb1ceeb1d9893d259..0b6f4460f29e4b04c715eceba0d7fbda0b08c037 100644
|
||||
index b401fb4f276ca81b4bb18426ee56abed8a9f7a7b..33ffbc4ac5cecec8487c0529c1dee8596bb0ab30 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
|
||||
@@ -97,6 +97,23 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -4901,11 +4904,12 @@ index afa7ecfa8453da510ec5ccecb1ceeb1d9893d259..0b6f4460f29e4b04c715eceba0d7fbda
|
||||
@Override
|
||||
public void addAdditionalSaveData(CompoundTag nbt) {
|
||||
super.addAdditionalSaveData(nbt);
|
||||
@@ -311,6 +328,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -312,7 +329,7 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@Override
|
||||
protected void customServerAiStep() {
|
||||
this.level.getProfiler().push("piglinBrain");
|
||||
+ if (getRider() == null || !this.isControllable()) // Purpur - only use brain if no rider
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
PiglinAi.updateActivity(this);
|
||||
@@ -4946,7 +4950,7 @@ index 769e4fbaac01a4fe3a45bd9cab5c63b61fc69f53..ff149234a8f3e1c94961e41d5bc81174
|
||||
this.level.getProfiler().pop();
|
||||
PiglinBruteAi.updateActivity(this);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
index 1ae7408048f951cb94d7cfbea60efc5567b1af84..98176fde2760ab1d85d0b5afc1fd776487eef5e0 100644
|
||||
index 904826ea563bd2eb469f403df459def62cc1b5e6..456ebb0829d19d13abe05d83035c4abe3589962f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
|
||||
@@ -120,8 +120,32 @@ public class Warden extends Monster implements VibrationListener.VibrationListen
|
||||
@@ -4982,7 +4986,7 @@ index 1ae7408048f951cb94d7cfbea60efc5567b1af84..98176fde2760ab1d85d0b5afc1fd7764
|
||||
@Override
|
||||
public Packet<ClientGamePacketListener> getAddEntityPacket() {
|
||||
return new ClientboundAddEntityPacket(this, this.hasPose(Pose.EMERGING) ? 1 : 0);
|
||||
@@ -403,19 +427,16 @@ public class Warden extends Monster implements VibrationListener.VibrationListen
|
||||
@@ -405,19 +429,16 @@ public class Warden extends Monster implements VibrationListener.VibrationListen
|
||||
|
||||
@Contract("null->false")
|
||||
public boolean canTargetEntity(@Nullable Entity entity) {
|
||||
@@ -5006,10 +5010,10 @@ index 1ae7408048f951cb94d7cfbea60efc5567b1af84..98176fde2760ab1d85d0b5afc1fd7764
|
||||
|
||||
public static void applyDarknessAround(ServerLevel world, Vec3 pos, @Nullable Entity entity, int range) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 18eac340386a396c9850f53f30d20a41c1437788..a9be652ff5960f233d95bad98900c63c203473c4 100644
|
||||
index 76a9da8209d557b913c49ccd281bf147b9ac4fa4..2bbfa9a7d0fe71597e4e9a1e883be68018caadd7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -153,6 +153,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -155,6 +155,28 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||
}
|
||||
|
||||
@@ -5038,16 +5042,16 @@ index 18eac340386a396c9850f53f30d20a41c1437788..a9be652ff5960f233d95bad98900c63c
|
||||
@Override
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
@@ -247,7 +269,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void customServerAiStep() { mobTick(false); }
|
||||
protected void mobTick(boolean inactive) {
|
||||
@@ -252,7 +274,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.level.getProfiler().push("villagerBrain");
|
||||
- if (!inactive) this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
+ if (!inactive && (getRider() == null || !this.isControllable())) this.getBrain().tick((ServerLevel) this.level, this); // Paper // Purpur - only use brain if no rider
|
||||
this.level.getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
@@ -304,7 +326,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
// Pufferfish start
|
||||
if (!inactive) {
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
}
|
||||
// Pufferfish end
|
||||
@@ -312,7 +334,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();
|
||||
@@ -5056,7 +5060,7 @@ index 18eac340386a396c9850f53f30d20a41c1437788..a9be652ff5960f233d95bad98900c63c
|
||||
} else {
|
||||
boolean flag = this.getOffers().isEmpty();
|
||||
|
||||
@@ -317,8 +339,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -325,8 +347,9 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
|
||||
if (flag) {
|
||||
@@ -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 3f2813e32a1ea011f760d2df454b8875f32a42f3..d032e666b9738a5e3c7afff3d3597b003d0aa1e7 100644
|
||||
index 129e9f79930f03295d1bfaf53333e1a9863b4bc8..c6db89b5c94e31bffcca6625e37497bab779fdb8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -34,10 +34,10 @@ index 882ab40c8cdea8c214cb8344b3ccecddb2967c1c..cb79d2c958fbd34f8c8818e7e1c0db88
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 1e75f62ff6bd83f6007090dde5ce521fb6bd5247..10e7c382e3e25ede3452b02af0e4d538e9403061 100644
|
||||
index 60519f70115358e3f94de6a2c1923e2d5f7a9f55..a24bffefc209ebfe31e553ceef212615edeb2687 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -291,6 +291,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -290,6 +290,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 1e75f62ff6bd83f6007090dde5ce521fb6bd5247..10e7c382e3e25ede3452b02af0e4d538
|
||||
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());
|
||||
@@ -306,6 +307,8 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -305,6 +306,8 @@ public abstract class LivingEntity extends Entity {
|
||||
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ index 1e75f62ff6bd83f6007090dde5ce521fb6bd5247..10e7c382e3e25ede3452b02af0e4d538
|
||||
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 b2b490961ee47d4cfbac0d438dba91eec658ead5..a13d3ba5e7dff532fccfaf697e69815e427d4c96 100644
|
||||
index 76069dbd56f6452af638e2e3311b44d3e9a1f4a5..342cae912054d28c5dacf4d38babbd4092f08075 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -93,6 +93,18 @@ public class Bat extends AmbientCreature {
|
||||
@@ -459,7 +459,7 @@ index b9c692a2f42976eb459ed6a4078dca28eddeb459..5f37b335dded41fdd122e8e0677c2c45
|
||||
|
||||
@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 682c69ea9cdcc1ab9fd19e28eef410ecf27bf9f3..d058f212b226b1f5efa0ba3650381e6c32a6fdac 100644
|
||||
index ac7b58d4ad0e3c3d3fe8aaf7a6b4237786c09e75..72f84f5a951c96c360206b43154a95247b1f8b42 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
|
||||
@@ -118,6 +118,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -475,7 +475,7 @@ index 682c69ea9cdcc1ab9fd19e28eef410ecf27bf9f3..d058f212b226b1f5efa0ba3650381e6c
|
||||
|
||||
@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 9b0a0736aa46e60f21c85cc88b67af342c34d5db..ee548f48f850e65542d8b0270881ad7664d41272 100644
|
||||
index d6e527fb592f721aac59d52a1e84e147da62913b..6ddc233dff914abda9895b4a4a6218f8642ae07e 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
|
||||
@@ -104,6 +104,11 @@ public class Goat extends Animal {
|
||||
@@ -792,7 +792,7 @@ index 790d4abbc8e0b288e20e72e63f8190e938e2fecb..b9ee6fdaad09c92fdeea2e5be6068182
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index 411baa912b61ce319faef73e187ebf7ac1bacde5..f7af29102b378b769edc6f5a92523c5f4cc12dce 100644
|
||||
index 324173e0b97a3f5ed657f876f1723a909eb7f0da..05d7dd5a9a302b6281e56f8dfe54168b524a89f2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -137,6 +137,11 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -845,7 +845,7 @@ index 82b03488178962eb74fe252d561ba8cee32eda95..01be40f1740fc689b101fc596dbbb1e6
|
||||
|
||||
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 daac8d2ee377d960cac361e6977bcea4656b8d79..f6be4048ea139acad49200e4dba1e54cff899775 100644
|
||||
index 8f8c40d5265f9e124a255af92eb43b51322ffd74..dcbf6dac3fca471760e2b460e74d90f6d80bcae9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -107,6 +107,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -1384,7 +1384,7 @@ index 838420f5d61eaf5e4abb52751b010d57def21d6f..aca84be04c50188612f69ee20e9a0948
|
||||
|
||||
@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 0a63ee3a292111143104f764e01cabbc4c2100ba..2d06a3ac4a5763cf948fc578ff5320c22c01c219 100644
|
||||
index f2afd5f8ad916f0cf4674c6b4f973715999c6641..e99ffbf30652e188e88f8e17ed41d39ff25c9f73 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
|
||||
@@ -82,6 +82,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -1400,7 +1400,7 @@ index 0a63ee3a292111143104f764e01cabbc4c2100ba..2d06a3ac4a5763cf948fc578ff5320c2
|
||||
|
||||
@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 0b6f4460f29e4b04c715eceba0d7fbda0b08c037..272a744ca52c34b5868b7979fa2b4143eeee1084 100644
|
||||
index 33ffbc4ac5cecec8487c0529c1dee8596bb0ab30..48ae24daa126e1b3b2a740af15db756d412adbf7 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
|
||||
@@ -112,6 +112,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -1432,10 +1432,10 @@ index ff149234a8f3e1c94961e41d5bc8117460b301d9..75db61c5aab66234b26f7899229ddca8
|
||||
|
||||
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 a9be652ff5960f233d95bad98900c63c203473c4..6a3c265502b3f7e6500056f6070c762a4c034d47 100644
|
||||
index 2bbfa9a7d0fe71597e4e9a1e883be68018caadd7..bf81e2f1610727443b179a66237ca209a3cc8fd4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -173,6 +173,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -175,6 +175,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this));
|
||||
}
|
||||
@@ -236,7 +236,7 @@ index 59457378820d7f2899254a6aeef4c30c926ce543..b280d42a0298c04647945cde7bd5a4f5
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 1c969433099b5b0f4f6f946291baea3e28722f9f..5bbfde1c69339f4ba1a0ed856b5de19742742c74 100644
|
||||
index b0344a0baa22c4312ac9d1049b14671d932f76e2..2f684a8f976f1f1a18c31f4c1a7eba9080099e55 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -177,4 +177,39 @@ public class PurpurConfig {
|
||||
@@ -73,7 +73,7 @@ index 9918cc39247037c0a8379071167c5560dce9bc8d..9ab314490b975417e28f129c72077a71
|
||||
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 503323974eb4ee076636ef495d7c475d1ade00cd..29a6f5da6c655a57e1d13a05f1ff302806b0e8a5 100644
|
||||
index d89e7697f12f06f49d4063fa0b06c90a56c6967c..1c527309483db75d0bade9662280601078895306 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -335,6 +335,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -119,7 +119,7 @@ index 503323974eb4ee076636ef495d7c475d1ade00cd..29a6f5da6c655a57e1d13a05f1ff3028
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1538,7 +1560,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1539,7 +1561,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
|
||||
flag2 = true; // Paper - diff on change, this should be moved wrongly
|
||||
@@ -128,7 +128,7 @@ index 503323974eb4ee076636ef495d7c475d1ade00cd..29a6f5da6c655a57e1d13a05f1ff3028
|
||||
}
|
||||
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
@@ -1589,6 +1611,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1590,6 +1612,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -172,7 +172,7 @@ index 72abebff2018cde2922e97ad6478f93da9aed3ec..412963d7af38a53b6010007278d959a5
|
||||
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 {
|
||||
@@ -260,7 +260,7 @@ index 72501f09d42f73a108e96f519be4382ee4e3b230..573d25a15bafce004d8b26c5e7dea3c5
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 7cacdea90641b16ad42f34266e8157c246152089..5d034ccb016265edd2b6c1f7f7c622cef3ad52b6 100644
|
||||
index 2f684a8f976f1f1a18c31f4c1a7eba9080099e55..c517873abdcb1e5334ba9e7a1c2f06bbbc411f87 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -174,8 +174,16 @@ public class PurpurConfig {
|
||||
@@ -310,10 +310,10 @@ index a85c9f24729ea44ef072a6d3d9ffeb93e8f0a486..765523911e448bd7f73e3f6cb8d0e78d
|
||||
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 1b42c98956342832c37f0aa266f85271daa4ba5b..cea4acefa57cf59dd0863e27777618c49eabab5e 100644
|
||||
index b87756d9a7b04ea2613208984b2583eca3f32af6..7529bca82efe4c33dbf781bcf6f8b583fa54fa95 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -199,6 +199,7 @@ public class ActivationRange
|
||||
@@ -203,6 +203,7 @@ public class ActivationRange
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index c7e4330c93baff1f3027d7c75cf857b673d38970..5134fed0cd0eedbe0c2177bce91b978b
|
||||
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 78372d9b900e7506bfbcf53e8fa70043cc140fdb..364e7957180c2dbea81cbb0e10eb6b080f1b2f6a 100644
|
||||
index fb290333f407776e732d3588233a35afa2ab989c..4a3025635de5f5f889e642fe10dd0b7ba7ec39d2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2950,4 +2950,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2955,4 +2955,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
@@ -5,10 +5,10 @@ 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 cb2d56bc77132883876e367d332fef081bb32c72..bdda859e559f4a26e85d2fdc9e9e8dc13ee66cc7 100644
|
||||
index 7191a7e9a7fcb4268c5aaf85bf9c896fa2bfd676..70d3fc30e21a6c3c3d7a87ce2e43dd2eb8322b2c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1655,7 +1655,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1657,7 +1657,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -18,7 +18,7 @@ index cb2d56bc77132883876e367d332fef081bb32c72..bdda859e559f4a26e85d2fdc9e9e8dc1
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index c55c434263e0b85fa75c23e943c3bfbc2e836c6c..28b122a4c91ffa509359fd14eb2d232769bbdfd1 100644
|
||||
index c517873abdcb1e5334ba9e7a1c2f06bbbc411f87..16ed8266bbc08963aa3973f2e48a8f76b640ed18 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -186,6 +186,11 @@ public class PurpurConfig {
|
||||
@@ -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 10e7c382e3e25ede3452b02af0e4d538e9403061..d45cc25d37906ba0c2e5d80936aaae1d7f9f4159 100644
|
||||
index a24bffefc209ebfe31e553ceef212615edeb2687..2dacb572e2164ccd381c4e3cbc39d9238a89f500 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -257,6 +257,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -256,6 +256,7 @@ public abstract class LivingEntity extends Entity {
|
||||
private boolean skipDropExperience;
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
@@ -16,7 +16,7 @@ index 10e7c382e3e25ede3452b02af0e4d538e9403061..d45cc25d37906ba0c2e5d80936aaae1d
|
||||
public boolean forceDrops;
|
||||
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -357,8 +358,8 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -356,8 +357,8 @@ public abstract class LivingEntity extends Entity {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ index 10e7c382e3e25ede3452b02af0e4d538e9403061..d45cc25d37906ba0c2e5d80936aaae1d
|
||||
|
||||
if (!state.isAir()) {
|
||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
@@ -1998,7 +1999,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2020,7 +2021,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 bdda859e559f4a26e85d2fdc9e9e8dc13ee66cc7..ac2b692fc5e579dc139540ab6b7e2396bdb84dfb 100644
|
||||
index 70d3fc30e21a6c3c3d7a87ce2e43dd2eb8322b2c..7c731c72a19c43f4b291557310c632f3d1fcc9cb 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -305,6 +305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index bdda859e559f4a26e85d2fdc9e9e8dc13ee66cc7..ac2b692fc5e579dc139540ab6b7e2396
|
||||
|
||||
public volatile Thread shutdownThread; // Paper
|
||||
public volatile boolean abnormalExit = false; // Paper
|
||||
@@ -1156,6 +1157,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1158,6 +1159,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 bdda859e559f4a26e85d2fdc9e9e8dc13ee66cc7..ac2b692fc5e579dc139540ab6b7e2396
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 364e7957180c2dbea81cbb0e10eb6b080f1b2f6a..252585f886e196b46ceecf35f0bb65fc81a704fe 100644
|
||||
index 4a3025635de5f5f889e642fe10dd0b7ba7ec39d2..b95002c01d8f6f4013708a21a44ef8dcd3653887 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2956,5 +2956,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2961,5 +2961,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
@@ -40,7 +40,7 @@ index 364e7957180c2dbea81cbb0e10eb6b080f1b2f6a..252585f886e196b46ceecf35f0bb65fc
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 28b122a4c91ffa509359fd14eb2d232769bbdfd1..80dee74274ba6a95029db8c812feeb2861ea9a36 100644
|
||||
index 16ed8266bbc08963aa3973f2e48a8f76b640ed18..dd3ed29fdac7ae1f35ecf520f92b9f36ca6fdb98 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -191,6 +191,11 @@ public class PurpurConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index e5cd4b7609243669c9d84ff8a4988c209e6101aa..d4c75ccc3514c41f6d6fecf8555c34c89385b379 100644
|
||||
index 4f3708f5f5dcb6af8225bda1cc9204a6d974665f..3fb94a9ceb66cbc419b0b6ceb96310c8f2877257 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -306,6 +306,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -308,6 +308,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
return (EntityType) Registry.register(BuiltInRegistries.ENTITY_TYPE, id, (EntityType<T>) type.build(id)); // CraftBukkit - decompile error
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index e5cd4b7609243669c9d84ff8a4988c209e6101aa..d4c75ccc3514c41f6d6fecf8555c34c8
|
||||
public static ResourceLocation getKey(EntityType<?> type) {
|
||||
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
|
||||
}
|
||||
@@ -513,6 +523,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -515,6 +525,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
return this.category;
|
||||
}
|
||||
|
||||
@@ -82,10 +82,10 @@ index 9ab314490b975417e28f129c72077a7198cf4cc7..4dc545c478e24863c8e9c68060af072f
|
||||
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 29a6f5da6c655a57e1d13a05f1ff302806b0e8a5..07ef3d814feb51f110a12aaeb5e826ba61cc0812 100644
|
||||
index 1c527309483db75d0bade9662280601078895306..0bb020fb67f546ca18f4a6ca08876f30f62c6de9 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2094,12 +2094,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2095,12 +2095,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
@@ -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 af1afba7346e573b5704cc6fcec1bb1371928fa5..8920383edbd9908087be320f47d9ba8e536cff42 100644
|
||||
index 0bb020fb67f546ca18f4a6ca08876f30f62c6de9..89ceb3238ed0ec774bc74490a6a598bf96a13ad1 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -259,6 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -38,7 +38,7 @@ index af1afba7346e573b5704cc6fcec1bb1371928fa5..8920383edbd9908087be320f47d9ba8e
|
||||
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
|
||||
@@ -3489,6 +3505,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3491,6 +3507,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
@@ -56,7 +56,7 @@ index af1afba7346e573b5704cc6fcec1bb1371928fa5..8920383edbd9908087be320f47d9ba8e
|
||||
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
|
||||
int i = (int) (Util.getMillis() - this.keepAliveTime);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 80dee74274ba6a95029db8c812feeb2861ea9a36..cf13e83614d63aaedab1590d88ca4e92b45aa7ed 100644
|
||||
index dd3ed29fdac7ae1f35ecf520f92b9f36ca6fdb98..70d128ed8d19d47056d2f3ba3f75efb12bcb0347 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -196,6 +196,11 @@ public class PurpurConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] MC-168772 Fix - Add turtle egg block options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
index 68f122cdfb546a9d0d826bc2ef88549b81de4ab8..d54a46fc8d78df54777e4a7a250a8d0ae74e9831 100644
|
||||
index 70d46aafa9c16921e5c5bed3d97b8f402e25038a..7edbe55556d3072690d535575e8704c617465770 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
@@ -9,11 +9,15 @@ import net.minecraft.tags.BlockTags;
|
||||
@@ -50,7 +50,7 @@ index 68f122cdfb546a9d0d826bc2ef88549b81de4ab8..d54a46fc8d78df54777e4a7a250a8d0a
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ed0e411f3960db455a8bdb19a8129db90bd48761..a3da7a5f4337a95adc351f95a806af4caf821945 100644
|
||||
index c46dc432e0a004c1912dc2eeb5da41cc76dfd7e8..0ebed2363ee959a10eddb60d2cdfc4d2b81b49d9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -147,6 +147,15 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable outdated build check
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 1913792032ef81a6f331cfdfc97052cfe53e767e..7b6063bede6771eb15bc5b01dc8bce7c2949c6b4 100644
|
||||
index f8c4878cc558c6fe76c99795f9963015ea21312b..c2c5c560165eb9ac9920727aaf730a5280107782 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -278,7 +278,7 @@ public class Main {
|
||||
@@ -120,7 +120,7 @@ index c1c5e884f00398032196ee71b55b348fcfce21ce..ed032918fb33d60c2d60d4db9275dddf
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a3da7a5f4337a95adc351f95a806af4caf821945..60948438791c1c323789ed96ea7487f99dd0e572 100644
|
||||
index 0ebed2363ee959a10eddb60d2cdfc4d2b81b49d9..bab472dc673404dc339e5952f68f6c9561de58af 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -535,6 +535,10 @@ public class PurpurWorldConfig {
|
||||
@@ -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 bc1a8e2bb56e25e49bdbf5a80c5d14ed87605f2c..989c42ac9867add34b151cb4586ba90e12c75dd5 100644
|
||||
index a24ddd5d02a6355112a9e3bee2131fbe0f9b7e0f..0526d1d2cf0d6dca1be03184b4dd8e33c896272e 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -816,10 +816,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -832,10 +832,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
||||
|
||||
if (flag1) {
|
||||
@@ -30,7 +30,7 @@ index bc1a8e2bb56e25e49bdbf5a80c5d14ed87605f2c..989c42ac9867add34b151cb4586ba90e
|
||||
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
||||
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 60948438791c1c323789ed96ea7487f99dd0e572..3285bfcc8b17a729a42c106764cf7390d49323c5 100644
|
||||
index bab472dc673404dc339e5952f68f6c9561de58af..f9ef2118787f5fdac7964bb6975a3d6fb5b7760f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1454,6 +1454,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Charged creeper naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
index f7af29102b378b769edc6f5a92523c5f4cc12dce..fc44e1f4751d405af73aae62658f0257d599e6f7 100644
|
||||
index 05d7dd5a9a302b6281e56f8dfe54168b524a89f2..2a733951b5b16c3e7da613744eb76414af38374c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
|
||||
@@ -142,6 +142,14 @@ public class Creeper extends Monster implements PowerableMob {
|
||||
@@ -24,7 +24,7 @@ index f7af29102b378b769edc6f5a92523c5f4cc12dce..fc44e1f4751d405af73aae62658f0257
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3285bfcc8b17a729a42c106764cf7390d49323c5..904d8166e654da9b10e362a15be187ed30e7060f 100644
|
||||
index f9ef2118787f5fdac7964bb6975a3d6fb5b7760f..68209ce9715e0717486153bd71572d558dd48851 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -326,6 +326,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 45f8e38bf4b4b446fe2ec056e31ffd05feaab929..d5d7b4681e08225d3be86db5712c8520174c55ff 100644
|
||||
index b3bfb94529dfaa912f0e5ce0965b0740f09cf55e..592d72857aea88425a6359818f96f2271db7eb3b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -465,10 +465,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -75,7 +75,7 @@ index 4f10430e55d634b4e4bf74582a8032cc42938c7f..503721cce0a5207a44b016a4234c17a8
|
||||
// Paper start - Cancellable death event
|
||||
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7abd787324ffff3394ec3f360ff363a6de2534fb..b0ed6d3b829d998d29af650ad723ae104d351bd2 100644
|
||||
index 24f529b4ca5f4e83ac33e255d4f602de54732fb3..924016926fa8d6df1667a1b39bf0fa6328d871b1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -490,6 +490,7 @@ public class PurpurWorldConfig {
|
||||
@@ -59,7 +59,7 @@ index bd1d90fa59d420577baada18d5afd04a85ad76a9..4e837590faebcb35426f8b9d023b2ae2
|
||||
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 25b6861e031e87ffa2344a0a014b33e5560f85e2..3af6da4508442d349fb93f9529ef7d17f0544a37 100644
|
||||
index 924016926fa8d6df1667a1b39bf0fa6328d871b1..d1323d3857e4455d2fbfbfdb004fde24a475132f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -941,6 +941,8 @@ public class PurpurWorldConfig {
|
||||
@@ -51,7 +51,7 @@ index e4200b09f54861d61c9dae40e6883aa19265e295..471647830f3ae90f8867282edd6fb20f
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3af6da4508442d349fb93f9529ef7d17f0544a37..edc82ce158d50ac8def2453ccd980cdcf2f7d970 100644
|
||||
index d1323d3857e4455d2fbfbfdb004fde24a475132f..31a4f178239f35e1f82a771b8677429289a2dcac 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -280,6 +280,7 @@ public class PurpurWorldConfig {
|
||||
@@ -17,7 +17,7 @@ index b136cdc13d94bc34c998a1986e0c93525356ac5c..76c83fdd744cc8f31a52c733de521a6f
|
||||
if (!this.canTick) {
|
||||
if (this.noTickPoseDirty) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index edc82ce158d50ac8def2453ccd980cdcf2f7d970..548f0815516cfdccca7e280410eee15bd268ba87 100644
|
||||
index 31a4f178239f35e1f82a771b8677429289a2dcac..0a6228781eaa7195f028427da134858e2f0ee094 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -93,6 +93,11 @@ public class PurpurWorldConfig {
|
||||
@@ -51,7 +51,7 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 548f0815516cfdccca7e280410eee15bd268ba87..915853e96d9572a6b057604b1efcee1b4b9129f0 100644
|
||||
index 0a6228781eaa7195f028427da134858e2f0ee094..d6b0e7b263bcdf3270ea41a85d92ba5f8f6a2db1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -253,6 +253,9 @@ public class PurpurWorldConfig {
|
||||
@@ -114,7 +114,7 @@ index 7eecdb4be5ee7de39ccb86b4bfe98491f8cba9b6..8744649fbd3f11485d5862d6f1fb32ea
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9a162f069c0452acf3eccfa91198b9b6aa6be35d..5755607fd0066418876fd02b8c4fd45447592cf5 100644
|
||||
index d6b0e7b263bcdf3270ea41a85d92ba5f8f6a2db1..2b959830cc4d7f0c8ee55a6ebdb7fb37712ec706 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -323,6 +323,7 @@ public class PurpurWorldConfig {
|
||||
@@ -27,7 +27,7 @@ index 372574f224d21b8801f40e6c4991d64975cd79db..27f616534ff5280528fd2c681d8335e4
|
||||
if (!this.level.isClientSide) {
|
||||
player.startRiding(this);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f46d217ba4a2bc96ff6ba79d096e3675c866fecd..59087f5355d56d45e7c7ff2c5bfeb5a6c1301c6f 100644
|
||||
index 2b959830cc4d7f0c8ee55a6ebdb7fb37712ec706..cf09c49c4520e0fe37f580f6fdfcc46b21edd054 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -892,6 +892,7 @@ public class PurpurWorldConfig {
|
||||
@@ -18,7 +18,7 @@ index 01ba677cb6ffc9f4eabf78cfc67f27051a248f0d..e8672137aa9ff8c7ae11b6e5c963a2db
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2a1afd232e01b55ed3ebe470aa4b0aad536c14d6..1b72c0a90f5955daf71908143824a8035a31393c 100644
|
||||
index cf26071ce5a789019c743ff5ce742e2150bab9e0..55cd98d1e9aaf6d3248bb52620c5907221c14d65 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -436,6 +436,7 @@ public class PurpurWorldConfig {
|
||||
@@ -50,7 +50,7 @@ index aface9a9697095a29edaf73c9cdabc2c1414b9d7..1a04d0a601b8e481dd6e2592b849b907
|
||||
} else {
|
||||
return InteractionResult.PASS;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 14d8928f43aa8d3bfc34e724356a877e05f19846..a02e09cc37251fbdf0e6336ae628f9f8685dafc9 100644
|
||||
index 55cd98d1e9aaf6d3248bb52620c5907221c14d65..8103b64483d33c9551aa525b93c9e362099207f7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -152,6 +152,11 @@ public class PurpurWorldConfig {
|
||||
@@ -18,7 +18,7 @@ index d089887030ac7c7a79abca97134ba9291e244059..4208833252a5b5c74d294dc3435869d7
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b70d457584a9b3564784e28e47b359917d825aa9..d7cfbfe6a44d076b1e6efee7c9868924290e1fc6 100644
|
||||
index 8103b64483d33c9551aa525b93c9e362099207f7..26bdb2016954d8e028fb638e351ae3d2cb41da07 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -152,6 +152,11 @@ public class PurpurWorldConfig {
|
||||
@@ -112,7 +112,7 @@ index eec7d7a5b558830111831792c42665724613af23..6a5e592c5c9a972a7f42eca398aac5f2
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
if (!this.onGround) {
|
||||
diff --git a/src/main/java/net/minecraft/world/item/MinecartItem.java b/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
index 127a799f7848b32664b77bf67847ca6b8ac9a90d..178cd88a7de291136e0486617e8347b72cacaf20 100644
|
||||
index c6d2f764efa9b8bec730bbe757d480e365b25ccc..33a30d26da2401535f0a72acb2bbffec1aef151e 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
@@ -120,8 +120,9 @@ public class MinecartItem extends Item {
|
||||
@@ -136,7 +136,7 @@ index 127a799f7848b32664b77bf67847ca6b8ac9a90d..178cd88a7de291136e0486617e8347b7
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index 9ebc53d434737c8cd39073470b2b5fcbad167812..b40e09b4fdf26c08c048cbf3cad4d4cabec0fe90 100644
|
||||
index 25ce337ed266be7bafeacd9eb6f53a9474775fc5..86d765cd40cda9c8b7f4f7898d604ba2fdefa8fd 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -77,7 +77,7 @@ import net.minecraft.world.phys.shapes.VoxelShape;
|
||||
@@ -149,7 +149,7 @@ index 9ebc53d434737c8cd39073470b2b5fcbad167812..b40e09b4fdf26c08c048cbf3cad4d4ca
|
||||
protected final float explosionResistance;
|
||||
protected final boolean isRandomlyTicking;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index de6e988e6d5d3c5a6d6fd7f00124c832013367a4..722c589bec9a1cf353f36027c63d9cf0a169c417 100644
|
||||
index 26bdb2016954d8e028fb638e351ae3d2cb41da07..4fdcb94be1e7f653388000712b0e13417b77703e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -98,6 +98,68 @@ public class PurpurWorldConfig {
|
||||
@@ -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 d45cc25d37906ba0c2e5d80936aaae1d7f9f4159..a56b9ae0d352db5350cc96ad079eee140aa7d665 100644
|
||||
index 2dacb572e2164ccd381c4e3cbc39d9238a89f500..e6b1ae8c1c05e01342041245c84a816eaa93706e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1759,6 +1759,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1767,6 +1767,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
@@ -16,7 +16,7 @@ index d45cc25d37906ba0c2e5d80936aaae1d7f9f4159..a56b9ae0d352db5350cc96ad079eee14
|
||||
this.dropFromLootTable(source, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1767,6 +1768,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1775,6 +1776,7 @@ public abstract class LivingEntity extends Entity {
|
||||
// Paper end
|
||||
this.dropCustomDeathLoot(source, i, flag);
|
||||
this.clearEquipmentSlots = prev; // Paper
|
||||
@@ -25,7 +25,7 @@ index d45cc25d37906ba0c2e5d80936aaae1d7f9f4159..a56b9ae0d352db5350cc96ad079eee14
|
||||
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
|
||||
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9c708db8f7157bafc66efa7c19ac4b6ccc29fd9e..964d1e0f9f9e7f14cc702f28e135039715f49fc6 100644
|
||||
index 4fdcb94be1e7f653388000712b0e13417b77703e..593a177048ea8135db14bfd2e8156ff53d921bad 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -98,6 +98,11 @@ public class PurpurWorldConfig {
|
||||
@@ -28,7 +28,7 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
|
||||
|
||||
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 964d1e0f9f9e7f14cc702f28e135039715f49fc6..ef8d842ad2dff2124f9a88f0eaa202861a5015af 100644
|
||||
index 593a177048ea8135db14bfd2e8156ff53d921bad..c34cd8e630276817c96f8aa91b494ba7bf02f4e1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -99,8 +99,10 @@ public class PurpurWorldConfig {
|
||||
@@ -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 ac2b692fc5e579dc139540ab6b7e2396bdb84dfb..41187b604b17d47f0f71f9649fc81abaa76a9707 100644
|
||||
index 7c731c72a19c43f4b291557310c632f3d1fcc9cb..779d14840fdb0b27e1bb49e680c59539294b2995 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1175,7 +1175,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1177,7 +1177,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.tickServer(this::haveTime);
|
||||
this.profiler.popPush("nextTickWait");
|
||||
this.mayHaveDelayedTasks = true;
|
||||
@@ -24,7 +24,7 @@ index ac2b692fc5e579dc139540ab6b7e2396bdb84dfb..41187b604b17d47f0f71f9649fc81aba
|
||||
this.profiler.pop();
|
||||
this.endMetricsRecordingTick();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 7570a38e31a49a02b7e7414ee001c1bf9afcb0e5..21582b20db2364f4dc6bd87d76b907c9451633d5 100644
|
||||
index 39cb606bdac144952d0e73055db3c3b38ee828f5..01ac09bda83703c16aed64133096377d7113693e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -246,4 +246,9 @@ public class PurpurConfig {
|
||||
@@ -18,7 +18,7 @@ index fb6e590e4613f59aaa8278932134aa0ca3d9da8f..8e41faaa9610a31415c7c89c266c22f2
|
||||
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
|
||||
this.spawnAtLocation(this.getPickupItem(), 0.1F);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ef8d842ad2dff2124f9a88f0eaa202861a5015af..aa48e7a11a53d7f80b8550674e04b54a548e56ce 100644
|
||||
index c34cd8e630276817c96f8aa91b494ba7bf02f4e1..d901174c44e58757ab8c12bf47c329c1455706d7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -100,9 +100,11 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add enderman and creeper griefing controls
|
||||
|
||||
|
||||
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 f6be4048ea139acad49200e4dba1e54cff899775..c3bda3227736c5f8529b6ecbd0f17076f2d470e8 100644
|
||||
index dcbf6dac3fca471760e2b460e74d90f6d80bcae9..112c1d084bf0e30a1a3f2d37341f73731fe70561 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -533,6 +533,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -539,6 +539,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -16,7 +16,7 @@ index f6be4048ea139acad49200e4dba1e54cff899775..c3bda3227736c5f8529b6ecbd0f17076
|
||||
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
|
||||
}
|
||||
|
||||
@@ -580,6 +581,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -586,6 +587,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -25,7 +25,7 @@ index f6be4048ea139acad49200e4dba1e54cff899775..c3bda3227736c5f8529b6ecbd0f17076
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index aa48e7a11a53d7f80b8550674e04b54a548e56ce..bc7c68771defbe5a178f2e8b6bd96f7be6acd8eb 100644
|
||||
index d901174c44e58757ab8c12bf47c329c1455706d7..011f4118fd893de561b9917fe43334ddffe84356 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -423,6 +423,7 @@ public class PurpurWorldConfig {
|
||||
@@ -30,10 +30,10 @@ index ca96b893e22de3ae7c11d5cded51edf70bdcb6f2..d4ab27de59e9c533789f062e74ceb453
|
||||
// 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 6a3c265502b3f7e6500056f6070c762a4c034d47..7b5e4456ed4f7ff37a358f41ca9e2f01b88cece5 100644
|
||||
index bf81e2f1610727443b179a66237ca209a3cc8fd4..ae922ff4b2df14dcf3ebbc474f654bc9f1b087c6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -172,6 +172,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -174,6 +174,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 35e02891f21c661808fea7d59c6c312f2193a6d3..5a5db83a973a27cabd373f429c4b34cc4a8bb57e 100644
|
||||
index 286f6a7ebc38378bb730db5d8ffef226f6a94e3d..aa3249cd6c60ffef7ab14822a3cf576d9a839ebb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1270,6 +1270,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1276,6 +1276,7 @@ public abstract class Mob extends LivingEntity {
|
||||
if (!this.isAlive()) {
|
||||
return InteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == player) {
|
||||
@@ -17,10 +17,10 @@ index 35e02891f21c661808fea7d59c6c312f2193a6d3..5a5db83a973a27cabd373f429c4b34cc
|
||||
// Paper start - drop leash variable
|
||||
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
index 7b5e4456ed4f7ff37a358f41ca9e2f01b88cece5..ce70ddaf68cc0c4959fc520492b31f65deb7a3d6 100644
|
||||
index ae922ff4b2df14dcf3ebbc474f654bc9f1b087c6..fcb2d59d3ccb4a0601f82330878a784ece71f866 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 void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.villagerMaxHealth);
|
||||
}
|
||||
@@ -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 0ffc131baf5c0edc4f2ca0f466fcdb20be4a47b8..f6f6d898c6d29f77e04bdce1444df7000f96d94b 100644
|
||||
index 3f72703d2063a082546305eeb0a1b21629ddb1b2..93f31a99363e73a24571b66cd5bbaf7b5b9084b2 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
|
||||
@@ -216,7 +216,7 @@ public abstract class FlowingFluid extends Fluid {
|
||||
@@ -226,7 +226,7 @@ public abstract class FlowingFluid extends Fluid {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index 0ffc131baf5c0edc4f2ca0f466fcdb20be4a47b8..f6f6d898c6d29f77e04bdce1444df700
|
||||
BlockState iblockdata2 = world.getBlockState(pos.below());
|
||||
FluidState fluid1 = iblockdata2.getFluidState();
|
||||
|
||||
@@ -289,6 +289,12 @@ public abstract class FlowingFluid extends Fluid {
|
||||
@@ -324,6 +324,12 @@ public abstract class FlowingFluid extends Fluid {
|
||||
|
||||
protected abstract boolean canConvertToSource(Level world);
|
||||
|
||||
@@ -67,7 +67,7 @@ index 82e85fbbd45244d02df90fa00c9046e7f51275a2..ec6c63075306f9e5389e83641d2c8a82
|
||||
@Override
|
||||
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7948ad7bdfc2de11ee11510a3d0bccf209c14819..e55b60157a55406ffd86a3630c083fd076900ab0 100644
|
||||
index 1c1a1a70126d4b0581888d685e7c1766c983d9d9..593602b1d1b205d11ebead7c382857402db53b6f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -228,6 +228,13 @@ public class PurpurWorldConfig {
|
||||
@@ -18,7 +18,7 @@ index e965d2cafdd887a7c61058ba2931596709e5aaa2..3a04cb4c646c07abf4338c70c865a4c4
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e55b60157a55406ffd86a3630c083fd076900ab0..2b887d32df30728e0285cae94d418a35edbb5a75 100644
|
||||
index 593602b1d1b205d11ebead7c382857402db53b6f..33e7c2597c60ce7d8c743e0a06e821507de59c5a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -230,9 +230,13 @@ public class PurpurWorldConfig {
|
||||
@@ -31,7 +31,7 @@ index 173504898e9af92d347c99db7737977a980e22c1..f129bb64a142f16e32f33cfa418ac498
|
||||
return 0;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2b887d32df30728e0285cae94d418a35edbb5a75..254c320f867a3d2c14903ebaac532e5db5c9e4f5 100644
|
||||
index 33e7c2597c60ce7d8c743e0a06e821507de59c5a..a12a2f02f9f797aa5ab071de9bd57aa0098ddaba 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -176,6 +176,8 @@ public class PurpurWorldConfig {
|
||||
@@ -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 d032e666b9738a5e3c7afff3d3597b003d0aa1e7..ead707682fcb327d7783955d4569bb812be0a653 100644
|
||||
index c6db89b5c94e31bffcca6625e37497bab779fdb8..7d44a9e4a4c36a328bca99d9c7fcbe71d914dd5b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -857,7 +857,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -891,7 +891,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
|
||||
public void checkOutOfWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -18,10 +18,10 @@ index d032e666b9738a5e3c7afff3d3597b003d0aa1e7..ead707682fcb327d7783955d4569bb81
|
||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||
// 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 a56b9ae0d352db5350cc96ad079eee140aa7d665..bf5569fc181576d4eeb6ca366090bd959cfc0339 100644
|
||||
index e6b1ae8c1c05e01342041245c84a816eaa93706e..406f067011dd46696564214d2afd76460ee22384 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2500,7 +2500,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2522,7 +2522,7 @@ public abstract class LivingEntity extends Entity {
|
||||
|
||||
@Override
|
||||
protected void outOfWorld() {
|
||||
@@ -31,7 +31,7 @@ index a56b9ae0d352db5350cc96ad079eee140aa7d665..bf5569fc181576d4eeb6ca366090bd95
|
||||
|
||||
protected void updateSwingTime() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 254c320f867a3d2c14903ebaac532e5db5c9e4f5..ca1369c842c3ff3b45678ccce851a54c0f607b1b 100644
|
||||
index a12a2f02f9f797aa5ab071de9bd57aa0098ddaba..05be7fdcc85bae35e9a506023e943cd80f9ff8b9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -101,10 +101,14 @@ public class PurpurWorldConfig {
|
||||
@@ -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 ead707682fcb327d7783955d4569bb812be0a653..efb8a0706b40293a1a5f52afce4e9029d8ad73c9 100644
|
||||
index 7d44a9e4a4c36a328bca99d9c7fcbe71d914dd5b..5106abacc353c1303e7fc488bebfeba2d5202ab0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4602,5 +4602,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4688,5 +4688,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
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 c558358859f42e91d7ced4368d244fb0b10db142..0ad49a327b5939d4212331e570e5e8f9d0db85ce 100644
|
||||
index aa3249cd6c60ffef7ab14822a3cf576d9a839ebb..bc52c86a5d10148442f41286c21301bebf7b1a43 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -65,6 +65,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
|
||||
@@ -16,7 +16,7 @@ index c558358859f42e91d7ced4368d244fb0b10db142..0ad49a327b5939d4212331e570e5e8f9
|
||||
import net.minecraft.world.level.GameRules;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.Level;
|
||||
@@ -1128,6 +1129,12 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1134,6 +1135,12 @@ public abstract class Mob extends LivingEntity {
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index 85e1892866cd2ee0cec1552b8541c1f800bdf68c..3c63435d460d2cdbdf344849605d2948
|
||||
} else {
|
||||
return Boat.Status.IN_AIR;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4401296cc161e782c630d6bed595661af731cced..1df016c731e355d6b23c2fe40071d11150ffe32b 100644
|
||||
index 06be78bdd4136998005e6ac53fdc456653a7f62d..4cc496fb8d2947a71e0e294e94cb4a251f563da4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -98,12 +98,14 @@ public class PurpurWorldConfig {
|
||||
@@ -73,7 +73,7 @@ index 064783822333d11120daa28f3be5099e10510b72..659cd2d43d3cabc9bcc50857d6de858f
|
||||
public static Map.Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) {
|
||||
return getRandomItemWith(enchantment, entity, (stack) -> {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1df016c731e355d6b23c2fe40071d11150ffe32b..f7e923a424b65a2246aed81d791a06c1d299fef6 100644
|
||||
index 4cc496fb8d2947a71e0e294e94cb4a251f563da4..69b1b87bf38577a78a6cf3f3925bf04b653d63ea 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -98,6 +98,7 @@ public class PurpurWorldConfig {
|
||||
@@ -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 41187b604b17d47f0f71f9649fc81abaa76a9707..20e241d4cb82b7b415971cb485885d0d2fd45f7c 100644
|
||||
index 779d14840fdb0b27e1bb49e680c59539294b2995..96f50760dec9fb7ec317b500ce5cd6a69eb56f02 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -301,7 +301,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -39,7 +39,7 @@ index 41187b604b17d47f0f71f9649fc81abaa76a9707..20e241d4cb82b7b415971cb485885d0d
|
||||
// Spigot end
|
||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
@@ -1047,6 +1047,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1049,6 +1049,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 41187b604b17d47f0f71f9649fc81abaa76a9707..20e241d4cb82b7b415971cb485885d0d
|
||||
public final RollingAverage tps1 = new RollingAverage(60);
|
||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||
@@ -1149,13 +1150,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1151,13 +1152,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 41187b604b17d47f0f71f9649fc81abaa76a9707..20e241d4cb82b7b415971cb485885d0d
|
||||
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 252585f886e196b46ceecf35f0bb65fc81a704fe..224d5acd50c5a1796340373f73bb44c38f841299 100644
|
||||
index b95002c01d8f6f4013708a21a44ef8dcd3653887..63f0e6ae798f04784ee0e1ce1a24b7c2f7b3db27 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2717,6 +2717,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2722,6 +2722,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 bf5569fc181576d4eeb6ca366090bd959cfc0339..f6715870f038dd193fe13e067dcd63b931d88087 100644
|
||||
index 406f067011dd46696564214d2afd76460ee22384..039212093b5e2671fb6d53371bfe48da4d0c116b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3493,7 +3493,16 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3515,7 +3515,16 @@ public abstract class LivingEntity extends Entity {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
@@ -99,7 +99,7 @@ index 9365f886a23a71c41091b22d46896ff18a5a0635..41bd45c0720751f348b5cf6eaecac439
|
||||
entityhuman.startAutoSpinAttack(20);
|
||||
if (entityhuman.isOnGround()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f7e923a424b65a2246aed81d791a06c1d299fef6..c22ffc0353f73a378372c8bbcf54d9bb95cfc6be 100644
|
||||
index 69b1b87bf38577a78a6cf3f3925bf04b653d63ea..41d0db18b0358061c5b6e12118619a4128f16273 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -115,6 +115,19 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
index 190e9761087baec5827d722a8281f0ffb6798341..813c3f9b7f9acabc851c9e9d679e9145c9afd709 100644
|
||||
index 50cf4d200bc2892f2140c9929193b4b20ad2bd17..0f9a3a6c05fee59c29764f0c0d7a6cb8a2a861b1 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -69,7 +69,7 @@ public class ServerEntity {
|
||||
@@ -18,7 +18,7 @@ index 190e9761087baec5827d722a8281f0ffb6798341..813c3f9b7f9acabc851c9e9d679e9145
|
||||
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 f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ee5ec376cf7495ed99ee822a7b26978c3c107098 100644
|
||||
index c58496c84b2b3f86890050813041fa49711f3a01..9c3db8f774e5c11df18d2c317c874e8ac26e7f8e 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 {
|
||||
@@ -34,7 +34,7 @@ index f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ee5ec376cf7495ed99ee822a7b26978c
|
||||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -334,6 +340,15 @@ public class ItemEntity extends Entity {
|
||||
@@ -340,6 +346,15 @@ public class ItemEntity extends Entity {
|
||||
return false;
|
||||
} else if (!this.getItem().getItem().canBeHurtBy(source)) {
|
||||
return false;
|
||||
@@ -50,7 +50,7 @@ index f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ee5ec376cf7495ed99ee822a7b26978c
|
||||
} else if (this.level.isClientSide) {
|
||||
return true;
|
||||
} else {
|
||||
@@ -535,6 +550,12 @@ public class ItemEntity extends Entity {
|
||||
@@ -541,6 +556,12 @@ public class ItemEntity extends Entity {
|
||||
this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
|
||||
this.getEntityData().markDirty(ItemEntity.DATA_ITEM); // CraftBukkit - SPIGOT-4591, must mark dirty
|
||||
this.despawnRate = level.paperConfig().entities.spawning.altItemDespawnRate.enabled ? level.paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), level.spigotConfig.itemDespawnRate) : level.spigotConfig.itemDespawnRate; // Paper
|
||||
@@ -115,7 +115,7 @@ index ecec5e17807a760769fc0ea79c2a0161cc5db1ef..3023cadd21947389158f1bfaf9fe84fd
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c22ffc0353f73a378372c8bbcf54d9bb95cfc6be..b5b4807e5a54bc4ce0310f323de598e05704f2fc 100644
|
||||
index 41d0db18b0358061c5b6e12118619a4128f16273..a9a8923ce63391bfaa58dd241ea8addfb195b6a7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -128,6 +128,49 @@ public class PurpurWorldConfig {
|
||||
@@ -17,7 +17,7 @@ index 6c5d34d65a821c17c464e0868b7b50c0c39ec8db..2de0639ec22d731129ee3d5733dbf550
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 21582b20db2364f4dc6bd87d76b907c9451633d5..fe0d39b261f079aeef46d2019ad8613ac3d759a1 100644
|
||||
index 01ac09bda83703c16aed64133096377d7113693e..27b35e12eafd3ee735fcea201c9d371c2480e4da 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -178,12 +178,14 @@ public class PurpurConfig {
|
||||
@@ -17,7 +17,7 @@ index 2de0639ec22d731129ee3d5733dbf5509764c274..24bb481c2e7163ec41e21d79bcac19db
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index fe0d39b261f079aeef46d2019ad8613ac3d759a1..be3dc04bb1ceb63344bb40c71a0411838b5ea0ca 100644
|
||||
index 27b35e12eafd3ee735fcea201c9d371c2480e4da..fdcffdc618fcbc2413f6e6949d82ed1f138086b1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -178,6 +178,7 @@ public class PurpurConfig {
|
||||
@@ -17,7 +17,7 @@ index 24bb481c2e7163ec41e21d79bcac19db67a4fba1..a7eee1f0ed063d1006c91adcac92e142
|
||||
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index be3dc04bb1ceb63344bb40c71a0411838b5ea0ca..a9f26ac2a605e2abc00378c4620c789a5878b8d1 100644
|
||||
index fdcffdc618fcbc2413f6e6949d82ed1f138086b1..28711abdabec6894faefb3a5bcff503ce5125e2f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -178,6 +178,7 @@ public class PurpurConfig {
|
||||
@@ -258,7 +258,7 @@ index 2294458c7e81147a3efd2ef854fbc08f44231050..b9d737a20b8cca81fca290c13cb640c1
|
||||
|
||||
private float speed = 0.1F;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c802a074be642ee8eabf266b387714f65826354a..d5fecd8db1e0820a48c684f35cdaf720f76a1f62 100644
|
||||
index 00cce1123abca1533b9b62de118249886abb7951..7cb5b887d2b22fc41674f1df7a95ac4e1713ff60 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1055,6 +1055,9 @@ public class PurpurWorldConfig {
|
||||
@@ -40,7 +40,7 @@ index 1c3718d9244513d9fc795dceb564a81375734557..69753f0b67a78c565ff455676860dc05
|
||||
for (int l = 0; l < k; ++l) {
|
||||
// Paper start
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index d5fecd8db1e0820a48c684f35cdaf720f76a1f62..ed3170c111741fe7e0d0044d3c02da2d6352268d 100644
|
||||
index 7cb5b887d2b22fc41674f1df7a95ac4e1713ff60..4421f48e9dd433cdcff5b7c5ac249bae49a67bd8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1058,6 +1058,12 @@ public class PurpurWorldConfig {
|
||||
@@ -27,10 +27,10 @@ index 5c6aa9c464784ad5ee366412d080c72d3d22a76f..c03abc9589bf5f37abc1b0d355ed9784
|
||||
|
||||
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 e38d20975f63e2a9847b17e60647624c1eeab6f5..6bf58b1d80dc4309d59e846baba152791b5a483b 100644
|
||||
index 816f906f98adc180f37d2b216628e576ac837448..329e832cf3910a18158e841b39e59df519b83a53 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1534,4 +1534,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1638,4 +1638,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return null;
|
||||
}
|
||||
// Paper end
|
||||
@@ -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 8920383edbd9908087be320f47d9ba8e536cff42..e1c2ac7e9578db319f582cdd9cbe0084d43e34f0 100644
|
||||
index 89ceb3238ed0ec774bc74490a6a598bf96a13ad1..17782698b77ecf92554e191ceed6d6bf54fec6eb 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1332,13 +1332,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1333,13 +1333,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
itemstack1.setTag(nbttagcompound.copy());
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index 8920383edbd9908087be320f47d9ba8e536cff42..e1c2ac7e9578db319f582cdd9cbe0084
|
||||
|
||||
this.updateBookPages(pages, (s) -> {
|
||||
return Component.Serializer.toJson(Component.literal(s));
|
||||
@@ -1350,10 +1353,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1351,10 +1354,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private void updateBookPages(List<FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
|
||||
ListTag nbttaglist = new ListTag();
|
||||
|
||||
@@ -44,7 +44,7 @@ index 8920383edbd9908087be320f47d9ba8e536cff42..e1c2ac7e9578db319f582cdd9cbe0084
|
||||
|
||||
Objects.requireNonNull(nbttaglist);
|
||||
stream.forEach(nbttaglist::add);
|
||||
@@ -1363,11 +1369,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1364,11 +1370,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
for (int j = list.size(); i < j; ++i) {
|
||||
FilteredText filteredtext = (FilteredText) list.get(i);
|
||||
@@ -58,7 +58,7 @@ index 8920383edbd9908087be320f47d9ba8e536cff42..e1c2ac7e9578db319f582cdd9cbe0084
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1380,6 +1386,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1381,6 +1387,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index e1c2ac7e9578db319f582cdd9cbe0084d43e34f0..cb36cc5248a7166fa8d43cabb6ada371c1026aaa 100644
|
||||
index 17782698b77ecf92554e191ceed6d6bf54fec6eb..89cdf7802920923a2bb87e454d9fcbf47a817890 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2823,6 +2823,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2825,6 +2825,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
}
|
||||
|
||||
if (entity.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
|
||||
@@ -17,7 +17,7 @@ index e1c2ac7e9578db319f582cdd9cbe0084d43e34f0..cb36cc5248a7166fa8d43cabb6ada371
|
||||
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96dfed2ea54b 100644
|
||||
index bc52c86a5d10148442f41286c21301bebf7b1a43..66981c41d9880772ddca61add753270dc6133249 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -134,6 +134,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -28,7 +28,7 @@ index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96df
|
||||
public boolean aware = true; // CraftBukkit
|
||||
|
||||
protected Mob(EntityType<? extends Mob> type, Level world) {
|
||||
@@ -288,6 +289,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -290,6 +291,7 @@ public abstract class Mob extends LivingEntity {
|
||||
entityliving = null;
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96df
|
||||
this.target = entityliving;
|
||||
return true;
|
||||
// CraftBukkit end
|
||||
@@ -334,9 +336,29 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -336,9 +338,29 @@ public abstract class Mob extends LivingEntity {
|
||||
this.playAmbientSound();
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96df
|
||||
@Override
|
||||
protected void playHurtSound(DamageSource source) {
|
||||
this.resetAmbientSoundTime();
|
||||
@@ -526,6 +548,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -528,6 +550,7 @@ public abstract class Mob extends LivingEntity {
|
||||
}
|
||||
|
||||
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
||||
@@ -74,7 +74,7 @@ index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96df
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -596,6 +619,11 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -598,6 +621,11 @@ public abstract class Mob extends LivingEntity {
|
||||
this.aware = nbt.getBoolean("Bukkit.Aware");
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -86,7 +86,7 @@ index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96df
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1660,6 +1688,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1666,6 +1694,7 @@ public abstract class Mob extends LivingEntity {
|
||||
this.setLastHurtMob(target);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ index b6f2fbe5a2577696d62e001a3c07b52b07a33c74..d1eb52081277a51610abd83810ea96df
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7a01302e0ce1a89f2107cbb110ae4819daf118d2..a34e1932fdd32a517b5e627cecbfa4062607f8b7 100644
|
||||
index aa04010dc4780f0f19937314f521208a164c2ae3..fb943790a7a6cf4174ca697cfa6c54b846086b39 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -128,6 +128,11 @@ public class PurpurWorldConfig {
|
||||
@@ -36,10 +36,10 @@ index a51453de2837851769f826f0b9eddc812d18614f..7775008d456f92c3d373c2f18fff0c7d
|
||||
+ // 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 f6715870f038dd193fe13e067dcd63b931d88087..52e294ac8df27b5301e83e912ee2f5f3f011d939 100644
|
||||
index 039212093b5e2671fb6d53371bfe48da4d0c116b..5a8785d77f5c422e8e8d2377584bc9c24e505df2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -416,6 +416,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -415,6 +415,7 @@ public abstract class LivingEntity extends Entity {
|
||||
double d1 = this.level.getWorldBorder().getDamagePerBlock();
|
||||
|
||||
if (d1 > 0.0D) {
|
||||
@@ -48,7 +48,7 @@ index f6715870f038dd193fe13e067dcd63b931d88087..52e294ac8df27b5301e83e912ee2f5f3
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a34e1932fdd32a517b5e627cecbfa4062607f8b7..c59e3de65057215cf0767254d44d8ae95c1da015 100644
|
||||
index fb943790a7a6cf4174ca697cfa6c54b846086b39..395634815198b7c754ee070783b20ca340ad8f09 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -247,6 +247,7 @@ public class PurpurWorldConfig {
|
||||
@@ -25,7 +25,7 @@ index 395634815198b7c754ee070783b20ca340ad8f09..dd5ff44bd1fbf6b55fa35ad5c889e239
|
||||
|
||||
public boolean spiderRidable = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index cea4acefa57cf59dd0863e27777618c49eabab5e..3783186d0c3f2f7b241d38f8ee011e8a5c172980 100644
|
||||
index 7529bca82efe4c33dbf781bcf6f8b583fa54fa95..383a13a26ee9445fa6201770bb9bef274d72283a 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 cea4acefa57cf59dd0863e27777618c49eabab5e..3783186d0c3f2f7b241d38f8ee011e8a
|
||||
import net.minecraft.world.entity.animal.WaterAnimal;
|
||||
import net.minecraft.world.entity.animal.horse.Llama;
|
||||
import net.minecraft.world.entity.boss.EnderDragonPart;
|
||||
@@ -373,6 +374,7 @@ public class ActivationRange
|
||||
@@ -396,6 +397,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 ce70ddaf68cc0c4959fc520492b31f65deb7a3d6..80a0639c35906fdb3ed07f14395fc3009010fa7c 100644
|
||||
index fcb2d59d3ccb4a0601f82330878a784ece71f866..f225eb2f1d5a7c49fb2d6403388230666d411cc0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -760,7 +760,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -768,7 +768,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 52e294ac8df27b5301e83e912ee2f5f3f011d939..192da1b616b3a6bcf2c5e6e172903e99867aefbe 100644
|
||||
index 5a8785d77f5c422e8e8d2377584bc9c24e505df2..50ac35c43570525bf7b9551d5a67940e870852a1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1554,6 +1554,18 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -1562,6 +1562,18 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index 52e294ac8df27b5301e83e912ee2f5f3f011d939..192da1b616b3a6bcf2c5e6e172903e99
|
||||
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
|
||||
event.setCancelled(itemstack == null);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3cf911e9a9f58fbceed3f371c65cf946a8b31637..4223f2b19a83a27de5f1602f0220768e513d2cbe 100644
|
||||
index 218756b5db10fab3a0f32ff03a091838b2c87fe9..b9dedd9a4318d82fbdc7393182ac07fae34779b1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -248,6 +248,7 @@ public class PurpurWorldConfig {
|
||||
@@ -125,7 +125,7 @@ index df7965c86b9c9e89b07b76c75b638d391ea6cc34..641725337c65ddf35e7baf731ec37318
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 6e13d4d3d56f6da9b752bce9ac008eda639ac510..84cb76a714db476e786c33424d20657ab21c3e05 100644
|
||||
index 005f9146aac12d342e5b679a24e9a0ab4a10d9a5..d646e0f7661436814ea59ab6054094f454d97aa4 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -247,6 +247,15 @@ public class PurpurConfig {
|
||||
@@ -64,7 +64,7 @@ index 0363d2263b2d6bd6166fa21d7849297e95eddd77..d39b86b90aefab85b92e980f56f690bd
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5f297cd2a0ea4661c6f59efce49abd6cb38a3042..2358fcbaa13705ce80956514804aadf400aa53a9 100644
|
||||
index df1e48e325a6cec03cda2fe7471249f1d93b77f7..ca70fd0cee8c0d8b4c398a8dc12c4f3bbadab665 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -300,6 +300,13 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Short enderman height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
index d4c75ccc3514c41f6d6fecf8555c34c89385b379..94f72cf064e408c80b0f6ec644c9f69e66f94f36 100644
|
||||
index 3fb94a9ceb66cbc419b0b6ceb96310c8f2877257..4bfb370869bb6a6c7e5a9b67361fbac9d2d2e280 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -299,7 +299,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -301,7 +301,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
private Component description;
|
||||
@Nullable
|
||||
private ResourceLocation lootTable;
|
||||
@@ -19,10 +19,10 @@ index d4c75ccc3514c41f6d6fecf8555c34c89385b379..94f72cf064e408c80b0f6ec644c9f69e
|
||||
|
||||
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index c3bda3227736c5f8529b6ecbd0f17076f2d470e8..f130f3f8ceb5ab30e0b53e8b78281bfb953af5a9 100644
|
||||
index 112c1d084bf0e30a1a3f2d37341f73731fe70561..1dd86f7dfabb38fd8d1199055d7e28b7d8f39bb4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -423,6 +423,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -429,6 +429,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else if (getRider() != null && this.isControllable()) { 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 efb8a0706b40293a1a5f52afce4e9029d8ad73c9..2e7e66051099eaeb4caebe81f8feedfa0f524edd 100644
|
||||
index 5106abacc353c1303e7fc488bebfeba2d5202ab0..c79dc51d590da219db7a9147144bc802e3da8637 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4102,6 +4102,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4136,6 +4136,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ index efb8a0706b40293a1a5f52afce4e9029d8ad73c9..2e7e66051099eaeb4caebe81f8feedfa
|
||||
+ // Purpur end
|
||||
+
|
||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||
if (this.touchingUnloadedChunk()) {
|
||||
if (false && this.touchingUnloadedChunk()) { // Pufferfish - cost of a lookup here is the same cost as below, so skip
|
||||
return false;
|
||||
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 99248a9e2769a573839b199150da312d33344f95..709aaa9dc834d91219ce1087d8f89ef5bf3d915c 100644
|
||||
@@ -18,7 +18,7 @@ index c461e0d04047db9c0c5ecc04063cebd38bf96ec2..e7554ec800f321e4e34c926c53f2375a
|
||||
private static final float SAFE_TRAVEL_MAX_ENTITY_XY = 4.0F;
|
||||
private static final double SAFE_TRAVEL_MAX_VERTICAL_DELTA = 1.0D;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 3b10d9b4e7d3034ca43e6e05b3bccccfe0162a4b..bc7acc8399f99a7167a03b76cc69f3c9fef1d470 100644
|
||||
index 453557507925a3eaa2d6057e2f776a25ebbae18a..876ac29d5f6cbf539c9756c7ffbbd82fe24ead00 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -210,6 +210,7 @@ public class PurpurConfig {
|
||||
@@ -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 2e7e66051099eaeb4caebe81f8feedfa0f524edd..80dbcf052bf221dfb052976e71f1ec25a1087e46 100644
|
||||
index c79dc51d590da219db7a9147144bc802e3da8637..8c894892234246f3bf297807bea4c0f6581e0c8e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2878,7 +2878,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2912,7 +2912,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index 2e7e66051099eaeb4caebe81f8feedfa0f524edd..80dbcf052bf221dfb052976e71f1ec25
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3561,7 +3561,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3595,7 +3595,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
@@ -27,7 +27,7 @@ index 2e7e66051099eaeb4caebe81f8feedfa0f524edd..80dbcf052bf221dfb052976e71f1ec25
|
||||
|
||||
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b803684a01d092875188ea4de96a1af47b1632da..e6a3f6999c8fbc19a9e748b805298658477ebf03 100644
|
||||
index 5a6da03ce41cc78a36dc0c4fb0f89bbbacb0a6da..3bd18d72f996d93e0c5c31a7fb143a29401fca75 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -101,6 +101,7 @@ public class PurpurWorldConfig {
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
|
||||
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 989c42ac9867add34b151cb4586ba90e12c75dd5..01b777628476b1d116423f013e60963f089253ef 100644
|
||||
index 0526d1d2cf0d6dca1be03184b4dd8e33c896272e..cf72c46fb9b6a223e6c96103243ae183e6ce3ec9 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -545,7 +545,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -59,7 +59,7 @@ index 0ae8e9134a3671cdf2a480cd4dd6598653e261ab..7d34bd0d727eeb0afbc1869b076ee207
|
||||
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
|
||||
blockposition1 = blockposition2;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 54c59de4dc39fb77b791e450f5d593c3ae063948..748e042ed0d8ee482cafac656553b288294f7440 100644
|
||||
index d6a4e3dead9ffc7cc779cb1b8413c61308850a01..f41418152e35b2c01077fd84501b67f9bd46ca11 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -72,6 +72,12 @@ public class PurpurWorldConfig {
|
||||
@@ -49,7 +49,7 @@ index feb89eb69994bdd1d2f95d2b9992e69251b2bee7..0670775c2de33e69c75644e5d2ff19db
|
||||
if (!this.raidMap.containsKey(raid.getId())) {
|
||||
this.raidMap.put(raid.getId(), raid);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 748e042ed0d8ee482cafac656553b288294f7440..4c3900256f1aedc1052a752c10541ea87364cbe7 100644
|
||||
index f41418152e35b2c01077fd84501b67f9bd46ca11..ebad70a5fdfb4fb705d4542073cf068690294972 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -112,6 +112,7 @@ public class PurpurWorldConfig {
|
||||
@@ -7,7 +7,7 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
|
||||
The config remains for migration purposes.
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a626c9c7db0a04fed1567b17d65819e70b79de19..e1b2b885a4bafffbcd79ce6fcc58bab5e5c36b27 100644
|
||||
index ebad70a5fdfb4fb705d4542073cf068690294972..34b1fa9b540bc42e13bf4a1949c266fc8a973398 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -293,6 +293,39 @@ public class PurpurWorldConfig {
|
||||
@@ -27,7 +27,7 @@ index 08d597db1a5345a343777a01427655e6bf2c926b..33df0ca406dc8321b76b393f317bbd1c
|
||||
} else {
|
||||
user.startUsingItem(hand);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 080c8a6c698d7cc5b800327a442dbde8a029d5f9..b574a6b8d9316c59b864910197d59b8e2065cda2 100644
|
||||
index 0d0bfec73d3b4419220d7f82ff6d4d6c3778a381..e8cd9196fdf846676e74b35d3f061148ebbaf939 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -143,6 +143,17 @@ public class PurpurWorldConfig {
|
||||
@@ -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 20e241d4cb82b7b415971cb485885d0d2fd45f7c..fd5f4ed9ad706ab907595e2ddbe5a949d941b4a6 100644
|
||||
index 96f50760dec9fb7ec317b500ce5cd6a69eb56f02..1953eaab247d7482773cac79dafd651a23dff2da 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1509,7 +1509,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1511,7 +1511,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 20e241d4cb82b7b415971cb485885d0d2fd45f7c..fd5f4ed9ad706ab907595e2ddbe5a949
|
||||
}
|
||||
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 01b777628476b1d116423f013e60963f089253ef..14ac6e79ec2358119d117e5913e940536e04d7d8 100644
|
||||
index cf72c46fb9b6a223e6c96103243ae183e6ce3ec9..0ded829303669767df32964e89e4d8823d312b49 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -215,6 +215,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -51,7 +51,7 @@ index 01b777628476b1d116423f013e60963f089253ef..14ac6e79ec2358119d117e5913e94053
|
||||
}
|
||||
|
||||
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
|
||||
@@ -780,6 +783,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -794,6 +797,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 01b777628476b1d116423f013e60963f089253ef..14ac6e79ec2358119d117e5913e94053
|
||||
this.setDayTime(this.levelData.getDayTime() + 1L);
|
||||
}
|
||||
|
||||
@@ -788,7 +798,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -802,7 +812,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
public void setDayTime(long timeOfDay) {
|
||||
this.serverLevelData.setDayTime(timeOfDay);
|
||||
@@ -88,7 +88,7 @@ index 01b777628476b1d116423f013e60963f089253ef..14ac6e79ec2358119d117e5913e94053
|
||||
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
|
||||
Iterator iterator = this.customSpawners.iterator();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b574a6b8d9316c59b864910197d59b8e2065cda2..df653093c4d00f45f1536c9c9cb2293ad69f9e2e 100644
|
||||
index e8cd9196fdf846676e74b35d3f061148ebbaf939..c15e6d7a666ddde4d6fc957ca2986d4af3eaebf9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -125,6 +125,13 @@ public class PurpurWorldConfig {
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user