mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
include pufferfish patches
This commit is contained in:
3662
patches/server/0001-Pufferfish-Server-Changes.patch
Normal file
3662
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 a8cead500186142115d4dc029c942fdfc68f7fe5..866498779e824b971479e92b736b97aa05ce48a3 100644
|
||||
--- a/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||
+++ b/src/main/java/gg/pufferfish/pufferfish/PufferfishConfig.java
|
||||
@@ -224,7 +224,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.");
|
||||
@@ -268,7 +268,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 ff2862bf1f511196d1e911e2584262ed728e9a81..87d6b8e0cd8fec7959fb052dce1b73feb8cdb967 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -807,7 +807,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 6aec1983a0236d6aa0507a2b3ad1c08b3330f0fc..66cc44d9f14b01f6c8e53b0f990866ac897c1c81 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -274,7 +274,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 e7e2b0fc88c9320449bcd0e0929269c2508886e4..b5e361d2170d2741ef990ec342f32ccde0c05750 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,21 +5,25 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..761bee802da0d3616ba0739434261b14a030805d 100644
|
||||
index b41b186397d013c19436c345be98b785d4bd0295..22470f0ab8354a9f31a0f195f3fe80f2f5ee2f0e 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -7,8 +7,8 @@ plugins {
|
||||
@@ -7,12 +7,8 @@ plugins {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":paper-api"))
|
||||
- implementation(project(":paper-mojangapi"))
|
||||
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
||||
- // Pufferfish start
|
||||
- implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") {
|
||||
- exclude("io.papermc.paper", "paper-api")
|
||||
- }
|
||||
- // Pufferfish end
|
||||
+ implementation(project(":purpur-api")) // Purpur
|
||||
+ implementation("io.papermc.paper:paper-mojangapi:1.19.4-R0.1-SNAPSHOT") // Purpur
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -38,6 +38,10 @@ dependencies {
|
||||
@@ -42,6 +38,10 @@ dependencies {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -30,16 +34,16 @@ index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..761bee802da0d3616ba0739434261b14
|
||||
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")
|
||||
@@ -62,7 +66,7 @@ tasks.jar {
|
||||
@@ -81,7 +81,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
- "Implementation-Version" to "git-Paper-$implementationVersion",
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur
|
||||
- "Implementation-Version" to "git-Pufferfish-$implementationVersion", // Pufferfish
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Pufferfish // Purpur
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -134,7 +138,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -153,7 +153,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -171,10 +175,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 e67c4a7aaa11f5c67f926f92e0a174af526c2ec3..ac0693f439f063d19ea68d8b216d4ecf10441b15 100644
|
||||
index a4c64b1cc11955fb279b8ed0fb7d2668a7b90d2b..ab70642d26439ce071a5ad505a83c81d8836c87f 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -924,7 +924,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -926,7 +926,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
shutdownThread = Thread.currentThread();
|
||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||
if (!isSameThread()) {
|
||||
@@ -183,25 +187,25 @@ index e67c4a7aaa11f5c67f926f92e0a174af526c2ec3..ac0693f439f063d19ea68d8b216d4ecf
|
||||
while (this.getRunningThread().isAlive()) {
|
||||
this.getRunningThread().stop();
|
||||
try {
|
||||
@@ -1681,7 +1681,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1683,7 +1683,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
- return "Pufferfish"; // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return "Purpur"; // Purpur - Purpur > // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index f9a9d2bb7b6d1bf4a0931438de4d8c7ee0757479..e288fd33be490b3269470cd0728a81a0ea6385f1 100644
|
||||
index b2d94582037c091bd6a04451bf62b3f9c4923d19..430df6a2b852f07e3a1cd9dfcd5ecf3e52e63b66 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
- private final String serverName = "Paper"; // Paper
|
||||
+ private final String serverName = "Purpur"; // Paper // Purpur
|
||||
- private final String serverName = "Pufferfish"; // Paper // Pufferfish
|
||||
+ private final String serverName = "Purpur"; // Paper // Pufferfish // Purpur
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
@@ -258,16 +262,29 @@ index cdefb2025eedea7e204d70d568adaf1c1ec4c03c..d1526ed7197b883e1d1f07baf285bf5e
|
||||
// We don't need to parse pending
|
||||
// (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 d4f62940504e3ef7a70e13b1f4a7726f23b4c637..1dd7f923dd6adb41eafc3ea0c063e3aae6670124 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -464,7 +464,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
- return new gg.pufferfish.pufferfish.PufferfishVersionFetcher(); // Pufferfish
|
||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
index 774556a62eb240da42e84db4502e2ed43495be17..fb87620c742ff7912f5e8ccd2a7930dd605576d9 100644
|
||||
index 80553face9c70c2a3d897681e7761df85b22d464..99597258e8e88cd9e2c901c4ac3ff7faeeabee2b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||
public static String getBukkitVersion() {
|
||||
String result = "Unknown-Version";
|
||||
|
||||
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties");
|
||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur
|
||||
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/gg.pufferfish.pufferfish/pufferfish-api/pom.properties"); // Pufferfish
|
||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Pufferfish // Purpur
|
||||
Properties properties = new Properties();
|
||||
|
||||
if (stream != null) {
|
||||
@@ -5,15 +5,15 @@ 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 4b002e8b75d117b726b0de274a76d3596fce015b..9713263c3bd34ab8a3bfc0a8797ba0b1b88ed733 100644
|
||||
index 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f8cf3a551 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("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
|
||||
- Metrics metrics = new Metrics("Pufferfish", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish
|
||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur
|
||||
|
||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||
String minecraftVersion = Bukkit.getVersion();
|
||||
@@ -26,11 +26,11 @@ index 4b002e8b75d117b726b0de274a76d3596fce015b..9713263c3bd34ab8a3bfc0a8797ba0b1
|
||||
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
||||
- if (implVersion != null) {
|
||||
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
||||
- paperVersion = "git-Paper-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash);
|
||||
- paperVersion = "git-Pufferfish-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Pufferfish
|
||||
- } else {
|
||||
- paperVersion = "unknown";
|
||||
- }
|
||||
- metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> paperVersion));
|
||||
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> paperVersion)); // Pufferfish
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
||||
|
||||
@@ -72,7 +72,7 @@ index 7b6b51392b123d34382233adcf4c3d4867bdaa32..ccc78857b51e25640ec1e4dcfe4c76a0
|
||||
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 a7e133f3495e9132a5fdae2c24f225e7b026295a..329ebc3d94997199ad342cb8e4d9f103ecca169f 100644
|
||||
index ad4fdbdcf09f30d10e61ccf47f8fb9ce6bd92e73..ca6a2fee12ac8a89dae57aa2787462f190463cd0 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
|
||||
@@ -92,7 +92,7 @@ index a7e133f3495e9132a5fdae2c24f225e7b026295a..329ebc3d94997199ad342cb8e4d9f103
|
||||
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 973ecd50f9cb6b86c353586e84d15dcb118ccb60..2ae800110dc90b7f2d96d2c05ba3a53aea6c0c53 100644
|
||||
index 66cc44d9f14b01f6c8e53b0f990866ac897c1c81..c38aff50c6f0bc37e539bb4d5206f7b6065fa680 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -177,6 +177,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -103,7 +103,7 @@ index 973ecd50f9cb6b86c353586e84d15dcb118ccb60..2ae800110dc90b7f2d96d2c05ba3a53a
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -277,6 +278,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -288,6 +289,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
||||
@@ -112,7 +112,7 @@ index 973ecd50f9cb6b86c353586e84d15dcb118ccb60..2ae800110dc90b7f2d96d2c05ba3a53a
|
||||
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 e288fd33be490b3269470cd0728a81a0ea6385f1..3ae359a7334d8e398558fbb7c13cfd490a963d27 100644
|
||||
index 430df6a2b852f07e3a1cd9dfcd5ecf3e52e63b66..6f59ff3dda4adaa24065ac388c8de556f3934313 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -956,6 +956,7 @@ public final class CraftServer implements Server {
|
||||
@@ -139,7 +139,7 @@ index e288fd33be490b3269470cd0728a81a0ea6385f1..3ae359a7334d8e398558fbb7c13cfd49
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2744,6 +2747,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2749,6 +2752,18 @@ public final class CraftServer implements Server {
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ index e288fd33be490b3269470cd0728a81a0ea6385f1..3ae359a7334d8e398558fbb7c13cfd49
|
||||
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 d51650d3e37eb76a0cf991e95d28a552aa567af9..0206b97cdc244998b1a4f148a71457dabb9236de 100644
|
||||
index 4966a1e3dd35357a8ea6a7d2944c84c9c3e9058e..f5266df43726a7805ee2664ed18a2dcf79ab6cde 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -173,6 +173,14 @@ public class Main {
|
||||
@@ -17,10 +17,10 @@ index ca5291a9573a62cb5c19539cf5c7aceff11f9829..98d92f6d6a98d66e369286b079db2c4d
|
||||
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 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..5e407aadb8b880f5bb8a485e681d6d6201cb0f31 100644
|
||||
index 24d48fb4a63c2db19c7f957ad2260415fe1db9fe..56b9a7059e3b9c2bc66961cb50bc6be3d02cf41c 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3523,6 +3523,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3525,6 +3525,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 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..5e407aadb8b880f5bb8a485e681d6d62
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3547,6 +3548,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3549,6 +3550,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
|
||||
}
|
||||
@@ -43,7 +43,7 @@ index 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..5e407aadb8b880f5bb8a485e681d6d62
|
||||
try {
|
||||
byte[] data = new byte[packet.data.readableBytes()];
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index eca5e6b93dd84307bf9dbadf32414d6f506e69dc..6c502a804344d2121653d330a689d012cf5c4562 100644
|
||||
index 1bada55af5d16437da4d16f9ded55f88a6121eb4..18a32f55727283f73f8d0089a4b1784ae8248076 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3148,4 +3148,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -81,10 +81,10 @@ index 93a1e990b0a6caae4143c2f9d09bfb368fa1d6db..615611fe372d6edaef56db058bbf2cf7
|
||||
return this.type().msgId();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 9a1e8589e6b371869b2199650172d61ae186c907..bd109784a4ab836febef2926e69a7cf88fd2a873 100644
|
||||
index 6e8a76d64418c214fcdd021f23bdfaf9827470a9..a0aeb144f4f92b0cfdee1449b44771d0b6808d35 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3874,6 +3874,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3908,6 +3908,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
@@ -22,10 +22,10 @@ index b37e0ff164a894d2033fb94bbbc2f630a0e66bcd..ac335ec4f70830c7687ac4e0aa2a6cba
|
||||
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 4cd9c56b3aea40996e249db163ffed0625d99b16..a5ed221909bd267711fdfb29c4557220c0998b4b 100644
|
||||
index ab70642d26439ce071a5ad505a83c81d8836c87f..276d8594a70f30b90d46319d95629fc262617063 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1526,6 +1526,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1528,6 +1528,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
@@ -34,7 +34,7 @@ index 4cd9c56b3aea40996e249db163ffed0625d99b16..a5ed221909bd267711fdfb29c4557220
|
||||
this.profiler.push(() -> {
|
||||
return worldserver + " " + worldserver.dimension().location();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 5a5ff40df37db9cbd53c584ed26a3ce4888b29c0..ffde1d129c5434e7748cbdaac9109cbd3d0d29bc 100644
|
||||
index 87d6b8e0cd8fec7959fb052dce1b73feb8cdb967..b40bc54e80dadc8eb426ed6217b879631833e4d7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -66,10 +66,10 @@ index d5369a39c86353bd99b4b404028db2aea97f8438..8fa36563e130f8af0fc60d84d08134fa
|
||||
|
||||
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 5e407aadb8b880f5bb8a485e681d6d6201cb0f31..4037ab672c5dfe417307b2c40474b3c48ae529f0 100644
|
||||
index 56b9a7059e3b9c2bc66961cb50bc6be3d02cf41c..df46668a78adab398f57b4df98d1347844a6674a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2790,6 +2790,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2792,6 +2792,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -79,7 +79,7 @@ index 5e407aadb8b880f5bb8a485e681d6d6201cb0f31..4037ab672c5dfe417307b2c40474b3c4
|
||||
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 bd109784a4ab836febef2926e69a7cf88fd2a873..ceabcb24504228f25412b8821969b8e151ecaf1b 100644
|
||||
index a0aeb144f4f92b0cfdee1449b44771d0b6808d35..f216a136c693a202d1e07f8760ab493e51a4738e 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 {
|
||||
@@ -91,7 +91,7 @@ index bd109784a4ab836febef2926e69a7cf88fd2a873..ceabcb24504228f25412b8821969b8e1
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2788,6 +2788,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2822,6 +2822,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ index bd109784a4ab836febef2926e69a7cf88fd2a873..ceabcb24504228f25412b8821969b8e1
|
||||
this.gameEvent(GameEvent.ENTITY_MOUNT, entity);
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
@@ -2829,6 +2836,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2863,6 +2870,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -120,7 +120,7 @@ index bd109784a4ab836febef2926e69a7cf88fd2a873..ceabcb24504228f25412b8821969b8e1
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4645,4 +4660,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4731,4 +4746,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -191,10 +191,10 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..7b1ca8fd2908b8a02ec2cd1966a31e06
|
||||
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 dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388aa7e9d3c0 100644
|
||||
index 791f672b30f2a4d3b329e2ce0f4fb9c2ca627b01..223371a33f1c22874d9cc7b8655fef4c61ee5cb4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
protected int deathScore;
|
||||
public float lastHurt;
|
||||
public boolean jumping;
|
||||
@@ -207,7 +207,7 @@ index dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388a
|
||||
protected int lerpSteps;
|
||||
protected double lerpX;
|
||||
protected double lerpY;
|
||||
@@ -285,7 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -284,7 +284,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.effectsDirty = true;
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
@@ -216,7 +216,7 @@ index dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388a
|
||||
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());
|
||||
@@ -336,6 +336,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -335,6 +335,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
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);
|
||||
}
|
||||
@@ -224,7 +224,7 @@ index dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388a
|
||||
|
||||
@Override
|
||||
protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) {
|
||||
@@ -2630,7 +2631,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2652,7 +2653,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper
|
||||
@@ -233,7 +233,7 @@ index dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388a
|
||||
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start
|
||||
@@ -3394,8 +3395,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3416,8 +3417,10 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.pushEntities();
|
||||
this.level.getProfiler().pop();
|
||||
// Paper start
|
||||
@@ -246,7 +246,7 @@ index dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388a
|
||||
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());
|
||||
@@ -3405,6 +3408,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3427,6 +3430,21 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -269,7 +269,7 @@ index dcfb71b5a53df789e366fea2080921d677549a2e..e8798de526e2836308eca8e5f4a4388a
|
||||
// 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 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..76d8bab7cc1bdbd1946af60a1a2ffef1c7ef4415 100644
|
||||
index 636e601b004a412d02e5be86e97d489b52c28e1b..f6ec6a249b4559e681382c9690ddc7b9e17c9efb 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 implements Targeting {
|
||||
@@ -283,7 +283,7 @@ index 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..76d8bab7cc1bdbd1946af60a1a2ffef1
|
||||
this.jumpControl = new JumpControl(this);
|
||||
this.bodyRotationControl = this.createBodyControl();
|
||||
this.navigation = this.createNavigation(world);
|
||||
@@ -1372,7 +1372,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1378,7 +1378,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -292,7 +292,7 @@ index 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..76d8bab7cc1bdbd1946af60a1a2ffef1
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1748,4 +1748,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1754,4 +1754,56 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -350,13 +350,13 @@ index 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..76d8bab7cc1bdbd1946af60a1a2ffef1
|
||||
+ // 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) {
|
||||
@@ -367,6 +367,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) {
|
||||
@@ -375,7 +376,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) -> {
|
||||
@@ -538,7 +539,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 f5efdf59617d43de18a2267351fa784c0be3ae83..a48d40e4242f35c6830286739172459635be3e43 100644
|
||||
index 59338d739b6130f667d151bc27646c4a346886a2..29bfea3c4f92033aed1de1cf159d61b38708a281 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;
|
||||
@@ -2152,7 +2153,7 @@ index 612601b2536dc522356d4dd2c2ea1192f6435f72..c8a18ecd36393747a95ad9026c5a7b1d
|
||||
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 9b57d2b766f2de2d3fb4a3b5ef4df8d6756a1942..3e5755764eb585c861c607c1f9fbeeeffc33cff1 100644
|
||||
index a41d8101c960163803179d3717889aee6182d0bb..c743f487b7a327ee66cffc86cbe5d13c81fd2cab 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 {
|
||||
@@ -2210,7 +2211,7 @@ index 9b57d2b766f2de2d3fb4a3b5ef4df8d6756a1942..3e5755764eb585c861c607c1f9fbeeef
|
||||
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 a4e98b02175da96472474b8d7ad5975ce4d2fc43..f30aad7e722f895b8f6966f042021fc80f470994 100644
|
||||
index 38d21943fb2940f53c2d0ac2c3b94a6f0e46e700..2c5aa1fe81a2411de81c233092bbe3841ed627ea 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,23 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -2237,7 +2238,7 @@ index a4e98b02175da96472474b8d7ad5975ce4d2fc43..f30aad7e722f895b8f6966f042021fc8
|
||||
@Override
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
@@ -519,14 +536,22 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -521,14 +538,22 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
private static class AxolotlMoveControl extends SmoothSwimmingMoveControl {
|
||||
|
||||
private final Axolotl axolotl;
|
||||
@@ -2260,7 +2261,7 @@ index a4e98b02175da96472474b8d7ad5975ce4d2fc43..f30aad7e722f895b8f6966f042021fc8
|
||||
if (!this.axolotl.isPlayingDead()) {
|
||||
super.tick();
|
||||
}
|
||||
@@ -541,9 +566,9 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -543,9 +568,9 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -2273,7 +2274,7 @@ index a4e98b02175da96472474b8d7ad5975ce4d2fc43..f30aad7e722f895b8f6966f042021fc8
|
||||
|
||||
}
|
||||
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 a65cec3c9837882df5b61de58f03d276d4db6bfc..12962698dd354dc5da325e8bb24e5fff40af9e51 100644
|
||||
index be44667b8205cd3bb1cefddf8e0e743535414e14..24419e78976cabc7f14a4cff0f273c958344a8d6 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
|
||||
@@ -82,16 +82,65 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
||||
@@ -2343,7 +2344,7 @@ index a65cec3c9837882df5b61de58f03d276d4db6bfc..12962698dd354dc5da325e8bb24e5fff
|
||||
@Override
|
||||
protected Brain.Provider<Frog> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
@@ -374,7 +423,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
||||
@@ -376,7 +425,7 @@ public class Frog extends Animal implements VariantHolder<FrogVariant> {
|
||||
return world.getBlockState(pos.below()).is(BlockTags.FROGS_SPAWNABLE_ON) && isBrightEnoughToSpawn(world, pos);
|
||||
}
|
||||
|
||||
@@ -2353,7 +2354,7 @@ index a65cec3c9837882df5b61de58f03d276d4db6bfc..12962698dd354dc5da325e8bb24e5fff
|
||||
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 9058f9f2e561cda9f475f33218bf7a78297de4bc..5551f67b4b4a32487c2f26f2c1e1e97cb21a22ee 100644
|
||||
index e591b0a09f5a8475b3ec9cd28bd5d5b69809ed73..63553436193cc3063cd4c4e9f50695fb5209ff9d 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
|
||||
@@ -45,13 +45,50 @@ public class Tadpole extends AbstractFish {
|
||||
@@ -2409,7 +2410,7 @@ index 9058f9f2e561cda9f475f33218bf7a78297de4bc..5551f67b4b4a32487c2f26f2c1e1e97c
|
||||
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 cfa904d42734d0fb0c1ed8b18f4d8bc131027962..1cfc1ade52b79c6c5577935fe5c37a0e7a1673f0 100644
|
||||
index 4fdc3bd591b6df4c28901e4571aa23baf034d885..81790ac38ef67682053751a9e6813eed8d744337 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 {
|
||||
@@ -2436,11 +2437,12 @@ index cfa904d42734d0fb0c1ed8b18f4d8bc131027962..1cfc1ade52b79c6c5577935fe5c37a0e
|
||||
@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())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
this.level.getProfiler().push("goatActivityUpdate");
|
||||
@@ -3417,7 +3419,7 @@ index d02286d553c600fe7e75f48e278e380d21c5b868..4fbae6e88daaabfce22bb9d6e60e02a1
|
||||
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 418d6301f067803e2471e59ac2d52a68cbff249b..db5427939d62434ad2d3271e44ffad58b96f121b 100644
|
||||
index c2f5dabb41b172547864decc06aa632d89dff3e1..d1e6b930fe393c4e3c52749819373cc98092aa20 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 {
|
||||
@@ -3465,7 +3467,7 @@ index 418d6301f067803e2471e59ac2d52a68cbff249b..db5427939d62434ad2d3271e44ffad58
|
||||
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;
|
||||
@@ -4806,7 +4808,7 @@ index b75945807b425609394c343da56c316a769f0a29..ad82c064c9e31ffc1dd96e4451718763
|
||||
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 5d3b3cb3a882eb5d716f678095a65b28d0967476..b4deb7fa656aadd9c62db68bb46d3fb39f8429e5 100644
|
||||
index daa2224b021c966751eb39f269ffbfe6e7f3d426..74d3068c4f74c19740ad3e2f507489d405d78598 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 {
|
||||
@@ -4833,16 +4835,17 @@ index 5d3b3cb3a882eb5d716f678095a65b28d0967476..b4deb7fa656aadd9c62db68bb46d3fb3
|
||||
@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())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel)this.level, this);
|
||||
this.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..dad688184896720099357bf91fe092da3eac8931 100644
|
||||
index b401fb4f276ca81b4bb18426ee56abed8a9f7a7b..5dcaa05ee11872502736c39588dfe03cb59c8e2d 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
|
||||
@@ -4869,11 +4872,12 @@ index afa7ecfa8453da510ec5ccecb1ceeb1d9893d259..dad688184896720099357bf91fe092da
|
||||
@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())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
|
||||
- if (this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish
|
||||
+ if ((getRider() == null || !this.isControllable()) && this.behaviorTick++ % this.activatedPriority == 0) // Pufferfish // Purpur - only use brain if no rider
|
||||
this.getBrain().tick((ServerLevel) this.level, this);
|
||||
this.level.getProfiler().pop();
|
||||
PiglinAi.updateActivity(this);
|
||||
@@ -4914,7 +4918,7 @@ index 769e4fbaac01a4fe3a45bd9cab5c63b61fc69f53..ac066b2f3e369321752470722941ae26
|
||||
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 b2b63d9df3c07696f47281e9be74f1799f50b93e..129bba44b8a5ada75b2f73050522975e56d9a069 100644
|
||||
index 907d77dd74066c723238155b42028a811365b1f8..f40806e7d9c08cf7b85215fbf0c66169eb4dc6ae 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
|
||||
@@ -4950,7 +4954,7 @@ index b2b63d9df3c07696f47281e9be74f1799f50b93e..129bba44b8a5ada75b2f73050522975e
|
||||
@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) {
|
||||
@@ -4974,10 +4978,10 @@ index b2b63d9df3c07696f47281e9be74f1799f50b93e..129bba44b8a5ada75b2f73050522975e
|
||||
|
||||
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 6023b9eb3001e1a98ab8b970d853c4e7c7603f4d..dcebf1f79f11b032c12199db8ca0a40396663871 100644
|
||||
index 5402a084ef5fe0b3cfea897a90cffade1eff5b66..bf232c81f07e5783071b79b5f3510f9ed473e400 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));
|
||||
}
|
||||
|
||||
@@ -5006,19 +5010,16 @@ index 6023b9eb3001e1a98ab8b970d853c4e7c7603f4d..dcebf1f79f11b032c12199db8ca0a403
|
||||
@Override
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
@@ -247,7 +269,10 @@ 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) {
|
||||
+ if ((getRider() == null || !this.isControllable())/* && this.behaviorTick++ % this.activatedPriority == 0*/) // Pufferfish // Purpur - only use brain if no rider TODO: uncomment when including Pufferfish
|
||||
+ this.getBrain().tick((ServerLevel) this.level, this); // Paper
|
||||
+ }
|
||||
this.level.getProfiler().pop();
|
||||
if (this.assignProfessionWhenSpawned) {
|
||||
this.assignProfessionWhenSpawned = false;
|
||||
@@ -304,7 +329,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();
|
||||
@@ -5027,7 +5028,7 @@ index 6023b9eb3001e1a98ab8b970d853c4e7c7603f4d..dcebf1f79f11b032c12199db8ca0a403
|
||||
} else {
|
||||
boolean flag = this.getOffers().isEmpty();
|
||||
|
||||
@@ -317,8 +342,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 ceabcb24504228f25412b8821969b8e151ecaf1b..d6ac9c9811449a651e6d13538b9efa7015617b09 100644
|
||||
index f216a136c693a202d1e07f8760ab493e51a4738e..a0f63263a2439df93757309a6d9f6394abf81073 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 7b1ca8fd2908b8a02ec2cd1966a31e06eaa2dd1f..b86329a18dc83073462049da975dd71b
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index e8798de526e2836308eca8e5f4a4388aa7e9d3c0..1152cdb64ff72358292400d33a4a4f3ca88eff75 100644
|
||||
index 223371a33f1c22874d9cc7b8655fef4c61ee5cb4..d8b8547f5561baa5f39d6b5f251a484033483757 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.useItem = ItemStack.EMPTY;
|
||||
this.lastClimbablePos = Optional.empty();
|
||||
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type), this); // Purpur
|
||||
@@ -45,7 +45,7 @@ index e8798de526e2836308eca8e5f4a4388aa7e9d3c0..1152cdb64ff72358292400d33a4a4f3c
|
||||
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());
|
||||
@@ -301,6 +302,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -300,6 +301,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (Tag) dynamicopsnbt.emptyMap()))));
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ index e8798de526e2836308eca8e5f4a4388aa7e9d3c0..1152cdb64ff72358292400d33a4a4f3c
|
||||
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 a48d40e4242f35c6830286739172459635be3e43..da2b0dfd8a3c033488a1e5d928c40fd66ada5091 100644
|
||||
index 29bfea3c4f92033aed1de1cf159d61b38708a281..b1fb9035dc3a1e0d34e1e339f89d9eba073b0d1c 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 c8a18ecd36393747a95ad9026c5a7b1d62ff727a..05792466a89bdcffe1a4241761b7c23a
|
||||
|
||||
@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 f30aad7e722f895b8f6966f042021fc80f470994..eaf2e6b9865a36b7c648bd1205db922a62cd7ee8 100644
|
||||
index 2c5aa1fe81a2411de81c233092bbe3841ed627ea..65587c422eb7e2b64670dd869e01297998765c30 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
|
||||
@@ -113,6 +113,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -885,7 +885,7 @@ index 4fbae6e88daaabfce22bb9d6e60e02a109e5178a..84bac517860c565d26dfa31ee06fac5c
|
||||
|
||||
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 db5427939d62434ad2d3271e44ffad58b96f121b..b7b2762ff6b01da9a3df0ab0add6d50efd76db8d 100644
|
||||
index d1e6b930fe393c4e3c52749819373cc98092aa20..79a5d800434b648c77f25e0d1be8e14b94c30f68 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 {
|
||||
@@ -1424,7 +1424,7 @@ index ad82c064c9e31ffc1dd96e44517187635100fc22..2df1aa1af12b403e9cd87d61b2ff1516
|
||||
|
||||
@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 b4deb7fa656aadd9c62db68bb46d3fb39f8429e5..930d74e5fd20b69baeec60dfc54da37a1290fccc 100644
|
||||
index 74d3068c4f74c19740ad3e2f507489d405d78598..b855647ebd374e4d01e90b78a5d650ceab85173d 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 {
|
||||
@@ -1440,7 +1440,7 @@ index b4deb7fa656aadd9c62db68bb46d3fb39f8429e5..930d74e5fd20b69baeec60dfc54da37a
|
||||
|
||||
@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 dad688184896720099357bf91fe092da3eac8931..9b7e38e7a73206663a06dd180b7ef746d2237f16 100644
|
||||
index 5dcaa05ee11872502736c39588dfe03cb59c8e2d..c36b17a7f209ce5f2b366077a192c16fc389cbf7 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
|
||||
@@ -1472,10 +1472,10 @@ index ac066b2f3e369321752470722941ae26af511309..ba460cb0f65eb98d2c0934084c51c81e
|
||||
|
||||
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 dcebf1f79f11b032c12199db8ca0a40396663871..f9828580075d70d804c92d6db9a944d2e436e268 100644
|
||||
index bf232c81f07e5783071b79b5f3510f9ed473e400..fc25e9deb12162f2fe9067da819ff6946f4a5be4 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));
|
||||
}
|
||||
@@ -73,7 +73,7 @@ index 8fa36563e130f8af0fc60d84d08134fa54c4ca53..dae286863e7bf9316b23724f14d0f22f
|
||||
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 4037ab672c5dfe417307b2c40474b3c48ae529f0..1e3aa42d2e293f465d91964d2a5aa9118fc4c57b 100644
|
||||
index df46668a78adab398f57b4df98d1347844a6674a..db1ff7b3a5d19171480d065ff827606efecbba0f 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -337,6 +337,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -119,7 +119,7 @@ index 4037ab672c5dfe417307b2c40474b3c48ae529f0..1e3aa42d2e293f465d91964d2a5aa911
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1537,7 +1559,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1538,7 +1560,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 4037ab672c5dfe417307b2c40474b3c48ae529f0..1e3aa42d2e293f465d91964d2a5aa911
|
||||
}
|
||||
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
@@ -1588,6 +1610,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1589,6 +1611,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 {
|
||||
@@ -218,7 +218,7 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 6c502a804344d2121653d330a689d012cf5c4562..840849cebbf9090c21923d30e0e3afbc7f14ac43 100644
|
||||
index 18a32f55727283f73f8d0089a4b1784ae8248076..2d1ff613dabbc6ae247caf03e79bb7033c28c739 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -525,10 +525,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -281,7 +281,7 @@ index 2f684a8f976f1f1a18c31f4c1a7eba9080099e55..c517873abdcb1e5334ba9e7a1c2f06bb
|
||||
|
||||
public static int barrelRows = 3;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 08b8d90ebdfd3937b6c32a7f18f08aeeaa4a8189..63b5be2433b5fba5c4139a9c1dbaaa79655fba7a 100644
|
||||
index 46b6994812086405f20a4dd410c1d79621958cd5..21a33a7952ea9d70df45a99e82286713fd939696 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -92,6 +92,24 @@ public class PurpurWorldConfig {
|
||||
@@ -310,10 +310,10 @@ index 08b8d90ebdfd3937b6c32a7f18f08aeeaa4a8189..63b5be2433b5fba5c4139a9c1dbaaa79
|
||||
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 e881584d38dc354204479863f004e974a0ac6c07..5fde2a74385e621ae96922fd8aa6e386f5b780bb 100644
|
||||
index 63d3fcc45be732a4cd2dc8b5347d860fd6577bdd..f1abcd9c63d7bb9797f05e3764262e0080c60da2 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 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824
|
||||
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 3ae359a7334d8e398558fbb7c13cfd490a963d27..e313f4a9025e19b9afd5a725b89dca803516919b 100644
|
||||
index 6f59ff3dda4adaa24065ac388c8de556f3934313..3ed3375c327f426c8e20efde000806a8b4bfa24d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2934,4 +2934,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2939,4 +2939,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
@@ -5,15 +5,15 @@ Subject: [PATCH] Configurable server mod name
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 9fb7e742b91311bf542f533e2a411e9847be7038..14990205ac4bb02f26a90b91002e1dc07d36d40d 100644
|
||||
index 276d8594a70f30b90d46319d95629fc262617063..4ef09e062e1f5157b04623a107ef6bef28b276c9 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1682,7 +1682,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1684,7 +1684,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return org.purpurmc.purpur.PurpurConfig.serverModName; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
- return "Purpur"; // Purpur - Purpur > // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return org.purpurmc.purpur.PurpurConfig.serverModName; // Purpur - Purpur > // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 1152cdb64ff72358292400d33a4a4f3ca88eff75..40f9e0969eef6d3543c6ca65915a68479fab700d 100644
|
||||
index d8b8547f5561baa5f39d6b5f251a484033483757..cf7ac9f5e18921723b0a8cfd0ed8a829d73e1fd4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -252,6 +252,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -251,6 +251,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
private boolean skipDropExperience;
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
@@ -16,7 +16,7 @@ index 1152cdb64ff72358292400d33a4a4f3ca88eff75..40f9e0969eef6d3543c6ca65915a6847
|
||||
public boolean forceDrops;
|
||||
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -352,8 +353,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -351,8 +352,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ index 1152cdb64ff72358292400d33a4a4f3ca88eff75..40f9e0969eef6d3543c6ca65915a6847
|
||||
|
||||
if (!state.isAir()) {
|
||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
@@ -1996,7 +1997,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2018,7 +2019,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
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 1af65fe3e5f05900b25f49ee6b70286eb7b466ed..3bb2aec5a3d73acc47f28a168cbe4973c81bfca5 100644
|
||||
index 4ef09e062e1f5157b04623a107ef6bef28b276c9..03358854c88f97bb557da30b29d5a10068d96c99 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -308,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index 1af65fe3e5f05900b25f49ee6b70286eb7b466ed..3bb2aec5a3d73acc47f28a168cbe4973
|
||||
|
||||
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 1af65fe3e5f05900b25f49ee6b70286eb7b466ed..3bb2aec5a3d73acc47f28a168cbe4973
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index e313f4a9025e19b9afd5a725b89dca803516919b..8f51ce6068ac610fed09da9d0ffc384f37eeaff2 100644
|
||||
index 3ed3375c327f426c8e20efde000806a8b4bfa24d..c6067c4446ee5c531bc2c855ebd0c9cb2e3dada8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2940,5 +2940,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2945,5 +2945,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
@@ -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 ceacc0d383e2ee674783d3c0a7df0a951595faca..b8007196d117fa30722b81fc1cf8f1ce04c97c68 100644
|
||||
index 8af0918d3a62de58a4b2af55022c812bb0e46092..944ccfacd740ea0cdd0b8ffbd75bd2e561ebad9b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -313,6 +313,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -315,6 +315,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 ceacc0d383e2ee674783d3c0a7df0a951595faca..b8007196d117fa30722b81fc1cf8f1ce
|
||||
public static ResourceLocation getKey(EntityType<?> type) {
|
||||
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
|
||||
}
|
||||
@@ -528,6 +538,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -530,6 +540,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
return this.category;
|
||||
}
|
||||
|
||||
@@ -82,10 +82,10 @@ index dae286863e7bf9316b23724f14d0f22f522cad4a..90baf612964501ce7048610f62e53894
|
||||
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 1e3aa42d2e293f465d91964d2a5aa9118fc4c57b..5248a576c65f5758252bb9428c3363b25432ac3e 100644
|
||||
index db1ff7b3a5d19171480d065ff827606efecbba0f..6568f3dac5a77ac0cbbaffe7bf499ca1b5f3ff81 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2081,12 +2081,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2082,12 +2082,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
@@ -121,7 +121,7 @@ index 86a1f0733ed2aabe09fc748bdf9561d9b9a8286e..3ed1af31cf0beb945699480bca104e7a
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 840849cebbf9090c21923d30e0e3afbc7f14ac43..17ea58f45f4bc4eb8bbbeadd6f25a477061d1617 100644
|
||||
index 2d1ff613dabbc6ae247caf03e79bb7033c28c739..254d91e2a06186d602f7edae7a46b0e4ee9be662 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3174,5 +3174,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -146,7 +146,7 @@ index 840849cebbf9090c21923d30e0e3afbc7f14ac43..17ea58f45f4bc4eb8bbbeadd6f25a477
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 63b5be2433b5fba5c4139a9c1dbaaa79655fba7a..38bfaa8e15d56bc2934f3281ec43954f94ea1ca7 100644
|
||||
index 21a33a7952ea9d70df45a99e82286713fd939696..786c1e30c56dfe28d00a9727c97d837cf7310ad3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,6 +97,8 @@ public class PurpurWorldConfig {
|
||||
@@ -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 5248a576c65f5758252bb9428c3363b25432ac3e..a225da8118b25f15876d700f2b3b02b1c6bc5ddb 100644
|
||||
index 6568f3dac5a77ac0cbbaffe7bf499ca1b5f3ff81..4e23ff71e14be7b88abc0bbcb8523eeb87556310 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -261,6 +261,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -38,7 +38,7 @@ index 5248a576c65f5758252bb9428c3363b25432ac3e..a225da8118b25f15876d700f2b3b02b1
|
||||
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
|
||||
@@ -3508,6 +3524,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -3510,6 +3526,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
@@ -89,7 +89,7 @@ index 936d844a5a246138c9f9ae4ae6e318242b8f1420..d58dc4aa02fe371deaf879df8692dbe9
|
||||
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 38bfaa8e15d56bc2934f3281ec43954f94ea1ca7..c0e4a7228420ad552e65d2a5fec3cddee18a13fb 100644
|
||||
index 786c1e30c56dfe28d00a9727c97d837cf7310ad3..e7b23899c4787fbcb6a8c65ece88967eece4f3e1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -114,6 +114,38 @@ public class PurpurWorldConfig {
|
||||
@@ -36,7 +36,7 @@ index 6c1a0e6f961e46a1a89850746a71e97b32514adf..1942649e868fc985a488034c411a6721
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c0e4a7228420ad552e65d2a5fec3cddee18a13fb..a5b2f8611d5270f9188b257b7adcf209da51e1ec 100644
|
||||
index e7b23899c4787fbcb6a8c65ece88967eece4f3e1..1046f6de8a04c4368870596f90236fe01671173d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -146,6 +146,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 0206b97cdc244998b1a4f148a71457dabb9236de..1b366a36e78aecce6ae1022c4caa65923b8693a9 100644
|
||||
index f5266df43726a7805ee2664ed18a2dcf79ab6cde..ad4bc3f46bb6f02284ecf62e2701bb627e096b15 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -285,7 +285,7 @@ public class Main {
|
||||
@@ -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 ffde1d129c5434e7748cbdaac9109cbd3d0d29bc..057f4b71ff295cf6fed9cc5b86aa40345e448af3 100644
|
||||
index b40bc54e80dadc8eb426ed6217b879631833e4d7..a7c153f957af48cf42ecbb01ada5f8f384c4e5e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -814,10 +814,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -830,10 +830,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) {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to set armorstand step height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index d6ac9c9811449a651e6d13538b9efa7015617b09..2e263243651e9feb1ea7e011507502b6a634a49c 100644
|
||||
index a0f63263a2439df93757309a6d9f6394abf81073..af6da7a9b93ef808759c7e213354ebfeed7e7a77 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -319,7 +319,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -30,7 +30,7 @@ index 3677dd991ae73428984e62e4d6fb757317987887..697d6d6cca0a1c8df9c5bf6852495130
|
||||
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 6d9c429b91aef725bc0da88c790ef63417595208..652f9dc1dc0f31f72d15d2fa99406b4860109b1f 100644
|
||||
index 47bd9c45b4a560b1fcc01eee9606afef7416f70d..7fe6efbed2bd5f9a9d5b9a8ff5118a799cda4d11 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -92,6 +92,11 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 19bd997d421a338966fcd3e3dfeb8669a6fb542f..2f85004a9dac740a9ddadd18b47cf3be821e5add 100644
|
||||
index b1c2663a7f42714a620d59096f26f0a965875846..12b715086a347b82726327358ac71c72a4fca8b0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -202,7 +202,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -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 5b12598509f16dd44f8c256143db6e30c9bd014a..48de15c64ab761934a8e5499c760a78ad1dc7465 100644
|
||||
index d0ce35d161498220eb1b0ce7ff8d0abd8a06fc35..8db5d37e22bc3c20bf9c8f0737968c39d475db9f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -151,6 +151,11 @@ public class PurpurWorldConfig {
|
||||
@@ -18,7 +18,7 @@ index 34d744837e599633a3c2c0b72f253bb0e157f226..fce9ebcaaac18ecee24c7091ea77a32a
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 48de15c64ab761934a8e5499c760a78ad1dc7465..df7e76dfc54d9183a043e1818a597e44f418fd9f 100644
|
||||
index 8db5d37e22bc3c20bf9c8f0737968c39d475db9f..7b0829e64b04affe1af155419722c78a187ff216 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -151,6 +151,11 @@ public class PurpurWorldConfig {
|
||||
@@ -149,7 +149,7 @@ index 505503a3f59d4b747649275c6f6faa504b7c7b64..532a9920bccfc90ee75ac21714812e88
|
||||
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 df7e76dfc54d9183a043e1818a597e44f418fd9f..ba924f551f0d67007b94521f7e7925916e46f429 100644
|
||||
index 7b0829e64b04affe1af155419722c78a187ff216..4ed7b12a08df116807be89123b7b9b689eace49a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,6 +97,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 d0437c2d10c44883c90861666dc2cd8805c4d5ab..bf4d6413f90e7b6941acdfd78e52b7f97232a670 100644
|
||||
index cf7ac9f5e18921723b0a8cfd0ed8a829d73e1fd4..5ce0906f891f9465eea4dc8c574b83ccc937f80c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1748,6 +1748,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1756,6 +1756,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
this.dropEquipment(); // CraftBukkit - from below
|
||||
if (this.shouldDropLoot() && this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) {
|
||||
@@ -16,7 +16,7 @@ index d0437c2d10c44883c90861666dc2cd8805c4d5ab..bf4d6413f90e7b6941acdfd78e52b7f9
|
||||
this.dropFromLootTable(source, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1756,6 +1757,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1764,6 +1765,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
// Paper end
|
||||
this.dropCustomDeathLoot(source, i, flag);
|
||||
this.clearEquipmentSlots = prev; // Paper
|
||||
@@ -25,7 +25,7 @@ index d0437c2d10c44883c90861666dc2cd8805c4d5ab..bf4d6413f90e7b6941acdfd78e52b7f9
|
||||
// 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 ba924f551f0d67007b94521f7e7925916e46f429..d3ebe9773e7b2b590956a5744cbec6d45ef96af7 100644
|
||||
index 4ed7b12a08df116807be89123b7b9b689eace49a..6cfd8e222d432ffc23eeb21db240a21e1e52f678 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,6 +97,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 d3ebe9773e7b2b590956a5744cbec6d45ef96af7..35a8eda30400a606358f62c02f984376632cce92 100644
|
||||
index 6cfd8e222d432ffc23eeb21db240a21e1e52f678..58ada439e2d02383573c69859f48a2f6286a8899 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -98,8 +98,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 3bb2aec5a3d73acc47f28a168cbe4973c81bfca5..f25f70717847ddd5dea4e86e3be3e7cb9b7eb879 100644
|
||||
index 03358854c88f97bb557da30b29d5a10068d96c99..dc5bcb68afe684bcbd3cdb29774baa6cb91546c2 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;
|
||||
@@ -18,7 +18,7 @@ index db151bf624095014c99d78b4f6748d2c3792abea..fb10fc5a5aa3b6d6220694041778bfd3
|
||||
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 35a8eda30400a606358f62c02f984376632cce92..d488ad7fe6119426f6ef269a8916514dddec91a6 100644
|
||||
index 58ada439e2d02383573c69859f48a2f6286a8899..65ab2e13ac14ced0272748ff79cc249fdeef3c95 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -99,9 +99,11 @@ public class PurpurWorldConfig {
|
||||
@@ -18,10 +18,10 @@ index 76d796600411144b73d1e7e67f70bb032055d02a..b25d3e25a6be150739aeed99b81e99e3
|
||||
this.spawnLingeringCloud();
|
||||
} else {
|
||||
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 b7b2762ff6b01da9a3df0ab0add6d50efd76db8d..3e210f4113765e5e265d9b0cfbd911db6f586327 100644
|
||||
index 79a5d800434b648c77f25e0d1be8e14b94c30f68..b24d890fb9a85434d612c57b4a8763652565d017 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -530,6 +530,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -536,6 +536,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -29,7 +29,7 @@ index b7b2762ff6b01da9a3df0ab0add6d50efd76db8d..3e210f4113765e5e265d9b0cfbd911db
|
||||
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
|
||||
}
|
||||
|
||||
@@ -577,6 +578,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -583,6 +584,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -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 f9828580075d70d804c92d6db9a944d2e436e268..e815600937d177694f7883ee963c7a34d08ea34d 100644
|
||||
index fc25e9deb12162f2fe9067da819ff6946f4a5be4..db3d9c95cc3d8212ee0893e0585099ef44da00a2 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 76d8bab7cc1bdbd1946af60a1a2ffef1c7ef4415..636b073f839393c0095f178131e54d18df68119b 100644
|
||||
index f6ec6a249b4559e681382c9690ddc7b9e17c9efb..7fda4e04a3e0ca8a09dccd1af36b77cca0b78a2b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1299,6 +1299,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1305,6 +1305,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
if (!this.isAlive()) {
|
||||
return InteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == player) {
|
||||
@@ -17,10 +17,10 @@ index 76d8bab7cc1bdbd1946af60a1a2ffef1c7ef4415..636b073f839393c0095f178131e54d18
|
||||
// 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 e815600937d177694f7883ee963c7a34d08ea34d..10e9786b03618232f67cdd88e68161f96ea97ca4 100644
|
||||
index db3d9c95cc3d8212ee0893e0585099ef44da00a2..979bbbf4229a9355b31913454cb565fc98049911 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 bf4de7b8fd630c596e096a411a8c84c64c13ebf7..d12f2745ef9a9b2ba28ce996f1ab6e593c90fc05 100644
|
||||
index 6063665b8848a2cd9f0b262eed36a9dd48db6035..5536b9e36b4ea99e2aaa62690b5bf00208291a58 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 bf4de7b8fd630c596e096a411a8c84c64c13ebf7..d12f2745ef9a9b2ba28ce996f1ab6e59
|
||||
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 e936a56089d0f0823c6fc2103b21c1549127ec84..6ec98f9ca600ca3326252943e1949fcb928285f0 100644
|
||||
index 46fa35c5defbf98e34c611a87b3733836907bb54..22bf8f3679aaaa6d972c49c439c8f27a9acfef12 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -227,6 +227,11 @@ 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 6ec98f9ca600ca3326252943e1949fcb928285f0..ac895bceb7e352c36061a872a097e806b4fe3115 100644
|
||||
index 22bf8f3679aaaa6d972c49c439c8f27a9acfef12..ebd4d17fca246502b5aab101254d17b7efcde365 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -228,8 +228,12 @@ public class PurpurWorldConfig {
|
||||
@@ -32,7 +32,7 @@ index 21da282c50a31d0d9a59bc93e6c60afe37950900..9e4a8278ef601b17311ba53cb187329a
|
||||
return 0;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 22e2f70c91be09444fb5e55a08448a650b556cc4..6d04bdafd0a2f40d51aad5735a6eb87b49264402 100644
|
||||
index ebd4d17fca246502b5aab101254d17b7efcde365..bbb69fe3b60c2123f23bc7999cb8939ebcb4bb70 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -175,6 +175,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 d6ac9c9811449a651e6d13538b9efa7015617b09..5292b17fd9d408413efcd52b36b345d734a07830 100644
|
||||
index af6da7a9b93ef808759c7e213354ebfeed7e7a77..49956239c2f9d0dcbc44352974a8d00e09a965a2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -859,7 +859,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -893,7 +893,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
|
||||
public void checkOutOfWorld() {
|
||||
// Paper start - Configurable nether ceiling damage
|
||||
@@ -18,10 +18,10 @@ index d6ac9c9811449a651e6d13538b9efa7015617b09..5292b17fd9d408413efcd52b36b345d7
|
||||
&& (!(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 6a2d0eb29c6d2785512302fccf61e675e5cf1926..4ada5228870a4b8ec02f7e9be489b8763a0a8647 100644
|
||||
index 5ce0906f891f9465eea4dc8c574b83ccc937f80c..3949c313203f60c9dc288a510f43e1fbc55cc535 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2440,7 +2440,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2462,7 +2462,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
|
||||
@Override
|
||||
protected void outOfWorld() {
|
||||
@@ -31,7 +31,7 @@ index 6a2d0eb29c6d2785512302fccf61e675e5cf1926..4ada5228870a4b8ec02f7e9be489b876
|
||||
|
||||
protected void updateSwingTime() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0f5940a1897dc1982233c29eaef908cb098ed0fd..0ec7e88c00e1dedf9d1069bc508826d4b54ddc38 100644
|
||||
index bbb69fe3b60c2123f23bc7999cb8939ebcb4bb70..79861cc30db69fcd41890da881fc8713fce25935 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -100,10 +100,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 5292b17fd9d408413efcd52b36b345d734a07830..4e122ac7ba7040d5c0e8e2ab57610a46f884fa75 100644
|
||||
index 49956239c2f9d0dcbc44352974a8d00e09a965a2..3726b52e088d745285864fb2fb99cbb1aa5963d8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4700,5 +4700,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4786,5 +4786,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
@@ -19,7 +19,7 @@ index 5292b17fd9d408413efcd52b36b345d734a07830..4e122ac7ba7040d5c0e8e2ab57610a46
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index d28fbdf87eacd948a76db49736208b57ee0692b0..18ecfcc97b17f3009057c97159a24583d3dc61e5 100644
|
||||
index a6a9628f0e467f2b38dd346d90862f19712b3016..864ebffb6c903acb9de5594029838b927eea4318 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -220,6 +220,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -35,7 +35,7 @@ index d28fbdf87eacd948a76db49736208b57ee0692b0..18ecfcc97b17f3009057c97159a24583
|
||||
skull.setPosRaw(headX, headY, headZ);
|
||||
level.addFreshEntity(skull);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
|
||||
index 36deebd7d721f400cd07b2be3d1551e2d9ab7f85..fb2c1b024baded0dc929ec473ad707eab44ddde2 100644
|
||||
index 060e064625969610539dbf969ce773b877a7c579..32cd9df202704cdfb8fa06aaf0e738d483054feb 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
|
||||
@@ -112,6 +112,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
|
||||
@@ -47,7 +47,7 @@ index 36deebd7d721f400cd07b2be3d1551e2d9ab7f85..fb2c1b024baded0dc929ec473ad707ea
|
||||
final EntityType<?> entityType = entity.getType();
|
||||
final int saveLimit = level.paperConfig().chunks.entityPerChunkSaveLimit.getOrDefault(entityType, -1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e1f8e7925 100644
|
||||
index 602df34e3ec0d05f58737a54a1e8585e8730095c..f0279d6cdc93f524f321c3c40967fdeeb8d2c46b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java
|
||||
@@ -35,6 +35,11 @@ public class DolphinSpit extends LlamaSpit {
|
||||
@@ -63,7 +63,7 @@ index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e
|
||||
super_tick();
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
index 2eca8317e991ec46cc88a4c7d6d8b50152ba4ea7..b6a594cd6b08c687cf51c2f5494297ef96ec4b92 100644
|
||||
index 9ee7fc642d05fd61d91d09c754c6f0680bc39e56..1542f038621b97a298a0fb31ab3be912e2bcd0d6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java
|
||||
@@ -38,6 +38,11 @@ public class PhantomFlames extends LlamaSpit {
|
||||
@@ -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 636b073f839393c0095f178131e54d18df68119b..1445bd7503a45e52974d147bfdc98b6a52a58233 100644
|
||||
index 7fda4e04a3e0ca8a09dccd1af36b77cca0b78a2b..89981efcb852fed1ca79f8b239aa1f044d713c6d 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 636b073f839393c0095f178131e54d18df68119b..1445bd7503a45e52974d147bfdc98b6a
|
||||
import net.minecraft.world.level.GameRules;
|
||||
import net.minecraft.world.level.ItemLike;
|
||||
import net.minecraft.world.level.Level;
|
||||
@@ -1157,6 +1158,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1163,6 +1164,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ index d7a0cbde8f8c99276307502674c71463fbe7e89c..3500c56cb85d8c76b2acd77976d374ea
|
||||
// CraftBukkit start
|
||||
Level world = pointer.getLevel();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0ec7e88c00e1dedf9d1069bc508826d4b54ddc38..94a1e12c0a016754e9c15559bff5642ee766a24b 100644
|
||||
index 79861cc30db69fcd41890da881fc8713fce25935..e089e59365459966dcae4108b908200534e9858d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -230,6 +230,11 @@ public class PurpurWorldConfig {
|
||||
@@ -17,7 +17,7 @@ index 5095e47b4910167235afdd8f1a7e9c45124ecadb..fb8f2d0a15c7a56c8e75b8fda781bf36
|
||||
} 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 94a1e12c0a016754e9c15559bff5642ee766a24b..487a15e59b5d7cc1a3d2bbd03af2b0b76eb59174 100644
|
||||
index e089e59365459966dcae4108b908200534e9858d..8f1b86b3511615281aca45cf7ffba506bbd09e0d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,12 +97,14 @@ public class PurpurWorldConfig {
|
||||
@@ -18,7 +18,7 @@ index 2d3994de8e40eedc78c27ea842b6265b1c5ea822..7043f15f84d6c847bf376025c8e2150b
|
||||
if (entry != null) {
|
||||
ItemStack itemstack = (ItemStack) entry.getValue();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index 75ee1abaadabbe8add0972c48780f5e7b85df069..fafb286115b57729542de670112a4dad911fb22f 100644
|
||||
index a6253272205337b3b855679b3057c2519a807a4c..d3483aef38a10f70fc89c1fa538add28565bcda4 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -558,6 +558,16 @@ public final class ItemStack {
|
||||
@@ -73,7 +73,7 @@ index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647
|
||||
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 487a15e59b5d7cc1a3d2bbd03af2b0b76eb59174..c16685c4cedf070788eeeb0a9aceb67b68a31344 100644
|
||||
index 8f1b86b3511615281aca45cf7ffba506bbd09e0d..b36b6e836c5f221434f58143265bd36687b02b75 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,6 +97,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 f25f70717847ddd5dea4e86e3be3e7cb9b7eb879..4f10682ffa42423eed6382ec0b53cc2fa931c7c9 100644
|
||||
index dc5bcb68afe684bcbd3cdb29774baa6cb91546c2..899bf1a7820f480fa20a68c480c3aaae926a1a3e 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -304,7 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -39,7 +39,7 @@ index f25f70717847ddd5dea4e86e3be3e7cb9b7eb879..4f10682ffa42423eed6382ec0b53cc2f
|
||||
// Spigot end
|
||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
@@ -1049,6 +1049,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1051,6 +1051,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 f25f70717847ddd5dea4e86e3be3e7cb9b7eb879..4f10682ffa42423eed6382ec0b53cc2f
|
||||
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 f25f70717847ddd5dea4e86e3be3e7cb9b7eb879..4f10682ffa42423eed6382ec0b53cc2f
|
||||
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 8f51ce6068ac610fed09da9d0ffc384f37eeaff2..f47bfd9826fb4a7bbbd4d1311ebf6dec391b6e5f 100644
|
||||
index c6067c4446ee5c531bc2c855ebd0c9cb2e3dada8..6f4cb22b477042cb895572596797556e0f21a100 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2701,6 +2701,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2706,6 +2706,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 4ada5228870a4b8ec02f7e9be489b8763a0a8647..0ce0761af346194444ef0bedce02493583cc5ea8 100644
|
||||
index 3949c313203f60c9dc288a510f43e1fbc55cc535..063ba101f751deecfbd7708b767e952fc4a273a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3455,7 +3455,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3477,7 +3477,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
int j = i / 10;
|
||||
|
||||
if (j % 2 == 0) {
|
||||
@@ -54,7 +54,7 @@ index 82b0bda3e35ec2157a477e1a17b2b46baadc97d9..0fc45b1048a1c4e0dc2bd1ae0437eecb
|
||||
itemStack.shrink(1);
|
||||
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
|
||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
index fafb286115b57729542de670112a4dad911fb22f..c95410100ded93b3f894fd71eb46f06e4ba6da8f 100644
|
||||
index d3483aef38a10f70fc89c1fa538add28565bcda4..e94caaea775b8804b9f685a465139aac40c8b4cc 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||
@@ -587,7 +587,7 @@ public final class ItemStack {
|
||||
@@ -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 c16685c4cedf070788eeeb0a9aceb67b68a31344..6874fba170f4dee579788025e5d8fae9c75b9535 100644
|
||||
index b36b6e836c5f221434f58143265bd36687b02b75..7a20e3b127edf85de93d1ea0d1dbee3a06f11e43 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -114,6 +114,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 b7fd8e70413c38923d0719aff803449e392383ac..11d7aef930ca283950f7b353b033f3ec5fe41efb 100644
|
||||
index d5cb594f0b17ec9dc1a19cdb99bba553e70171be..6afee2a744a3498d4a0eee35f77cde444f73d12c 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -72,7 +72,7 @@ public class ServerEntity {
|
||||
@@ -18,7 +18,7 @@ index b7fd8e70413c38923d0719aff803449e392383ac..11d7aef930ca283950f7b353b033f3ec
|
||||
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 d47b3ac633e7936d30abfda6fc46c2c7412d76fe..1b7784666312d50a957d023c2bf869194ee9e593 100644
|
||||
index 453f0f7042bdf204db73be139aa36f211c5455e7..52a14af24e3c51c53b40fdb6594b1664eef6d486 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -55,6 +55,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -34,7 +34,7 @@ index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..1b7784666312d50a957d023c2bf86919
|
||||
|
||||
public ItemEntity(EntityType<? extends ItemEntity> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -343,6 +349,15 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -349,6 +355,15 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
return false;
|
||||
} else if (!this.getItem().getItem().canBeHurtBy(source)) {
|
||||
return false;
|
||||
@@ -50,7 +50,7 @@ index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..1b7784666312d50a957d023c2bf86919
|
||||
} else if (this.level.isClientSide) {
|
||||
return true;
|
||||
} else {
|
||||
@@ -541,6 +556,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -547,6 +562,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
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 a925b5c490e7129b27370aa57b5fad1cf05530c6..09001578b88658c44d0661d340a0ee0f
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 55b7f582c6bc06412900e843c3263a69e67d2af5..ead0ea1613da4a23fe20283555f3dd7e55299073 100644
|
||||
index 7a20e3b127edf85de93d1ea0d1dbee3a06f11e43..2802191b8582840532e0774369082bca487a081d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -127,6 +127,49 @@ public class PurpurWorldConfig {
|
||||
@@ -27,7 +27,7 @@ index 96434f14525a2159f335b94aad95081f488fadf3..fec04d23d1b4f706c04b3c647e9afaf0
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 25e392910e20edd7bdaf6e1be20d5ff075cde65e..a9a4c0fcaf37d9e4d64622e72f08fd6234793b0e 100644
|
||||
index cf0842e65e1360d6860f4b519631a71a91c40145..8adb2b6094da7c1d865b3cf78c2f2dd7f810be5b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -290,6 +290,27 @@ public class PurpurWorldConfig {
|
||||
@@ -18,7 +18,7 @@ index bcea8af63b9911c36873290e5c34567b1eeaacf4..a81fe948398a4d65929d75c821177f09
|
||||
|
||||
public static boolean canSetSpawn(Level world) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a9a4c0fcaf37d9e4d64622e72f08fd6234793b0e..e20c7b8b3abc40dc0d39a8df2e5ee21f3695a447 100644
|
||||
index 8adb2b6094da7c1d865b3cf78c2f2dd7f810be5b..f3e0e2096ffbc6d2577bf1ffa34930855cd94102 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -330,6 +330,27 @@ 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 2ae800110dc90b7f2d96d2c05ba3a53aea6c0c53..85e5492a172bc493ef7d97dee355cab621f4aae8 100644
|
||||
index c38aff50c6f0bc37e539bb4d5206f7b6065fa680..d0e0ce953dd0cdd6b54bb00224e82dca62f793cd 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1546,4 +1546,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1650,4 +1650,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 a225da8118b25f15876d700f2b3b02b1c6bc5ddb..bc9929bff495947e140fa48624b26c8356aac596 100644
|
||||
index 4e23ff71e14be7b88abc0bbcb8523eeb87556310..ee1a16c9fa76685e43b47495cff95b2abe1c040b 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1331,13 +1331,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1332,13 +1332,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
itemstack1.setTag(nbttagcompound.copy());
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index a225da8118b25f15876d700f2b3b02b1c6bc5ddb..bc9929bff495947e140fa48624b26c83
|
||||
|
||||
this.updateBookPages(pages, (s) -> {
|
||||
return Component.Serializer.toJson(Component.literal(s));
|
||||
@@ -1349,10 +1352,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1350,10 +1353,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 a225da8118b25f15876d700f2b3b02b1c6bc5ddb..bc9929bff495947e140fa48624b26c83
|
||||
|
||||
Objects.requireNonNull(nbttaglist);
|
||||
stream.forEach(nbttaglist::add);
|
||||
@@ -1362,11 +1368,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1363,11 +1369,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 a225da8118b25f15876d700f2b3b02b1c6bc5ddb..bc9929bff495947e140fa48624b26c83
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1379,6 +1385,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1380,6 +1386,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 bc9929bff495947e140fa48624b26c8356aac596..7ef7863259e9a4ac892d3efe1a175dc754758604 100644
|
||||
index ee1a16c9fa76685e43b47495cff95b2abe1c040b..f82e2a6e3803645ec002afeb62ccb44c5ec15fde 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2842,6 +2842,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2844,6 +2844,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
AABB axisalignedbb = entity.getBoundingBox();
|
||||
|
||||
if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
|
||||
@@ -17,7 +17,7 @@ index bc9929bff495947e140fa48624b26c8356aac596..7ef7863259e9a4ac892d3efe1a175dc7
|
||||
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 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce0d646458 100644
|
||||
index 89981efcb852fed1ca79f8b239aa1f044d713c6d..183261a031a2a0b6b95dbb983236cee3cd3a0398 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 implements Targeting {
|
||||
@@ -28,7 +28,7 @@ index 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce
|
||||
public boolean aware = true; // CraftBukkit
|
||||
|
||||
protected Mob(EntityType<? extends Mob> type, Level world) {
|
||||
@@ -318,6 +319,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -320,6 +321,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
entityliving = null;
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ index 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce
|
||||
this.target = entityliving;
|
||||
return true;
|
||||
// CraftBukkit end
|
||||
@@ -364,9 +366,29 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -366,9 +368,29 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
this.playAmbientSound();
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ index 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce
|
||||
@Override
|
||||
protected void playHurtSound(DamageSource source) {
|
||||
this.resetAmbientSoundTime();
|
||||
@@ -556,6 +578,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -558,6 +580,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
}
|
||||
|
||||
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
||||
@@ -74,7 +74,7 @@ index 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -626,6 +649,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -628,6 +651,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
this.aware = nbt.getBoolean("Bukkit.Aware");
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -86,7 +86,7 @@ index 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -1686,6 +1714,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
@@ -1692,6 +1720,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||
this.setLastHurtMob(target);
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ index 1445bd7503a45e52974d147bfdc98b6a52a58233..5bff6bf091a61d1414ca1408960d50ce
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e20c7b8b3abc40dc0d39a8df2e5ee21f3695a447..15014ea6bc22892bd6fb9382f172ffd97cdedf4e 100644
|
||||
index f3e0e2096ffbc6d2577bf1ffa34930855cd94102..bf122a8219ed6259f7f1face69fbf246a1fcdc4d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -127,6 +127,11 @@ public class PurpurWorldConfig {
|
||||
@@ -36,10 +36,10 @@ index 60485e1d5abcc01698f364592d43d5dbc461cb7f..8dfc4763df3cd207e7200828f8237f68
|
||||
+ // 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 0ce0761af346194444ef0bedce02493583cc5ea8..f069cf9a4fe6a554291de2de41880ba569d0c86d 100644
|
||||
index 063ba101f751deecfbd7708b767e952fc4a273a3..e41d27f486c5efa1269822c177bc2f1214d27b58 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -411,6 +411,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -410,6 +410,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
double d1 = this.level.getWorldBorder().getDamagePerBlock();
|
||||
|
||||
if (d1 > 0.0D) {
|
||||
@@ -48,7 +48,7 @@ index 0ce0761af346194444ef0bedce02493583cc5ea8..f069cf9a4fe6a554291de2de41880ba5
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 15014ea6bc22892bd6fb9382f172ffd97cdedf4e..0b1b14746be9aa10fb5d48b820395b505e79cb74 100644
|
||||
index bf122a8219ed6259f7f1face69fbf246a1fcdc4d..2cbab8dc920fff0d1573072b791f39debd61a710 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -246,6 +246,7 @@ public class PurpurWorldConfig {
|
||||
@@ -25,7 +25,7 @@ index 2cbab8dc920fff0d1573072b791f39debd61a710..6b2a2b898d8a4b75f7c9d1ec7112e4f7
|
||||
|
||||
public boolean spiderRidable = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 5fde2a74385e621ae96922fd8aa6e386f5b780bb..8a846e821f763f0c47ca43376d857cdc0ada763c 100644
|
||||
index f1abcd9c63d7bb9797f05e3764262e0080c60da2..00744aceb25ddc689b8c5ed90ae27e1ea28057ad 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 5fde2a74385e621ae96922fd8aa6e386f5b780bb..8a846e821f763f0c47ca43376d857cdc
|
||||
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 10e9786b03618232f67cdd88e68161f96ea97ca4..a6d6faf9fed28a97de763e2bd0af38fa9656517e 100644
|
||||
index 979bbbf4229a9355b31913454cb565fc98049911..aa95cd7e04e25dec63c172d219f1f16cd6c9c4b5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -775,7 +775,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -780,7 +780,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
|
||||
@Override
|
||||
public boolean canBreed() {
|
||||
@@ -17,7 +17,7 @@ index 31ac0e5ca26c7bdfa9b710d0bb78d846ddf6863e..feb65fc9ee04141fe6f77400660442ed
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index d1cd6f374f4ea26bfbb40a8918a34082e72be491..7e5975ee115ea69896f9d1406856a4442f30f91d 100644
|
||||
index 992b4fd09aeb6ef23310b1351b8dec38e4527c8d..4be13340ff4de6205b0e35f60e785ad458d7539c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -363,6 +363,11 @@ public class PurpurWorldConfig {
|
||||
@@ -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 d2d7511ababe945edc2f22038c2c5531ed1b8b7e..56781b5cf331400703bdda49508390651b506208 100644
|
||||
index e41d27f486c5efa1269822c177bc2f1214d27b58..91d4f504b3f2992c8d98b8d75504229101816139 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1543,6 +1543,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1551,6 +1551,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index d2d7511ababe945edc2f22038c2c5531ed1b8b7e..56781b5cf331400703bdda4950839065
|
||||
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 7e5975ee115ea69896f9d1406856a4442f30f91d..68dda88f2d6eea8fb84f3db5877375e33a87b204 100644
|
||||
index 4be13340ff4de6205b0e35f60e785ad458d7539c..e683f958f1d2afca87b7e337d04151b7aba35efb 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 {
|
||||
@@ -41,7 +41,7 @@ index 9598aa381978194fee859721731196f0e6ee08fc..2db46452d374f9b53db7bd80be5fbd9c
|
||||
|
||||
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 88bd6c7e9902002dcdb5997ae5294fd5f99a2142..1d48314c274ac75735014b601d004e8c88d86298 100644
|
||||
index 5fd70f3cb91fa4f965f829a354155f5d075f485f..994b43f68127ab6f10e86efa079f0f833be352be 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -321,8 +321,10 @@ public class PurpurWorldConfig {
|
||||
@@ -64,7 +64,7 @@ index 8475a8514b39d543cc7cf0dbfef6d2aabb6127d0..2281dba58d32b6314a7abcdb103c03c7
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1d48314c274ac75735014b601d004e8c88d86298..05404b37c6a1974ead2f630cf5405c9489cc6463 100644
|
||||
index 994b43f68127ab6f10e86efa079f0f833be352be..c336b4df270b324e6ef8a897c8cafcfd7d0c9c7d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -299,6 +299,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 b8007196d117fa30722b81fc1cf8f1ce04c97c68..f3a1bd8509b49ea69282567c08eef1e603d3afb2 100644
|
||||
index 944ccfacd740ea0cdd0b8ffbd75bd2e561ebad9b..314a2a31079fcb7619ff9ebef8e6cf161f5c7c9c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -306,7 +306,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -308,7 +308,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
private Component description;
|
||||
@Nullable
|
||||
private ResourceLocation lootTable;
|
||||
@@ -19,10 +19,10 @@ index b8007196d117fa30722b81fc1cf8f1ce04c97c68..f3a1bd8509b49ea69282567c08eef1e6
|
||||
|
||||
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 da8d81bfba08f1e6e2b789e960b1d39692bb990b..9f78f0e28aff1c9b77520140d3c24b0c8d9b196d 100644
|
||||
index b24d890fb9a85434d612c57b4a8763652565d017..d8123aa5585cb4c0cc1210ced04fdf08f731fdb2 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 c9b2798db90a6743112caa80992d6547c8b8d996..b5552ede65f9acf86880909f822fab08eb9e75a8 100644
|
||||
index 3726b52e088d745285864fb2fb99cbb1aa5963d8..ac6d250f143ea0198a823f2c24166bfa891adfe9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4184,6 +4184,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4218,6 +4218,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ index c9b2798db90a6743112caa80992d6547c8b8d996..b5552ede65f9acf86880909f822fab08
|
||||
+ // 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 0c2b930a0fc5e32afd12a4850acaaa7eb732fc01..de1bf4aea2661763948aba01d93e7685f3ef73cb 100644
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index c928b8451815ac68b45bd5ac4e0ebbea5be82e34..5cdce4da91905c955d1daf2490338bbc4a1461c5 100644
|
||||
index ac6d250f143ea0198a823f2c24166bfa891adfe9..d3d920d647168c8c7445f526726736d454ccaffc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2906,7 +2906,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -2940,7 +2940,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public void handleInsidePortal(BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
this.setPortalCooldown();
|
||||
@@ -17,7 +17,7 @@ index c928b8451815ac68b45bd5ac4e0ebbea5be82e34..5cdce4da91905c955d1daf2490338bbc
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3598,7 +3598,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -3632,7 +3632,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
@@ -27,7 +27,7 @@ index c928b8451815ac68b45bd5ac4e0ebbea5be82e34..5cdce4da91905c955d1daf2490338bbc
|
||||
|
||||
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 73039cf2e685514a7c6a553310c27c4d42b06054..049aed0affed3a169c79fbd8371bf452a249e65a 100644
|
||||
index 404300394bf9e4e7ff43cae3c39e8898382e5ac0..c68801aa022a59155d37bb8a930a5cbef4b91dfa 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -100,6 +100,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 057f4b71ff295cf6fed9cc5b86aa40345e448af3..34a2fd0ad0bdca9488093364d255e190173debfa 100644
|
||||
index a7c153f957af48cf42ecbb01ada5f8f384c4e5e4..5a6c5972f6044cc4bda46259679d7ca19f2d7704 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -543,7 +543,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -59,7 +59,7 @@ index ae9f9112ce9bec82e7571f679017f1723d9eb982..6f8f03c868b671ea42b45aea97d823fe
|
||||
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 f24ea5c30b5a608ee3b0d5dc7e17af1447391471..47e90f13c3b829dcf89160f743091c221c725c78 100644
|
||||
index 146dfeddb9572eb017e137656c849dcd15162db8..dd70c75ef196dec6e3c781695240fb74fbbf48c7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -71,6 +71,12 @@ public class PurpurWorldConfig {
|
||||
@@ -49,7 +49,7 @@ index fabce3bc592b1b172b227395a07febdbb66ec3c9..df48bcc8f329e3855bb7426bdfe0e3c7
|
||||
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 47e90f13c3b829dcf89160f743091c221c725c78..8fd3ca92d8d3ac07cc4c0a3bd9b54ead9d4c6f7c 100644
|
||||
index dd70c75ef196dec6e3c781695240fb74fbbf48c7..f5e89d6193b4bb032355571320fbc56fd1ef934b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -111,6 +111,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 8fd3ca92d8d3ac07cc4c0a3bd9b54ead9d4c6f7c..185d1055a5f9567707f5464c447a3d496ad1331d 100644
|
||||
index f5e89d6193b4bb032355571320fbc56fd1ef934b..8b7da9f1e1c073b1cf93aa403aadf0b42da9a1e6 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -292,6 +292,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 19f16d8b71ba7fe636326ef0990134518c7ab1ed..ea9354c558c13bc6a2d85c289230911ae7e964f7 100644
|
||||
index e279df79e3ce5a12205c45c611e252bfaa6ffbdb..7853ce4653b379d1510e62bec0d784620e9e5347 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -142,6 +142,17 @@ public class PurpurWorldConfig {
|
||||
@@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
|
||||
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
|
||||
this.gameTime = time;
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 49504728dd67343cd9b5a57e9a82fb447a2aeda9..a4c59668906df746117d7fe6ac4bafc1180d6d8e 100644
|
||||
index 899bf1a7820f480fa20a68c480c3aaae926a1a3e..156018623d8723c397a8548c9def80ba28a88e75 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1519,7 +1519,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1521,7 +1521,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 49504728dd67343cd9b5a57e9a82fb447a2aeda9..a4c59668906df746117d7fe6ac4bafc1
|
||||
}
|
||||
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 34a2fd0ad0bdca9488093364d255e190173debfa..e017da4617a62169d8888b8f86e6b3abc0ad1ba0 100644
|
||||
index 5a6c5972f6044cc4bda46259679d7ca19f2d7704..682faf5ae551b379bf51f01f616a76400eb21f3d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -212,6 +212,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -51,7 +51,7 @@ index 34a2fd0ad0bdca9488093364d255e190173debfa..e017da4617a62169d8888b8f86e6b3ab
|
||||
}
|
||||
|
||||
public void setWeatherParameters(int clearDuration, int rainDuration, boolean raining, boolean thundering) {
|
||||
@@ -778,6 +781,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -792,6 +795,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 34a2fd0ad0bdca9488093364d255e190173debfa..e017da4617a62169d8888b8f86e6b3ab
|
||||
this.setDayTime(this.levelData.getDayTime() + 1L);
|
||||
}
|
||||
|
||||
@@ -786,7 +796,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -800,7 +810,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
|
||||
public void setDayTime(long timeOfDay) {
|
||||
this.serverLevelData.setDayTime(timeOfDay);
|
||||
@@ -88,7 +88,7 @@ index 34a2fd0ad0bdca9488093364d255e190173debfa..e017da4617a62169d8888b8f86e6b3ab
|
||||
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 4b089c194b5aba184287d23fcbf189bb329719b9..7e0db769530e4af48a2df1acf9becd0889938149 100644
|
||||
index 7853ce4653b379d1510e62bec0d784620e9e5347..1faa69be3acd182d9c7d676b05c820ab1b6eff06 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -124,6 +124,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