mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
first 50 patches done
This commit is contained in:
@@ -5,27 +5,25 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index f6cd7b910ce41a254e71bf0fcfe93c38abbb1445..139e2b17b899da6f0147bb8b4412e2e54e817be4 100644
|
||||
index 26618ddf85952694ae2c78f41a19e4b9a324f059..a20880e771091f6ab9cb7f8e03b7cf97fc8db9df 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -13,12 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||
val alsoShade: Configuration by configurations.creating
|
||||
|
||||
dependencies {
|
||||
- implementation(project(":pufferfish-api")) // Pufferfish // Paper
|
||||
- // Pufferfish start
|
||||
- implementation("io.papermc.paper:paper-mojangapi:1.19.2-R0.1-SNAPSHOT") {
|
||||
- implementation(project(":paper-api"))
|
||||
- implementation(project(":paper-mojangapi"))
|
||||
+ // Purpur start
|
||||
+ implementation(project(":purpur-api"))
|
||||
+ implementation("io.papermc.paper:paper-mojangapi:${project.version}") {
|
||||
exclude("io.papermc.paper", "paper-api")
|
||||
}
|
||||
- // Pufferfish end
|
||||
+ exclude("io.papermc.paper", "paper-api")
|
||||
+ }
|
||||
+ // Purpur end
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -56,6 +56,10 @@ dependencies {
|
||||
@@ -52,6 +56,10 @@ dependencies {
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.7.3")
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.3")
|
||||
|
||||
@@ -33,19 +31,19 @@ index f6cd7b910ce41a254e71bf0fcfe93c38abbb1445..139e2b17b899da6f0147bb8b4412e2e5
|
||||
+ implementation("org.mozilla:rhino-engine:1.7.14") // Purpur
|
||||
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
|
||||
+
|
||||
// Pufferfish start
|
||||
implementation("org.yaml:snakeyaml:1.32")
|
||||
implementation ("com.github.carleslc.Simple-YAML:Simple-Yaml:1.8.4") {
|
||||
@@ -91,7 +95,7 @@ tasks.jar {
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
testImplementation("org.hamcrest:hamcrest-library:1.3")
|
||||
@@ -72,7 +80,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
- "Implementation-Version" to "git-Pufferfish-$implementationVersion", // Pufferfish
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Pufferfish // Purpur
|
||||
- "Implementation-Version" to "git-Paper-$implementationVersion",
|
||||
+ "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -168,7 +172,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -149,7 +157,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -162,7 +160,7 @@ index c5d5648f4ca603ef2b1df723b58f9caf4dd3c722..3cb56595822799926a8141e60a42f5d1
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||
diff --git a/src/main/java/net/minecraft/CrashReport.java b/src/main/java/net/minecraft/CrashReport.java
|
||||
index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438af293e22 100644
|
||||
index 1d714d3eff11ed14f218656008190017494d4830..ed3527612315e6e0649182ce4e1ae2834b0918a9 100644
|
||||
--- a/src/main/java/net/minecraft/CrashReport.java
|
||||
+++ b/src/main/java/net/minecraft/CrashReport.java
|
||||
@@ -123,6 +123,10 @@ public class CrashReport {
|
||||
@@ -177,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 67cba5cf510e4a602121e10c015a491650127752..ec6ac4baedf3fa7edd80695112b228a642baf4e2 100644
|
||||
index 8f0769d248c7f3cce753130147223403c7923304..34ece9ef681db6ebd0081e676e5eb9a0747442c4 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -922,7 +922,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -905,7 +905,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
shutdownThread = Thread.currentThread();
|
||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||
if (!isSameThread()) {
|
||||
@@ -189,25 +187,25 @@ index 67cba5cf510e4a602121e10c015a491650127752..ec6ac4baedf3fa7edd80695112b228a6
|
||||
while (this.getRunningThread().isAlive()) {
|
||||
this.getRunningThread().stop();
|
||||
try {
|
||||
@@ -1694,7 +1694,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1693,7 +1693,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- return "Pufferfish"; // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return "Purpur"; // Purpur - Purpur > // Pufferfish - Pufferfish > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
- return "Paper"; // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
+ return "Purpur"; // Purpur - Purpur > // Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla!
|
||||
}
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 74c46cea456f4a736325892bb7b4d0f1b35b62cd..4a5804e14b82229fc4b4bf44725d79f55d0d4c80 100644
|
||||
index 7e38dd8b7015f8f648c551ab0a83c4822bfa37a0..4bd1410ab694a85d828da59615cfbc4fa0b4d237 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -265,7 +265,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
- private final String serverName = "Pufferfish"; // Paper // Pufferfish
|
||||
+ private final String serverName = "Purpur"; // Paper // Pufferfish // Purpur
|
||||
- private final String serverName = "Paper"; // Paper
|
||||
+ private final String serverName = "Purpur"; // Paper // Purpur
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
@@ -239,7 +237,7 @@ index 4e56018b64d11f76c8da43fd8f85c6de72204e36..9607675e6c5bff2183c4420d11fc63ee
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index b25f5931f836fd4d8695120f0bcb7c52deff8583..9e3baf31775326e67a5a3bd5d9e836833b4810ba 100644
|
||||
index fe2124694eb080cab685a1ce1f6a66e2fcdf6a17..feb5f25886889710d51ab2a88192727c948322ca 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -912,7 +912,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -265,33 +263,33 @@ index d7ce4971d9271dbeff4adb9d852e4e7bdf60bf03..5a47a8785bc2e251d041f80a79295c43
|
||||
// (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 2b4581f92543c11f31bcc1417e90d7f90b2aea20..ffca5970a6259b024c9aa935e22cf72ed8cd8e9f 100644
|
||||
index 96f6e0554baf5915dd1f5b93f3bcfe7a13393c29..17c09c532838aeeb014b6884b6907151f6c82d13 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -470,7 +470,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
@@ -452,7 +452,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
- return new gg.pufferfish.pufferfish.PufferfishVersionFetcher(); // Pufferfish
|
||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Pufferfish // Purpur
|
||||
- return new com.destroystokyo.paper.PaperVersionFetcher();
|
||||
+ return new com.destroystokyo.paper.PaperVersionFetcher(); // Purpur - TODO: Pufferfish
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
index 80553face9c70c2a3d897681e7761df85b22d464..99597258e8e88cd9e2c901c4ac3ff7faeeabee2b 100644
|
||||
index 774556a62eb240da42e84db4502e2ed43495be17..fb87620c742ff7912f5e8ccd2a7930dd605576d9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||
public static String getBukkitVersion() {
|
||||
String result = "Unknown-Version";
|
||||
|
||||
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/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
|
||||
- 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
|
||||
Properties properties = new Properties();
|
||||
|
||||
if (stream != null) {
|
||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
index 98fba0288be9ed2cb18ffba5cf81148157dd4fcf..0801dea155048ac5383295f4fef9bd597b678535 100644
|
||||
index 50c72e5db369a180f425eaaa0411cb8871bc3463..dbd502761ff6e6efb252bb41376a7ff028c73895 100644
|
||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
+++ b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
@@ -96,7 +96,7 @@ public final class WatchdogThread extends io.papermc.paper.util.TickThread // Pa
|
||||
@@ -5,42 +5,33 @@ 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 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f8cf3a551 100644
|
||||
index 4b002e8b75d117b726b0de274a76d3596fce015b..07665c89af795d76fab5fb70b4ecc7e8be68cab2 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("Pufferfish", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish
|
||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Pufferfish // Purpur
|
||||
- Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger());
|
||||
+ Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur
|
||||
|
||||
metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> {
|
||||
String minecraftVersion = Bukkit.getVersion();
|
||||
@@ -602,16 +602,8 @@ public class Metrics {
|
||||
@@ -602,7 +602,8 @@ public class Metrics {
|
||||
}));
|
||||
|
||||
metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size()));
|
||||
- metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline"));
|
||||
- final String paperVersion;
|
||||
- final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
||||
- if (implVersion != null) {
|
||||
- final String buildOrHash = implVersion.substring(implVersion.lastIndexOf('-') + 1);
|
||||
- paperVersion = "git-Pufferfish-%s-%s".formatted(Bukkit.getServer().getMinecraftVersion(), buildOrHash); // Pufferfish
|
||||
- } else {
|
||||
- paperVersion = "unknown";
|
||||
- }
|
||||
- metrics.addCustomChart(new Metrics.SimplePie("pufferfish_version", () -> paperVersion)); // Pufferfish
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur
|
||||
+ metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() != null) ? org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion() : "unknown")); // Purpur
|
||||
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
final String paperVersion;
|
||||
final String implVersion = org.bukkit.craftbukkit.Main.class.getPackage().getImplementationVersion();
|
||||
if (implVersion != null) {
|
||||
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
index 0de2eae2d448ac9e269a4edf48406d5ea8af8059..f03fd95412883a3a5bbe2b91c603874bf147e6cb 100644
|
||||
index 56ae02aab93b9a698e9d2f07a0448aa4767169d9..756651db912068c837197a972e95bc66ab9d4a70 100644
|
||||
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||
@@ -336,6 +336,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
|
||||
@@ -332,6 +332,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +63,7 @@ index 0de2eae2d448ac9e269a4edf48406d5ea8af8059..f03fd95412883a3a5bbe2b91c603874b
|
||||
boolean flag1 = this.source.acceptsSuccess() && !this.silent;
|
||||
boolean flag2 = broadcastToOps && this.source.shouldInformAdmins() && !this.silent;
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 10501842887c1ffdb6bb667480682b7174fd89c6..f8e39a8d6bb1b910ac71931a51d8a36d49d30d10 100644
|
||||
index 18348d01003c8b3299ae3d5292fd9e50f9153cce..546c233c0049c88610baa405f932bbd1d8ddf2fb 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,19 +83,19 @@ index 10501842887c1ffdb6bb667480682b7174fd89c6..f8e39a8d6bb1b910ac71931a51d8a36d
|
||||
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 2f1b2160684bf60715cff541834b714ce62a0241..f8615d9714ac6a9c83d881d6d89b1182a0f0d835 100644
|
||||
index ce422c31385d9518e798c7a3456fad747b09ea61..5101c5d3b2dc4b9ae72d2c9bc8bbe83ad6836515 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -176,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -175,6 +175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||
+ public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -287,6 +288,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
|
||||
@@ -212,6 +213,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) { // Paper
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
||||
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
@@ -112,10 +103,10 @@ index 2f1b2160684bf60715cff541834b714ce62a0241..f8615d9714ac6a9c83d881d6d89b1182
|
||||
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 3234f6c53d931c13d47a58f8bb16e22b52389b4a..3cdb675a5ae2ca3e4694d379ffe4fdb4f7831e63 100644
|
||||
index 4bd1410ab694a85d828da59615cfbc4fa0b4d237..1225adadac3b4dd0e371b77efd8f30e99b71c4b9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1037,6 +1037,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1039,6 +1039,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
this.console.paperConfigurations.reloadConfigs(this.console);
|
||||
@@ -123,7 +114,7 @@ index 3234f6c53d931c13d47a58f8bb16e22b52389b4a..3cdb675a5ae2ca3e4694d379ffe4fdb4
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -1052,6 +1053,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1054,6 +1055,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
@@ -131,7 +122,7 @@ index 3234f6c53d931c13d47a58f8bb16e22b52389b4a..3cdb675a5ae2ca3e4694d379ffe4fdb4
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -1067,6 +1069,7 @@ public final class CraftServer implements Server {
|
||||
@@ -1069,6 +1071,7 @@ public final class CraftServer implements Server {
|
||||
this.reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
|
||||
@@ -139,7 +130,7 @@ index 3234f6c53d931c13d47a58f8bb16e22b52389b4a..3cdb675a5ae2ca3e4694d379ffe4fdb4
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2917,6 +2920,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2914,6 +2917,18 @@ public final class CraftServer implements Server {
|
||||
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
|
||||
}
|
||||
|
||||
@@ -159,7 +150,7 @@ index 3234f6c53d931c13d47a58f8bb16e22b52389b4a..3cdb675a5ae2ca3e4694d379ffe4fdb4
|
||||
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 7c29d92362a82330440dff151bcf421f15c68f71..39e98f1c62f372bca97fa47df8e79af693830a4a 100644
|
||||
index e7746952417a3ca4ea97103e38568db42039f717..754a47528fb675ceae7020d7ae26d1f9d951d27c 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 {
|
||||
60
patches/server/0003-Purpur-client-support.patch
Normal file
60
patches/server/0003-Purpur-client-support.patch
Normal file
@@ -0,0 +1,60 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Fri, 30 Jul 2021 14:31:25 -0500
|
||||
Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 6a11b262a6f1cd5eba96471666098c82978027ff..8a6d072bf5bb00a7c2a0460b85ba93b549825374 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player {
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
+ public boolean purpurClient = false; // Purpur
|
||||
|
||||
// Paper start - replace player chunk loader
|
||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index 2a1cf4ff3d0cc062b593f5c58ee80b00395b097e..566a9449cf8a10fff9266a4384cfeb9492f4666e 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -56,6 +56,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
|
||||
private @Nullable String clientBrandName = null; // Paper - Brand name
|
||||
protected static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
||||
+ protected static final ResourceLocation PURPUR_CLIENT = new ResourceLocation("purpur", "client"); // Purpur
|
||||
|
||||
public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit
|
||||
this.server = minecraftserver;
|
||||
@@ -133,6 +134,13 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex);
|
||||
this.disconnect("Invalid payload REGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
||||
}
|
||||
+ // Purpur start
|
||||
+ } else if (identifier.equals(PURPUR_CLIENT)) {
|
||||
+ try {
|
||||
+ player.purpurClient = true;
|
||||
+ } catch (Exception ignore) {
|
||||
+ }
|
||||
+ // Purpur end
|
||||
} else if (identifier.equals(CUSTOM_UNREGISTER)) {
|
||||
try {
|
||||
String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index e188bb3ba5d2ec28421947c0b66b25eecb569bfe..5bcd736cae259e0aa425d709a61c680d80447631 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3283,4 +3283,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public boolean usesPurpurClient() {
|
||||
+ return getHandle().purpurClient;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix decompile errors
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/Painting.java b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
||||
index 0f4ef103afcbabc04880c8fc3547b861341c15fc..d5784a19cec98eb199a51acd9e1f4de8c6bf7265 100644
|
||||
index d9016807bc21c38a5c38170e1335c79b39355bcb..03c065d0ad97d29f3586ba2bf3cd207b867ed634 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/Painting.java
|
||||
@@ -121,7 +121,7 @@ public class Painting extends HangingEntity implements VariantHolder<Holder<Pain
|
||||
@@ -18,10 +18,10 @@ index 0f4ef103afcbabc04880c8fc3547b861341c15fc..d5784a19cec98eb199a51acd9e1f4de8
|
||||
this.direction = Direction.from2DDataValue(nbt.getByte("facing"));
|
||||
super.readAdditionalSaveData(nbt);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
||||
index c1abeb62f63d2f8fb891efec8f76c6736b8f7f75..7815af9b64ead32d6f7bcad6f86b2d21ec4aec22 100644
|
||||
index b79c86272f12c4b1173ea494cbe09e1ecdc23533..11275a9ec6faa69c9f054683cb47312e443ba883 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
||||
@@ -182,7 +182,7 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
|
||||
@@ -184,7 +184,7 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
|
||||
|
||||
@Override
|
||||
public Brain<Zoglin> getBrain() {
|
||||
@@ -44,10 +44,10 @@ index d02ee11066fc4f07ccb110b09b86d895ff90d4f2..e1be4a77fae0b9120781f460079269b8
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||
index 877035b6c6593a28f475b9c5bcd7727e3fcdb802..0453397c157c8c7968947445f41bc46b68b111e8 100644
|
||||
index d5654cfe37bd82f1290b280990a8502432491ae1..b49e02ac7b3db9a5b79ce3f106ead19af4e7cfa6 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/Blocks.java
|
||||
@@ -1159,7 +1159,7 @@ public class Blocks {
|
||||
@@ -1160,7 +1160,7 @@ public class Blocks {
|
||||
}
|
||||
|
||||
private static Boolean ocelotOrParrot(BlockState state, BlockGetter world, BlockPos pos, EntityType<?> type) {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0c3da427151d9a2ce1ca69acff283a153bd758f7..944866d42dbb4732f669c8c697934fdf0c212978 100644
|
||||
index 8a6d072bf5bb00a7c2a0460b85ba93b549825374..c30c707fc08493b9ee0c8d48652df80e55b8764f 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1780,6 +1780,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -1782,6 +1782,26 @@ public class ServerPlayer extends Player {
|
||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||
}
|
||||
|
||||
@@ -36,10 +36,10 @@ index 0c3da427151d9a2ce1ca69acff283a153bd758f7..944866d42dbb4732f669c8c697934fdf
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index f097ec5b4e3ad6b1a7c464a8cff4f8b2568fcf4f..78636bf26ac8efaffd8a8f4b5bbc703d6b670b7c 100644
|
||||
index ba415d400c706c0483c0dc8da959b5ff39de1f4d..2fcf7f80be5f6a96c4ed45459fef3ced1f9e3813 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1045,6 +1045,20 @@ public abstract class PlayerList {
|
||||
@@ -1039,6 +1039,20 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -81,10 +81,10 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9
|
||||
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 36795968f4c296f680f79cc5a795391ae13c64e4..6951b47abb5d36cdd9fe200152a93155c31aedaf 100644
|
||||
index f20ae9153b7098980ce6c0e75fcbbb4da652661b..78ba2e50abc3b5575bead1b51f37b530f5a7c4d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4047,6 +4047,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -4054,6 +4054,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Fri, 30 Jul 2021 14:31:25 -0500
|
||||
Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index b382da838acc04a1c5d89064b4fa43bcdd38ae71..0c3da427151d9a2ce1ca69acff283a153bd758f7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -278,6 +278,7 @@ public class ServerPlayer extends Player {
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
+ public boolean purpurClient = false; // Purpur
|
||||
|
||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 6cafc20ce006872bedd28a34db11204c3c1fef58..c39070e445fc2e9a62d45ba88471525e06ddb807 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3574,6 +3574,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
|
||||
+ private static final ResourceLocation PURPUR_CLIENT = new ResourceLocation("purpur", "client"); // Purpur
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3598,6 +3599,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
|
||||
}
|
||||
+ // Purpur start
|
||||
+ } else if (packet.identifier.equals(PURPUR_CLIENT)) {
|
||||
+ try {
|
||||
+ player.purpurClient = true;
|
||||
+ } catch (Exception ignore) {
|
||||
+ }
|
||||
+ // Purpur end
|
||||
} else {
|
||||
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 3d5876cbadb5c8c02de751c3e15fc7f251ea7d35..ca91d359059303c40b2b914eac88666cde785f01 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3267,4 +3267,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
+
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public boolean usesPurpurClient() {
|
||||
+ return getHandle().purpurClient;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable entity base attributes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 14624fc143c9553930f181f7db93caecf24c0495..9e1124be5c6f297b4f6bc8a1bb2dc1476cac4d71 100644
|
||||
index 7f97cbb040e9d81ee3cccfddbed682bebaa4bda3..f859e05ddc13b4d27f73fbd2abd331f3c8804363 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -155,7 +155,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
// CraftBukkit end
|
||||
|
||||
public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -18,7 +18,7 @@ index 14624fc143c9553930f181f7db93caecf24c0495..9e1124be5c6f297b4f6bc8a1bb2dc147
|
||||
private static final int CURRENT_LEVEL = 2;
|
||||
public boolean preserveMotion = true; // Paper - keep initial motion on first setPositionRotation
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
index c6a06e07f0b4bb29b5f4c70dfa53ff6db2e4e6ea..730958dab7f074930cdccb88a89aa26e2b6a112b 100644
|
||||
index 75c278b67ad2b78766efd8f89c4c2ca7eb7cdcb2..dc99e7f0e6f173c1313c0d5e9ea5dd6bdbdac169 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
@@ -36,6 +36,11 @@ public class GlowSquid extends Squid {
|
||||
@@ -34,10 +34,10 @@ index c6a06e07f0b4bb29b5f4c70dfa53ff6db2e4e6ea..730958dab7f074930cdccb88a89aa26e
|
||||
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 8fdeda8939879eb070cdd8808263f4beaf144f9e..734ca15f79186cb0385b845c40ea56be7ab085cf 100644
|
||||
index e6b83abce3bbd2f5e89d02415bcc6b1a1b0b5da9..91f8f6c918ab5bc8a456b924b9b02b03905841aa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -287,6 +287,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -288,6 +288,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 8fdeda8939879eb070cdd8808263f4beaf144f9e..734ca15f79186cb0385b845c40ea56be
|
||||
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());
|
||||
@@ -302,6 +303,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -303,6 +304,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 8fdeda8939879eb070cdd8808263f4beaf144f9e..734ca15f79186cb0385b845c40ea56be
|
||||
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 e184d2a89a89d4bf77a32a2d610175c5bbd38a03..c283900e6c43fda62428a6e6d8b70e512458e779 100644
|
||||
index 2ee2097ebf7753d63a99fdf492da374849a345eb..41ac8d2cb5424aecb58158122009b5dca9b51b55 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
|
||||
@@ -264,6 +264,18 @@ public class Bat extends AmbientCreature {
|
||||
@@ -94,10 +94,10 @@ index 706ae64b894709601dccfb621d3c215f073e98e9..e7f95639a442cf602fef0ed7aec0f5f9
|
||||
public int getRemainingPersistentAngerTime() {
|
||||
return (Integer) this.entityData.get(Bee.DATA_REMAINING_ANGER_TIME);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
index 90ec526b135a6de6e7ba16fdd3a113ef92b42ef6..49a6ac765e71b311c91cbfd4cf9cde2daa729239 100644
|
||||
index 3e89e788c796fe168e43a6b78c0d6c1fc077fc78..87642c1c2c1f39a1c2029797bab73f60c19a1080 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
|
||||
@@ -122,6 +122,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
||||
@@ -123,6 +123,11 @@ public class Cat extends TamableAnimal implements VariantHolder<CatVariant> {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -110,10 +110,10 @@ index 90ec526b135a6de6e7ba16fdd3a113ef92b42ef6..49a6ac765e71b311c91cbfd4cf9cde2d
|
||||
return this.getVariant().texture();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
index 600b7b4e510871de0dee4051158d344734f04966..ea404a84a43a02a5614d5142bb78a586edfc69f6 100644
|
||||
index 89e93366395136af826d26be2b85ac881e0dfacc..3c06fe81e2e1d7bd546ead0d13d87cbe7e2e7b5b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -71,6 +71,11 @@ public class Chicken extends Animal {
|
||||
@@ -72,6 +72,11 @@ public class Chicken extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -142,10 +142,10 @@ index e2a98b45e56a368de19bb65e304370a5998c7cb9..3d61c2d5da103de68242c16d85c70381
|
||||
public ItemStack getBucketItemStack() {
|
||||
return new ItemStack(Items.COD_BUCKET);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 11082cf272b72123d8917baa9a0d0e5367dca66b..621fe1c08dda65934437eeab679b6e5cd2d11d3d 100644
|
||||
index b0cff23aa6f841ad291437964ea5bebb6395de84..f440eabffb1abe4c7370bf7badf6137a22f99071 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -59,6 +59,11 @@ public class Cow extends Animal {
|
||||
@@ -62,6 +62,11 @@ public class Cow extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -174,10 +174,10 @@ index 3dab78e2f39855f71bb7294521be71b3faa59b81..89e3dbfddc739f97fdb6ec9a5714530f
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index e0a21a0e8ff29f5b634fcb312881a1a93c6c3a44..d6370eb9af9842710052e0e497af52122f265488 100644
|
||||
index 7d692f61ed4c6cc8e6b94eda4f48e9cb6baa0ae2..5a7f4c0565b2d8f95930b39e1aacd9904e382736 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -179,6 +179,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -182,6 +182,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -206,7 +206,7 @@ index 6815d7350a82c6d32f60aa6116466ebd06a920f9..95ff109511c97d603aeaf9e73c49397a
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 7b0e3b46e3d318ee856d53cfc5532f3432447438..780a11339d2492dd607e3ef91867ffbb9062e2cd 100644
|
||||
index 9a84599457bbd14314e0c4f3fa8bf30bec8da347..e3fe62285ced917de6817916e99483e117008670 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
@@ -80,6 +80,11 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
@@ -222,10 +222,10 @@ index 7b0e3b46e3d318ee856d53cfc5532f3432447438..780a11339d2492dd607e3ef91867ffbb
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
return world.getBlockState(pos.below()).is(Blocks.MYCELIUM) ? 10.0F : world.getPathfindingCostFromLightLevels(pos);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
index c25549d516072bdb362f78efce3da730e08f3ccc..20da70182312f4c30e21528add44540ea2b60e42 100644
|
||||
index 66f80ec010909648278c4e74c80d3766b9cf6c6a..14daac1a87e32e0ff0a610aef256e20cbfe50001 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java
|
||||
@@ -85,6 +85,11 @@ public class Ocelot extends Animal {
|
||||
@@ -87,6 +87,11 @@ public class Ocelot extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -238,10 +238,10 @@ index c25549d516072bdb362f78efce3da730e08f3ccc..20da70182312f4c30e21528add44540e
|
||||
return (Boolean) this.entityData.get(Ocelot.DATA_TRUSTING);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
index cc12b93b5c95202c4e3417e3a35e5f5c361b9767..81f502b19cfcfcd39f3d3b5754b6bce9c2645ccb 100644
|
||||
index 5b3a2010da3b6429da783f8263fd170a4fb8d80b..2832d7cbcfad43b3f0f6c33504cff68add85601d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java
|
||||
@@ -137,6 +137,12 @@ public class Panda extends Animal {
|
||||
@@ -140,6 +140,12 @@ public class Panda extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -254,7 +254,7 @@ index cc12b93b5c95202c4e3417e3a35e5f5c361b9767..81f502b19cfcfcd39f3d3b5754b6bce9
|
||||
@Override
|
||||
public boolean canTakeItem(ItemStack stack) {
|
||||
EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack);
|
||||
@@ -638,7 +644,10 @@ public class Panda extends Animal {
|
||||
@@ -641,7 +647,10 @@ public class Panda extends Animal {
|
||||
|
||||
public void setAttributes() {
|
||||
if (this.isWeak()) {
|
||||
@@ -267,10 +267,10 @@ index cc12b93b5c95202c4e3417e3a35e5f5c361b9767..81f502b19cfcfcd39f3d3b5754b6bce9
|
||||
|
||||
if (this.isLazy()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
index dc6bc1ecb11a8d1776be488de4df7243d196f330..1e0d8d276ef5eb2cc11a1effb5808de7f8f211d5 100644
|
||||
index a3cb82e65ea344de1889762f638e72fcf0a44714..fa8f9fdb873a65d3685b808c20b2d069dc1f3a90 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java
|
||||
@@ -191,6 +191,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
@@ -192,6 +192,11 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder<Parrot
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -283,10 +283,10 @@ index dc6bc1ecb11a8d1776be488de4df7243d196f330..1e0d8d276ef5eb2cc11a1effb5808de7
|
||||
@Override
|
||||
public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index 5e4712f90e6412f741b0ec47a86f238b8736af62..a22e5b6c13b48b46d16a859531d4231376bc1bfc 100644
|
||||
index 28f68a7383fe6e53541eb1b36ba73eb15723f0f7..6480e0f026e686b2d0a093d901d7f1e312a45021 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -81,6 +81,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -84,6 +84,11 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -299,7 +299,7 @@ index 5e4712f90e6412f741b0ec47a86f238b8736af62..a22e5b6c13b48b46d16a859531d42313
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
index 7ee4d9f8fc21a6357e713097f2060cbf1a1cbbed..48ec595e76c09cf719477a543364f1206664afa5 100644
|
||||
index 2b6efb46035c5695928643780bfbd5b5a2ed28e9..70b45c622a459ace397d4d54cd99e8ae7fc1ce65 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -94,6 +94,11 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -331,10 +331,10 @@ index 95383e246a8e1b311e4f26a66372966b6bc51de5..8b5bf8ef4481ccc829d1a39c09219415
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 8e747771fe023dfa4cf61e5166d017368ed746b0..9be247def3ab8c74c569f653ec971aaf1b5ed5c9 100644
|
||||
index f8989e0db656389fe04487d5d407aacc0add1797..23ede55b9b1198c72fe93b086129d4725d9352fe 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -137,6 +137,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -138,6 +138,11 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
wasOnGround = onGround;
|
||||
}
|
||||
@@ -363,10 +363,10 @@ index 87c442fb198cad8671ad1419e589a5a67c4fdca8..742805994f29a18af444912b10af631d
|
||||
public int getMaxSchoolSize() {
|
||||
return 5;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
index 0e2f10fa133281477ab96ba743266ade4d5f2119..3d212b09258b9777079d4bc7ce950f529cdce69e 100644
|
||||
index 80b91cdaffc0af25b9a8b13281519cf093928e85..c24299cb482beaef3e2e860475c66e068fa03eb1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
|
||||
@@ -134,6 +134,11 @@ public class Sheep extends Animal implements Shearable {
|
||||
@@ -136,6 +136,11 @@ public class Sheep extends Animal implements Shearable {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -427,10 +427,10 @@ index 71234b258157579d3a47064e7e299bb7fb90908f..7d02e552a27632939bb9c40a62f4e0df
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 46b71439efdab39c28d29684913bec2a1ba6491a..6ae82b6293f236fc926f411de2badc496b35399b 100644
|
||||
index b9fb6c5527a621bc8012188d2e08604fe730e6c8..4b76c207c7f1eee6bdceebeeba50779557a2662a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -100,6 +100,11 @@ public class Turtle extends Animal {
|
||||
@@ -103,6 +103,11 @@ public class Turtle extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -443,10 +443,10 @@ index 46b71439efdab39c28d29684913bec2a1ba6491a..6ae82b6293f236fc926f411de2badc49
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 40d647d6b3132f8273d43a1addcb8c8116c7ec19..1a27e811169a58515c796344ffa1bb3c46d1014a 100644
|
||||
index 2efa2e19485f9d959a55115ab62f985454689379..eecdb1f1d49951cb8a294d176afd12c68fb6c3b1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -125,6 +125,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
@@ -127,6 +127,11 @@ public class Wolf extends TamableAnimal implements NeutralMob {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -459,7 +459,7 @@ index 40d647d6b3132f8273d43a1addcb8c8116c7ec19..1a27e811169a58515c796344ffa1bb3c
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index b76bead9c107889e9b2f11bdc24ad7da811f97ed..e1c0c122dde56b8dd797d1278340260150025cf9 100644
|
||||
index 74ea2d9fbd4967f666ac469ff4067fe0c597c655..ab04ea644615d2118d6fb1da95968cbb3139a6a2 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
|
||||
@@ -115,6 +115,11 @@ public class Axolotl extends Animal implements LerpingModel, VariantHolder<Axolo
|
||||
@@ -475,10 +475,10 @@ index b76bead9c107889e9b2f11bdc24ad7da811f97ed..e1c0c122dde56b8dd797d12783402601
|
||||
public Map<String, Vector3f> getModelRotationValues() {
|
||||
return this.modelRotationValues;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
index 76a38d235de3499ca19c3ccacd9289c7355012db..5ec8815cc69f5abe03a29224650edfb153c9f5d0 100644
|
||||
index 29108c481756d3150fd0ae69f6d249d127b11fdd..85a557b50498bb83eeec4125aa2ae14f3bfaaab8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
|
||||
@@ -326,6 +326,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
|
||||
@@ -320,6 +320,23 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
|
||||
return this.dashCooldown;
|
||||
}
|
||||
|
||||
@@ -503,10 +503,10 @@ index 76a38d235de3499ca19c3ccacd9289c7355012db..5ec8815cc69f5abe03a29224650edfb1
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.CAMEL_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index 4b656f4e1660978e3dd284093241003cabff4f23..7a7466092a2cd194abec3abdb77a7c649b4b433c 100644
|
||||
index 27050c00ea4e4b301d4c85528117fc1d87e6f1ef..ad4d4e38a2f0125e0943945c9440a9be80b60257 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -160,6 +160,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -162,6 +162,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -551,7 +551,7 @@ index 4b656f4e1660978e3dd284093241003cabff4f23..7a7466092a2cd194abec3abdb77a7c64
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur
|
||||
@@ -1258,7 +1296,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -1245,7 +1283,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
entityData = new AgeableMob.AgeableMobGroupData(0.2F);
|
||||
}
|
||||
|
||||
@@ -613,10 +613,10 @@ index 3e50581033e88e8eddcbd85bfa890cbe0b88a7e6..92339f5a07dcb6bf7eb1bce6d584464e
|
||||
protected void randomizeAttributes(RandomSource random) {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue((double)generateMaxHealth(random::nextInt));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 42d5b435728aa497dc34f0ac984e8637fe96343d..967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847 100644
|
||||
index 0549974c56ae7d05b5eec77029c5d08a6614a8bf..278c33b7de4472a746cdbc1faaa68e05592777bc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -122,6 +122,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -124,6 +124,21 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -665,10 +665,10 @@ index ae7bcfa608d8bdd2a2320618225294de0314ce53..abbeb305b2d09e9c4c02ade603adac5c
|
||||
protected SoundEvent getAmbientSound() {
|
||||
return SoundEvents.MULE_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
index aad898d61861ed6fc215864b598a57f4cedf5339..33e30545c303e28a99249151891c7568bf1a164d 100644
|
||||
index 6d5a37facc288ebb27d96c2451091ea299c16077..8ffba7c368f936ea5cdfc46c5fa76c3feb63e1ac 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/SkeletonHorse.java
|
||||
@@ -35,6 +35,21 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
@@ -38,6 +38,21 @@ public class SkeletonHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -717,10 +717,10 @@ index 5fc37e2322188e0db12f7679e40b1a3d40268ca7..4abb9d5fedf63eba9dc3f716d44ea118
|
||||
public boolean isTraderLlama() {
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
index 86029716d5538e28a8845375cc23d4bf408073ff..973c5045137850905126db91238dd8e59db7ddf6 100644
|
||||
index 6c03ad3d978378221db3e5bed947738bd710eae0..2e6b55a01e022252245c16ed310920bcba072975 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/ZombieHorse.java
|
||||
@@ -33,6 +33,21 @@ public class ZombieHorse extends AbstractHorse {
|
||||
@@ -34,6 +34,21 @@ public class ZombieHorse extends AbstractHorse {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -743,10 +743,10 @@ index 86029716d5538e28a8845375cc23d4bf408073ff..973c5045137850905126db91238dd8e5
|
||||
return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
index ffb3d8f057b09ab61b8d33b244e81d25587e6ae7..fad1b122cd3a929e60eb0f9c5b4c63a4bfae522e 100644
|
||||
index 13096fa2032679006f4264e03fdf86a71454f3ca..a5fd822713b56ebb2bec51364be715570ec056bb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
|
||||
@@ -107,6 +107,11 @@ public class Sniffer extends Animal {
|
||||
@@ -108,6 +108,11 @@ public class Sniffer extends Animal {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -759,10 +759,10 @@ index ffb3d8f057b09ab61b8d33b244e81d25587e6ae7..fad1b122cd3a929e60eb0f9c5b4c63a4
|
||||
@Override
|
||||
protected void defineSynchedData() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index c5100d3d8c36bf0c07f2028c5d3ec4bbe6e92256..9e85b252bedb5d0d532170e7aa57e02f2660965a 100644
|
||||
index 52920b603ef88f9f6e3dd7935292fe82fd0aab07..e50cf2e27900da6a9f7b4bb07fc4c2ee1ed52313 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -183,6 +183,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -185,6 +185,11 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -775,7 +775,7 @@ index c5100d3d8c36bf0c07f2028c5d3ec4bbe6e92256..9e85b252bedb5d0d532170e7aa57e02f
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 6674d1b184246ecce5270a6826b153903e4a5a88..e6d6341f895c763fee05db3a7a7e05a68b9d36e9 100644
|
||||
index 6c86411658ef0bf64cb8cf4f213112b65f2d1d90..6f7ef64612d6229179545d56093efdf58a2d7978 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
|
||||
@@ -112,6 +112,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -790,7 +790,7 @@ index 6674d1b184246ecce5270a6826b153903e4a5a88..e6d6341f895c763fee05db3a7a7e05a6
|
||||
@Override
|
||||
protected PathNavigation createNavigation(Level world) {
|
||||
FlyingPathNavigation navigationflying = new FlyingPathNavigation(this, world);
|
||||
@@ -427,7 +432,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -420,7 +425,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
|
||||
this.setInvulnerableTicks(i);
|
||||
if (this.tickCount % 10 == 0) {
|
||||
@@ -816,10 +816,10 @@ index 63049b0b4a4ae09e5925129dc363e43dbae23272..04226492a5655e4a3a9716590e2af7fc
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
||||
index 34abd8093015d7cdaf2faca2396d3950ca0a361b..2f7328286399a556f5a3862d71f2c6931f82d9d1 100644
|
||||
index 562faf0257388d9c22146a418f25716cef7471b8..c8bac8cb738ad96003a014b468681c43512ac4c4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/CaveSpider.java
|
||||
@@ -45,6 +45,11 @@ public class CaveSpider extends Spider {
|
||||
@@ -46,6 +46,11 @@ public class CaveSpider extends Spider {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -869,10 +869,10 @@ index c64c88ddd929d49fcfc6ebc2d0030bc86c8ac337..3cde608a222ab2ef2b5fc7f543e97ba7
|
||||
protected void addBehaviourGoals() {
|
||||
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
index 16486ece9fc415d875ff94d9b806b0b5884ebc11..48c28b5177c26c8ab07bb4960a71cddb7d4f543d 100644
|
||||
index 37afe706c5c453003ea96e62f376f45d7b8eb4a8..971210c1199ec48f28446e75d8d796a1f3f9a734 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java
|
||||
@@ -45,6 +45,11 @@ public class ElderGuardian extends Guardian {
|
||||
@@ -48,6 +48,11 @@ public class ElderGuardian extends Guardian {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -885,10 +885,10 @@ index 16486ece9fc415d875ff94d9b806b0b5884ebc11..48c28b5177c26c8ab07bb4960a71cddb
|
||||
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 dc359bb3a45a0b648933894e18d4ee6b51e3c7bc..948d352e01d0f167c25401a0c0ce8c1ef8553a24 100644
|
||||
index bc2b436b03548effa821311d35433bc328d54a91..346f14f77dfb18d6a11b6d8d7ca8b17ef1ccd285 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -113,6 +113,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -115,6 +115,11 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -901,10 +901,10 @@ index dc359bb3a45a0b648933894e18d4ee6b51e3c7bc..948d352e01d0f167c25401a0c0ce8c1e
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Endermite.java b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
index 638665391f7552d054965f7e449b96ec6bceb03d..21b02eaf6018aeab7da57b5274881e8f9ca49998 100644
|
||||
index 7fb02aab225a45e951ab1e7c6ba1c53f53d0fecd..336a22876bcf1cdfcd9d17d22f615d45c2863589 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Endermite.java
|
||||
@@ -54,6 +54,11 @@ public class Endermite extends Monster {
|
||||
@@ -55,6 +55,11 @@ public class Endermite extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -917,10 +917,10 @@ index 638665391f7552d054965f7e449b96ec6bceb03d..21b02eaf6018aeab7da57b5274881e8f
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
index 13e0fc756c6f572d0d688ae788e784eda6ce6d98..f71a70a72ba0bb01c26291ad9dbdd3b01bbf6ee7 100644
|
||||
index a566824074850724023830f6b6fa3728d0b2aa99..86999c7932216871b4b6e06d68168e3b48038a18 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java
|
||||
@@ -65,6 +65,11 @@ public class Evoker extends SpellcasterIllager {
|
||||
@@ -67,6 +67,11 @@ public class Evoker extends SpellcasterIllager {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -933,10 +933,10 @@ index 13e0fc756c6f572d0d688ae788e784eda6ce6d98..f71a70a72ba0bb01c26291ad9dbdd3b0
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ghast.java b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
index 9f09ccd41320423179dd1cf81c2a7094b88a008b..61068ae356a9ffc26c5fabc0b2561fda9540ff94 100644
|
||||
index 3f886ffb0aa8591e4ca8324301ae9a8eeac57ab4..edd3b7a855165eb090edb9ad95d36cdb649d231e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ghast.java
|
||||
@@ -132,6 +132,11 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
@@ -133,6 +133,11 @@ public class Ghast extends FlyingMob implements Enemy {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -949,10 +949,10 @@ index 9f09ccd41320423179dd1cf81c2a7094b88a008b..61068ae356a9ffc26c5fabc0b2561fda
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
index 33d9d90495efc8b80a8f948752becfb203ee8e63..3f7d21a5be726d301e1bcaa11f1788b51c23a7cd 100644
|
||||
index 198e3219e8f44eaea8ff1914c6c20efda172ff70..2a30499fd6f4a1340f6911f0f7f079bcbe8576a3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
@@ -37,6 +37,13 @@ public class Giant extends Monster {
|
||||
@@ -38,6 +38,13 @@ public class Giant extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -967,10 +967,10 @@ index 33d9d90495efc8b80a8f948752becfb203ee8e63..3f7d21a5be726d301e1bcaa11f1788b5
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return 10.440001F;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Guardian.java b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
index a893a8cb6f9aa79520d9a7814be459d48e3c6853..b3a8e98c6c094654a283387d5bf78fc9db93a85a 100644
|
||||
index 3a2ed35542c775a0712b3bec94b7292215e4fba5..74c4bcccb12b25eac50d061edbc2d2cb46ccb8df 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
@@ -93,6 +93,11 @@ public class Guardian extends Monster {
|
||||
@@ -94,6 +94,11 @@ public class Guardian extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -983,10 +983,10 @@ index a893a8cb6f9aa79520d9a7814be459d48e3c6853..b3a8e98c6c094654a283387d5bf78fc9
|
||||
protected void registerGoals() {
|
||||
MoveTowardsRestrictionGoal pathfindergoalmovetowardsrestriction = new MoveTowardsRestrictionGoal(this, 1.0D);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
||||
index 5beed21038f88ebb4826b66013d0ae45a1f1ec34..5f801b2a7d8a69a38b8e10471a29f813c8d828ad 100644
|
||||
index 774c15a91b0e988364acc33b8516ef132bcc9464..469ad6f0d73add7b005217b2ae39b201c7679a27 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -39,6 +39,16 @@ public class Husk extends Zombie {
|
||||
@@ -41,6 +41,16 @@ public class Husk extends Zombie {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1053,10 +1053,10 @@ index aad51022eac584fbc058c2b25e2bf1929fccca6f..b472309f97b24f1d7b97d8b6d464c479
|
||||
return Monster.createMonsterAttributes().add(Attributes.MOVEMENT_SPEED, (double)0.2F);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 8c8ff7d291999cc8ab251a145db000871050236f..961300cb8bcc7b0aff476a435aa33e713bd520a6 100644
|
||||
index 34de7704ad6bf6989fb83a1e24905098d7ba0123..8446ce22139fa2473c789cab67f4031a23f0d31d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -150,7 +150,10 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -151,7 +151,10 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
|
||||
private void updatePhantomSizeInfo() {
|
||||
this.refreshDimensions();
|
||||
@@ -1068,7 +1068,7 @@ index 8c8ff7d291999cc8ab251a145db000871050236f..961300cb8bcc7b0aff476a435aa33e71
|
||||
}
|
||||
|
||||
public int getPhantomSize() {
|
||||
@@ -180,6 +183,21 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -181,6 +184,21 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1107,10 +1107,10 @@ index 31d204d8d81ccc30371070af3678d82dc721618d..6a6349c7002439965422aa4979682b4c
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
index 8a99c74f1cb6b558421b11e8562ba6082492b2d2..92b14a6056dfbf07852fc0ee0e3eaf7b4c1657a4 100644
|
||||
index cfa324c6a75ac83cff4ba87034677d4e9415189e..28795558000d76fd255faabc79cc45600efa2c92 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java
|
||||
@@ -91,6 +91,11 @@ public class Ravager extends Raider {
|
||||
@@ -94,6 +94,11 @@ public class Ravager extends Raider {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1123,10 +1123,10 @@ index 8a99c74f1cb6b558421b11e8562ba6082492b2d2..92b14a6056dfbf07852fc0ee0e3eaf7b
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
index 3e5548d0489b13b4a1d5c22c9d3bf19ead87928e..7d96ba5adeddf52ed712e320d5f56a37f30e138a 100644
|
||||
index eea85643a2cedb5fd1a08892aea82b96b935e408..fde2a69f489e12d9c1ccee4522258d2746dcb2e0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java
|
||||
@@ -115,6 +115,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
@@ -114,6 +114,11 @@ public class Shulker extends AbstractGolem implements VariantHolder<Optional<Dye
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1139,10 +1139,10 @@ index 3e5548d0489b13b4a1d5c22c9d3bf19ead87928e..7d96ba5adeddf52ed712e320d5f56a37
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
index 3b782334e9654acb6748c65970bb62626481da69..43b330e263ebe20b76629c350bf7773220f6583e 100644
|
||||
index f5dda5ed4532c8572bc4f511c49377c262efe057..1738f0a251e4cab2eb3f122e83366afb02201765 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java
|
||||
@@ -62,6 +62,11 @@ public class Silverfish extends Monster {
|
||||
@@ -64,6 +64,11 @@ public class Silverfish extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1171,10 +1171,10 @@ index 4db19589d19d1a0e488ddd0b691e81152ac236e4..6250d2bd682ce3c421aeea598cf8ec90
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index c74db4080ad3d726c4b5cb374e20e6df2a262d2f..c46406a46f05d275eefd548420fce1dab716c765 100644
|
||||
index cf81e9ade3200251ca3a25eb0e5ce7dc852e396a..3870314f5d45ed1908b45ed08ff7932da66a0bad 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -101,6 +101,37 @@ public class Slime extends Mob implements Enemy {
|
||||
}
|
||||
return true; // do not jump() in wasd controller, let vanilla controller handle
|
||||
}
|
||||
@@ -1212,7 +1212,7 @@ index c74db4080ad3d726c4b5cb374e20e6df2a262d2f..c46406a46f05d275eefd548420fce1da
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -133,9 +164,9 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -135,9 +166,9 @@ public class Slime extends Mob implements Enemy {
|
||||
this.entityData.set(Slime.ID_SIZE, j);
|
||||
this.reapplyPosition();
|
||||
this.refreshDimensions();
|
||||
@@ -1225,10 +1225,10 @@ index c74db4080ad3d726c4b5cb374e20e6df2a262d2f..c46406a46f05d275eefd548420fce1da
|
||||
this.setHealth(this.getMaxHealth());
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
index 9f6eaf76a39a9c3e7aed2e0ce91960200b4de664..f302866ff34368c362540fa4163ad38060bf209f 100644
|
||||
index 3c3eb009f2d80d658447034c3df41070f254349b..52fa3d5426bb44cc9b9c0ebfd9c9d3b1adbc17a4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java
|
||||
@@ -68,6 +68,11 @@ public class Spider extends Monster {
|
||||
@@ -70,6 +70,11 @@ public class Spider extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1257,7 +1257,7 @@ index 137ee6d1aa8ec334009b6fab21b9f30303ace45f..2bfc34d300627c17b2b34442665527c3
|
||||
BlockPos blockPos = pos;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
index ccc76bf5431af723eef8e4d39c96daa44d1f6b5c..eedfd4dffdc5586a0b50769b17c5515e5ccac916 100644
|
||||
index bfd69abf24d788b5e539498d56ade57fcb78f580..9b853fd05a3a851cb08d7f849b51f2b220780982 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java
|
||||
@@ -117,6 +117,11 @@ public class Strider extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -1273,7 +1273,7 @@ index ccc76bf5431af723eef8e4d39c96daa44d1f6b5c..eedfd4dffdc5586a0b50769b17c5515e
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = pos.mutable();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vex.java b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
index 40f42c83d6417258123753ba9315ca27c2b43b22..764fdf4654b4fa2184493b77976fc29aedf592c2 100644
|
||||
index 566fa6f2f26139e457584b6e73fd8609efbf67d7..3f44b666a618d41b029905f463f507ad9217da0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vex.java
|
||||
@@ -107,6 +107,11 @@ public class Vex extends Monster implements TraceableEntity {
|
||||
@@ -1289,7 +1289,7 @@ index 40f42c83d6417258123753ba9315ca27c2b43b22..764fdf4654b4fa2184493b77976fc29a
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return dimensions.height - 0.28125F;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
index f8337259af80cede27e9a37c5634ccba9f837076..40858ac2a9b58108472748d0ef2c2fd5ef5cfd98 100644
|
||||
index 049e81af9d5cc746e872be9bdec80917e3137be3..fece613e9c182c6658f9df1d333a5b7e1e862218 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
|
||||
@@ -75,6 +75,11 @@ public class Vindicator extends AbstractIllager {
|
||||
@@ -1305,10 +1305,10 @@ index f8337259af80cede27e9a37c5634ccba9f837076..40858ac2a9b58108472748d0ef2c2fd5
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
index c7ceeb28b53879395c697cbb3778563511bc1209..289c9261d0019b558c4447a75b3b03229cdd9498 100644
|
||||
index c146d16acac7d3ea380b5e3591f22491c102d7a9..710c6fb948407c7cc79a5a0492b7172550071e35 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java
|
||||
@@ -74,6 +74,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
@@ -76,6 +76,11 @@ public class Witch extends Raider implements RangedAttackMob {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1321,7 +1321,7 @@ index c7ceeb28b53879395c697cbb3778563511bc1209..289c9261d0019b558c4447a75b3b0322
|
||||
protected void registerGoals() {
|
||||
super.registerGoals();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
index 45c7d673cb15fc002538c2713e36f591fe33de92..25e2aca9dafe63ccaf21dc42e79563c5a3c8e638 100644
|
||||
index 728e3c78fb17d954247cc62f05cdd970d8b5f540..8eb43574faef713b876d36155775fe2fa2505497 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
|
||||
@@ -52,6 +52,11 @@ public class WitherSkeleton extends AbstractSkeleton {
|
||||
@@ -1337,10 +1337,10 @@ index 45c7d673cb15fc002538c2713e36f591fe33de92..25e2aca9dafe63ccaf21dc42e79563c5
|
||||
protected void registerGoals() {
|
||||
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractPiglin.class, true));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
||||
index 393dde215894616c073efd28b529c9dac9815adc..323ec328226e3a46ef8afeaf07178bb9f4042134 100644
|
||||
index dc29e875c1e184c1c4553c127bb8c86dddf8c5ab..1d862dd019b2d024f61cfc8956430d18d94b1ebf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zoglin.java
|
||||
@@ -84,6 +84,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
|
||||
@@ -86,6 +86,11 @@ public class Zoglin extends Monster implements Enemy, HoglinBase {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1353,10 +1353,10 @@ index 393dde215894616c073efd28b529c9dac9815adc..323ec328226e3a46ef8afeaf07178bb9
|
||||
protected Brain.Provider<Zoglin> brainProvider() {
|
||||
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
index d3f1bcd9daeea282bef549ea18cedf0fc7a9ad8d..b3a31549179760388bc2958b4339848d1f0b293d 100644
|
||||
index fb4b3bb082e299723613a28831ff8f9c2eae7ffd..004de1b76734d9015537fa4885656101d2f07efa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
|
||||
@@ -123,6 +123,11 @@ public class Zombie extends Monster {
|
||||
@@ -124,6 +124,11 @@ public class Zombie extends Monster {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1368,7 +1368,7 @@ index d3f1bcd9daeea282bef549ea18cedf0fc7a9ad8d..b3a31549179760388bc2958b4339848d
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
@@ -614,7 +619,7 @@ public class Zombie extends Monster {
|
||||
@@ -615,7 +620,7 @@ public class Zombie extends Monster {
|
||||
}
|
||||
|
||||
protected void randomizeReinforcementsChance() {
|
||||
@@ -1378,10 +1378,10 @@ index d3f1bcd9daeea282bef549ea18cedf0fc7a9ad8d..b3a31549179760388bc2958b4339848d
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
index 87ae149be7a3eaf14406a7df9f174574d77c63c5..c89680f83275169728f923e70a17cb88d4480f01 100644
|
||||
index be1234f1c087b3140c79278e7d7e7c1394352cc8..a205c668d0d7b428622fbcaa1598f01c685b516e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
|
||||
@@ -96,6 +96,16 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
@@ -99,6 +99,16 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1399,10 +1399,10 @@ index 87ae149be7a3eaf14406a7df9f174574d77c63c5..c89680f83275169728f923e70a17cb88
|
||||
protected void defineSynchedData() {
|
||||
super.defineSynchedData();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
index fe9bdc4006b916748e55a976b6c8621070fb73c5..8f22bfcde4bb8ad73794f2b98b156113e5a2a6c9 100644
|
||||
index 252d2994fac423ea1fef36bdc7c09778203049cb..fa5fa58ee03243054a38475634a6aa67815ca77d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
|
||||
@@ -80,6 +80,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -81,6 +81,11 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1414,7 +1414,7 @@ index fe9bdc4006b916748e55a976b6c8621070fb73c5..8f22bfcde4bb8ad73794f2b98b156113
|
||||
@Override
|
||||
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
|
||||
this.persistentAngerTarget = angryAt;
|
||||
@@ -267,7 +272,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
@@ -263,7 +268,7 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
|
||||
|
||||
@Override
|
||||
protected void randomizeReinforcementsChance() {
|
||||
@@ -1424,10 +1424,10 @@ index fe9bdc4006b916748e55a976b6c8621070fb73c5..8f22bfcde4bb8ad73794f2b98b156113
|
||||
|
||||
@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 8ba7896a823d60065c1e293d0fcdb2d3ac76da77..66f2695403a04c2e9540bf2ec290bf1cc5a377ca 100644
|
||||
index fda37baf4afef5e51265833166767b7ae8fccb96..0365afdc6188d155f9d44812055fa8310114e06a 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
|
||||
@@ -84,6 +84,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
@@ -86,6 +86,11 @@ public class Hoglin extends Animal implements Enemy, HoglinBase {
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1440,7 +1440,7 @@ index 8ba7896a823d60065c1e293d0fcdb2d3ac76da77..66f2695403a04c2e9540bf2ec290bf1c
|
||||
public boolean canBeLeashed(Player player) {
|
||||
return !this.isLeashed();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java
|
||||
index c54f70f608093511f9ef1e7e904d9497a4710bdd..e45c061931c5ca03e204b78e60010a906d3ec945 100644
|
||||
index 4c47457aba8e85770b204b0b2a27e21e11371277..7507b22e4ec079f359974d7e05eff3b29e59c8e6 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
|
||||
@@ -113,6 +113,11 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento
|
||||
@@ -1472,10 +1472,10 @@ index 2d842c0dfce1c7e7229bd42b2a92c024a4162b68..04e54c241078e6cd6419a21ba1bf913f
|
||||
return Monster.createMonsterAttributes().add(Attributes.MAX_HEALTH, 50.0D).add(Attributes.MOVEMENT_SPEED, (double)0.35F).add(Attributes.ATTACK_DAMAGE, 7.0D);
|
||||
}
|
||||
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 7b58329067d8debeb34abe801d150038a362ffed..773e9ea9036ecfe48cae481484e9f5e64b6cc29b 100644
|
||||
index ee4892919763e10c7b2072851bfbbccda00c89ac..44aad6e77bbf640547b6bab24587ea93db630c7a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -178,6 +178,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -177,6 +177,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -1488,10 +1488,10 @@ index 7b58329067d8debeb34abe801d150038a362ffed..773e9ea9036ecfe48cae481484e9f5e6
|
||||
public Brain<Villager> getBrain() {
|
||||
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 7e5650a56d87a48df7ee0a862b22bf015bb48b2a..33702273c7fabdb8e5bfb3d0e15530f109e318be 100644
|
||||
index 808bf21dc16b5007c49a56c6597fd66c3ec4992e..9178c018c8e008b46a978bb95c244abf986f93d9 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -83,6 +83,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -87,6 +87,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 78636bf26ac8efaffd8a8f4b5bbc703d6b670b7c..42801a26b9d5f8af2d0ce1fef864bb031cfa8965 100644
|
||||
index 2fcf7f80be5f6a96c4ed45459fef3ced1f9e3813..94e55c34084a8bccac95b8e5d108760758e4d61a 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1170,6 +1170,27 @@ public abstract class PlayerList {
|
||||
@@ -1164,6 +1164,27 @@ public abstract class PlayerList {
|
||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||
this.server.getCommands().sendCommands(player);
|
||||
} // Paper
|
||||
@@ -37,10 +37,10 @@ index 78636bf26ac8efaffd8a8f4b5bbc703d6b670b7c..42801a26b9d5f8af2d0ce1fef864bb03
|
||||
|
||||
public boolean isWhiteListed(GameProfile profile) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index cf008b8c7a2eb0c642fd9c2da376df86dcd588e2..96726f06b83193fd7c5156efe6411b10eb1db435 100644
|
||||
index 90d437ef429fa6eef620eb54fcb9512e46b19b15..ea475f6fff35e346ca153a385d6b20f90b5f4283 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -187,6 +187,7 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -188,6 +188,7 @@ public abstract class Player extends LivingEntity {
|
||||
public boolean affectsSpawning = true;
|
||||
public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET;
|
||||
// Paper end
|
||||
@@ -25,10 +25,10 @@ index 21725aee29e9120d1c7e1e19f91c21a73a28844f..849f0c7c6d13df00d90211a48d8b56ab
|
||||
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
|
||||
if (d > 676.0D) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
index 967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847..72fe2dd69a9ae51e14ec91a83eac2dd74bd76cca 100644
|
||||
index 278c33b7de4472a746cdbc1faaa68e05592777bc..15a08abe94cb97de1450ff42cfb924a537b9eb5c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
|
||||
@@ -73,6 +73,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -75,6 +75,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
private Llama caravanHead;
|
||||
@Nullable
|
||||
public Llama caravanTail; // Paper
|
||||
@@ -36,7 +36,7 @@ index 967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847..72fe2dd69a9ae51e14ec91a83eac2dd7
|
||||
|
||||
public Llama(EntityType<? extends Llama> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -168,7 +169,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -170,7 +171,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
if (!this.inventory.getItem(1).isEmpty()) {
|
||||
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
|
||||
}
|
||||
@@ -45,7 +45,7 @@ index 967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847..72fe2dd69a9ae51e14ec91a83eac2dd7
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -179,7 +180,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -181,7 +182,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
if (nbt.contains("DecorItem", 10)) {
|
||||
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
|
||||
}
|
||||
@@ -54,7 +54,7 @@ index 967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847..72fe2dd69a9ae51e14ec91a83eac2dd7
|
||||
this.updateContainerEquipment();
|
||||
}
|
||||
|
||||
@@ -520,6 +521,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -500,6 +501,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
|
||||
public void leaveCaravan() {
|
||||
if (this.caravanHead != null) {
|
||||
@@ -62,7 +62,7 @@ index 967d1ff37ecc9a2cf81a1a6be8ceeb96b42ff847..72fe2dd69a9ae51e14ec91a83eac2dd7
|
||||
this.caravanHead.caravanTail = null;
|
||||
}
|
||||
|
||||
@@ -527,6 +529,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
@@ -507,6 +509,7 @@ public class Llama extends AbstractChestedHorse implements VariantHolder<Llama.V
|
||||
}
|
||||
|
||||
public void joinCaravan(Llama llama) {
|
||||
@@ -3,13 +3,12 @@ From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Thu, 8 Aug 2019 15:29:15 -0500
|
||||
Subject: [PATCH] AFK API
|
||||
|
||||
Adds the option for display names to be used in the afk broadcast
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 33d13eaa0edef9e1e6652affbc8e04fa51c31df1..f9571a379214d24a24e0b6b6277636666c1661f1 100644
|
||||
index efaac631df6fb44979045c79162b9f9c580c3440..03edb4c297285e472ca2a384fd3a95410cc5d8ee 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2122,8 +2122,68 @@ public class ServerPlayer extends Player {
|
||||
@@ -2127,8 +2127,68 @@ public class ServerPlayer extends Player {
|
||||
|
||||
public void resetLastActionTime() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -79,31 +78,31 @@ index 33d13eaa0edef9e1e6652affbc8e04fa51c31df1..f9571a379214d24a24e0b6b627763666
|
||||
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 e936fa6e638a7ff4b087ecb4247c467be6fe9c57..f23e8f89e09551d245fcef5507ecd061ed1b3ca9 100644
|
||||
index 2b4a9b41cc8f826b39bcabbfd9dcd2ff9a875e23..4d81437253e5a66fb46cad979edfcf987f455477 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private boolean justTeleported = false;
|
||||
@@ -323,6 +323,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
private boolean hasMoved; // Spigot
|
||||
// CraftBukkit end
|
||||
|
||||
+ // Purpur start
|
||||
+ // Purpur start
|
||||
+ private final com.google.common.cache.LoadingCache<CraftPlayer, Boolean> kickPermissionCache = com.google.common.cache.CacheBuilder.newBuilder()
|
||||
+ .maximumSize(1000)
|
||||
+ .expireAfterWrite(1, java.util.concurrent.TimeUnit.MINUTES)
|
||||
+ .build(
|
||||
+ new com.google.common.cache.CacheLoader<>() {
|
||||
+ @Override
|
||||
+ public Boolean load(CraftPlayer player) {
|
||||
+ return player.hasPermission("purpur.bypassIdleKick");
|
||||
+ }
|
||||
+ }
|
||||
+ );
|
||||
+ .maximumSize(1000)
|
||||
+ .expireAfterWrite(1, java.util.concurrent.TimeUnit.MINUTES)
|
||||
+ .build(
|
||||
+ new com.google.common.cache.CacheLoader<>() {
|
||||
+ @Override
|
||||
+ public Boolean load(CraftPlayer player) {
|
||||
+ return player.hasPermission("purpur.bypassIdleKick");
|
||||
+ }
|
||||
+ }
|
||||
+ );
|
||||
+ // Purpur end
|
||||
+
|
||||
public CraftPlayer getCraftPlayer() {
|
||||
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
|
||||
}
|
||||
@@ -435,6 +449,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void tick() {
|
||||
if (this.ackBlockChangesUpTo > -1) {
|
||||
@@ -390,6 +404,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
}
|
||||
|
||||
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
|
||||
@@ -116,7 +115,7 @@ index e936fa6e638a7ff4b087ecb4247c467be6fe9c57..f23e8f89e09551d245fcef5507ecd061
|
||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||
}
|
||||
@@ -753,6 +773,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -638,6 +658,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -125,7 +124,7 @@ index e936fa6e638a7ff4b087ecb4247c467be6fe9c57..f23e8f89e09551d245fcef5507ecd061
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1582,7 +1604,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1466,7 +1488,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
if (!event.isAllowed()) {
|
||||
flag2 = true; // Paper - diff on change, this should be moved wrongly
|
||||
if (event.getLogWarning())
|
||||
@@ -134,7 +133,7 @@ index e936fa6e638a7ff4b087ecb4247c467be6fe9c57..f23e8f89e09551d245fcef5507ecd061
|
||||
}
|
||||
// Paper end
|
||||
}
|
||||
@@ -1644,6 +1666,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -1528,6 +1550,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -178,7 +177,7 @@ index 3ff999734d14e2b6e7828e117f5ee32a60c26bc1..cfa9607241c3e69777ffc317206996c2
|
||||
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 d25307ae8bbdf10ae067ec70fc2cb957b852a0eb..54bdb81785b617e13e67530752395f2a0c6d703a 100644
|
||||
index 58422f00c7d64dbd1cf6d7211c9838875cbe7778..db988d263b470e597d6df362da43d76005444572 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 {
|
||||
@@ -193,10 +192,10 @@ index d25307ae8bbdf10ae067ec70fc2cb957b852a0eb..54bdb81785b617e13e67530752395f2a
|
||||
if (baseEntity == null) {
|
||||
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level().getDifficulty() == Difficulty.PEACEFUL)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 96726f06b83193fd7c5156efe6411b10eb1db435..7b39cb5346925c14f3f144d622ca7e5855420aa6 100644
|
||||
index ea475f6fff35e346ca153a385d6b20f90b5f4283..535fe476ebe5b791cae7a4013c4a498b89d047e3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -193,6 +193,13 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -194,6 +194,13 @@ public abstract class Player extends LivingEntity {
|
||||
public boolean fauxSleeping;
|
||||
public int oldLevel = -1;
|
||||
|
||||
@@ -211,10 +210,10 @@ index 96726f06b83193fd7c5156efe6411b10eb1db435..7b39cb5346925c14f3f144d622ca7e58
|
||||
public CraftHumanEntity getBukkitEntity() {
|
||||
return (CraftHumanEntity) super.getBukkitEntity();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc634071e0b9 100644
|
||||
index b3293a722fb5c5262a777402140c764c03367800..67ebddfdcc298198f1a79a0b4875ec8258244ffd 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
@@ -154,7 +154,7 @@ public interface EntityGetter {
|
||||
@@ -191,7 +191,7 @@ public interface EntityGetter {
|
||||
|
||||
default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) {
|
||||
for(Player player : this.players()) {
|
||||
@@ -224,10 +223,10 @@ 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 7f7375c0a3e680ef60fb9fc6157b72bb0812d1c3..d0986b7b130f790c21d2324d0014d258bc36c527 100644
|
||||
index 5bcd736cae259e0aa425d709a61c680d80447631..b2fa6e8316a13a27a01a42bb8943472ca12d9249 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -517,10 +517,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -519,10 +519,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String name) {
|
||||
@@ -244,7 +243,7 @@ index 7f7375c0a3e680ef60fb9fc6157b72bb0812d1c3..d0986b7b130f790c21d2324d0014d258
|
||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||
@@ -3273,5 +3278,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3289,5 +3294,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
@@ -318,10 +317,10 @@ index 27ce55687c7c59fdfdcc4553240ea8b023919b77..3ed1a91c93f659306acaf8bad6820f49
|
||||
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 68557964e27fa1e5ba218178f9bcc0b28e3a78d9..12adaba78ec30e463963f99c0d78e844756143a1 100644
|
||||
index 2f9e5a1adf9d67ffe18d95f2822ca3d2288fb27a..882541c570fa9d2bf0e03df30e112c84fa075c35 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -203,6 +203,7 @@ public class ActivationRange
|
||||
@@ -199,6 +199,7 @@ public class ActivationRange
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Bring back server name
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||
index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824f9e69ba1 100644
|
||||
index 0d0ed4cb50364828d0a028ee69654e23b3b8d913..5b20ac9ef8f05d111ba32f6435f1299e054f0b8c 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
|
||||
@@ -58,6 +58,7 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
|
||||
@@ -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 3cdb675a5ae2ca3e4694d379ffe4fdb4f7831e63..139ff6af8134dd26b0ee40fa3d62a00f55e41694 100644
|
||||
index 1225adadac3b4dd0e371b77efd8f30e99b71c4b9..46ffe17eec96902fb7d8c35cdad0a79a5653e27c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3145,4 +3145,11 @@ public final class CraftServer implements Server {
|
||||
@@ -3142,4 +3142,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 9487d8aa544d3718395144580a6a00bed080dbe8..1265167bc9167cb586b98391ea3daaa09fa4e7fb 100644
|
||||
index 8c4bc2d32fa1c6d372edd8169207de17f41b3c19..64aeb6c3e99801e8683d09575b579d3032a152b6 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1695,7 +1695,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1694,7 +1694,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
- 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!
|
||||
- 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!
|
||||
}
|
||||
|
||||
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 67f6432160ddd85051305bc830bab4f922cdbba6..0d8c8f9529003a4a216e12e231e212058bb0fb28 100644
|
||||
index 91f8f6c918ab5bc8a456b924b9b02b03905841aa..e2a09ca6fca5aa9623eae152e9861f81f7371811 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -253,6 +253,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -254,6 +254,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
private boolean skipDropExperience;
|
||||
// CraftBukkit start
|
||||
public int expToDrop;
|
||||
@@ -16,7 +16,7 @@ index 67f6432160ddd85051305bc830bab4f922cdbba6..0d8c8f9529003a4a216e12e231e21205
|
||||
public boolean forceDrops;
|
||||
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -353,7 +354,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -354,7 +355,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
this.tryAddSoulSpeed();
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ index 67f6432160ddd85051305bc830bab4f922cdbba6..0d8c8f9529003a4a216e12e231e21205
|
||||
double d1 = this.getX();
|
||||
double d2 = this.getY();
|
||||
double d3 = this.getZ();
|
||||
@@ -368,7 +369,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -369,7 +370,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
d3 = (double) landedPosition.getZ() + 0.5D + d5 / d6 * 0.5D;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ index 67f6432160ddd85051305bc830bab4f922cdbba6..0d8c8f9529003a4a216e12e231e21205
|
||||
double d7 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
int i = (int) (150.0D * d7);
|
||||
|
||||
@@ -2058,7 +2059,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -2066,7 +2067,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);
|
||||
|
||||
@@ -44,10 +44,10 @@ index 67f6432160ddd85051305bc830bab4f922cdbba6..0d8c8f9529003a4a216e12e231e21205
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
index 7a7466092a2cd194abec3abdb77a7c649b4b433c..fdf41f4990923aa4309febb9c0ca8009de8e16f1 100644
|
||||
index ad4d4e38a2f0125e0943945c9440a9be80b60257..d3b655ccf40d24b7f5a09383fd5771bb275ac4b7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
|
||||
@@ -384,7 +384,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
@@ -386,7 +386,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
|
||||
|
||||
@Override
|
||||
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {
|
||||
@@ -57,10 +57,10 @@ index 7a7466092a2cd194abec3abdb77a7c649b4b433c..fdf41f4990923aa4309febb9c0ca8009
|
||||
|
||||
protected int getInventorySize() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
index 3f7d21a5be726d301e1bcaa11f1788b51c23a7cd..db95323da1aef267aa4fbe56aaff63cb8684e15b 100644
|
||||
index 2a30499fd6f4a1340f6911f0f7f079bcbe8576a3..c3c0fbe71c9af1125c80698865cb9eaf42d4a1c5 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
@@ -12,6 +12,7 @@ import net.minecraft.world.level.LevelReader;
|
||||
@@ -13,6 +13,7 @@ import net.minecraft.world.level.LevelReader;
|
||||
public class Giant extends Monster {
|
||||
public Giant(EntityType<? extends Giant> type, Level world) {
|
||||
super(type, world);
|
||||
@@ -69,7 +69,7 @@ index 3f7d21a5be726d301e1bcaa11f1788b51c23a7cd..db95323da1aef267aa4fbe56aaff63cb
|
||||
|
||||
// Purpur start
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 9e3baf31775326e67a5a3bd5d9e836833b4810ba..4ba5c78fa10c1e30962f30d97821fa105f804904 100644
|
||||
index feb5f25886889710d51ab2a88192727c948322ca..92f17bc1631e13bf025cf7b867f6c13ccdacc4e7 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -1099,4 +1099,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -5,10 +5,10 @@ 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 1265167bc9167cb586b98391ea3daaa09fa4e7fb..287f5b64622cdc98cbe8248c89af27c97fdf8347 100644
|
||||
index 64aeb6c3e99801e8683d09575b579d3032a152b6..e302593cd3cdba2128355be65ce3f2e40df9f660 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -306,6 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -301,6 +301,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
// Spigot end
|
||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
@@ -16,7 +16,7 @@ index 1265167bc9167cb586b98391ea3daaa09fa4e7fb..287f5b64622cdc98cbe8248c89af27c9
|
||||
|
||||
public volatile Thread shutdownThread; // Paper
|
||||
public volatile boolean abnormalExit = false; // Paper
|
||||
@@ -1155,6 +1156,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1136,6 +1137,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 1265167bc9167cb586b98391ea3daaa09fa4e7fb..287f5b64622cdc98cbe8248c89af27c9
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 139ff6af8134dd26b0ee40fa3d62a00f55e41694..98c4b8356dc26cf220dddb5ec319751b81601991 100644
|
||||
index 46ffe17eec96902fb7d8c35cdad0a79a5653e27c..5130300dac468560b39825dbac93d275894f6636 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3151,5 +3151,10 @@ public final class CraftServer implements Server {
|
||||
@@ -3148,5 +3148,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 aa5cec6d56d7a8e80861aa4c9b4a74ca3e64be8c..08beb4c4dfcb0986cdebb4d0cacc25e4e9c17674 100644
|
||||
index 73871f456a85bda1e51f54986d0e61fb629822e8..74499ac528becad47565c87e49a8e0b6646a0612 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -315,6 +315,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -314,6 +314,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 aa5cec6d56d7a8e80861aa4c9b4a74ca3e64be8c..08beb4c4dfcb0986cdebb4d0cacc25e4
|
||||
public static ResourceLocation getKey(EntityType<?> type) {
|
||||
return BuiltInRegistries.ENTITY_TYPE.getKey(type);
|
||||
}
|
||||
@@ -530,6 +540,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -529,6 +539,16 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
return this.category;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
index 7bba845462813615224f48322c51c7b480adcaa7..38d47fbcd49cc291040ea00470abeb982fe2714c 100644
|
||||
index ffd349c1b80df0f1e8c02bda23700184825170fd..29f301bde378bd320d5c44f2c1b6bf9dc185e286 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
|
||||
@@ -76,6 +76,7 @@ public abstract class AbstractContainerMenu {
|
||||
@@ -4,19 +4,36 @@ Date: Fri, 11 Oct 2019 00:17:39 -0500
|
||||
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 524f12913c7716aea8ae4829885dce1e72f4d8d5..a36468933f9d942ab539207e557c56c4839769bc 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private long keepAliveTime = Util.getMillis();
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
index 566a9449cf8a10fff9266a4384cfeb9492f4666e..9bc03cd18bf30bc71f79a6c11f3f30664cf6b822 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||
@@ -51,6 +51,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
private long keepAliveTime = Util.getMillis(); // Paper
|
||||
private boolean keepAlivePending;
|
||||
private long keepAliveChallenge;
|
||||
+ private it.unimi.dsi.fastutil.longs.LongList keepAlives = new it.unimi.dsi.fastutil.longs.LongArrayList(); // Purpur
|
||||
// CraftBukkit start - multithreaded fields
|
||||
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
||||
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
||||
@@ -417,6 +418,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
private int latency;
|
||||
private volatile boolean suspendFlushingOnServerThread = false;
|
||||
private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit
|
||||
@@ -92,6 +93,16 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
+ // Purpur start
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||
+ long id = packet.getId();
|
||||
+ if (keepAlives.size() > 0 && keepAlives.contains(id)) {
|
||||
+ int ping = (int) (Util.getMillis() - id);
|
||||
+ player.latency = (player.latency * 3 + ping) / 4;
|
||||
+ keepAlives.clear(); // we got a valid response, lets roll with it and forget the rest
|
||||
+ }
|
||||
+ } else
|
||||
+ // Purpur end
|
||||
//PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // CraftBukkit // Paper - This shouldn't be on the main thread
|
||||
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
|
||||
int i = (int) (Util.getMillis() - this.keepAliveTime);
|
||||
@@ -207,6 +218,21 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||
long currentTime = Util.getMillis();
|
||||
long elapsedTime = currentTime - this.keepAliveTime;
|
||||
|
||||
@@ -38,23 +55,6 @@ index 524f12913c7716aea8ae4829885dce1e72f4d8d5..a36468933f9d942ab539207e557c56c4
|
||||
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
|
||||
@@ -3559,6 +3575,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
+ // Purpur start
|
||||
+ if (org.purpurmc.purpur.PurpurConfig.useAlternateKeepAlive) {
|
||||
+ long id = packet.getId();
|
||||
+ if (keepAlives.size() > 0 && keepAlives.contains(id)) {
|
||||
+ int ping = (int) (Util.getMillis() - id);
|
||||
+ player.latency = (player.latency * 3 + ping) / 4;
|
||||
+ keepAlives.clear(); // we got a valid response, lets roll with it and forget the rest
|
||||
+ }
|
||||
+ } else
|
||||
+ // Purpur end
|
||||
//PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // CraftBukkit // Paper - This shouldn't be on the main thread
|
||||
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
|
||||
int i = (int) (Util.getMillis() - this.keepAliveTime);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 34afed28faeb56352b48faf8078a5fb07912eb5e..ad239ba9259c5a63b40261ebc44224893496b47d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -1,169 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 2 May 2020 20:55:44 -0500
|
||||
Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index f9571a379214d24a24e0b6b6277636666c1661f1..ffc10f3cb841eafbf90b7f26b485991ced31d4d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
public boolean purpurClient = false; // Purpur
|
||||
+ public boolean acceptingResourcePack = false; // Purpur
|
||||
|
||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
||||
@@ -419,6 +420,7 @@ public class ServerPlayer extends Player {
|
||||
this.bukkitPickUpLoot = true;
|
||||
this.maxHealthCache = this.getMaxHealth();
|
||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||
+ this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
|
||||
}
|
||||
|
||||
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
|
||||
@@ -1100,6 +1102,12 @@ public class ServerPlayer extends Player {
|
||||
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ public boolean isSpawnInvulnerable() {
|
||||
+ return spawnInvulnerableTime > 0 || frozen;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -1107,7 +1115,7 @@ public class ServerPlayer extends Player {
|
||||
} else {
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
|
||||
|
||||
- if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
+ if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
|
||||
return false;
|
||||
} else {
|
||||
Entity entity = source.getEntity();
|
||||
@@ -1286,6 +1294,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
+ this.spawnInvulnerableTime = worldserver.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2108,6 +2117,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
|
||||
+ this.acceptingResourcePack = true; // Purpur
|
||||
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
|
||||
}
|
||||
|
||||
@@ -2695,9 +2705,17 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public boolean isImmobile() {
|
||||
- return super.isImmobile() || (this.connection != null && this.connection.isDisconnected()); // Paper
|
||||
+ return super.isImmobile() || frozen || (this.connection != null && this.connection.isDisconnected()); // Paper // Purpur
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ private boolean frozen = false;
|
||||
+
|
||||
+ public void setFrozen(boolean frozen) {
|
||||
+ this.frozen = frozen;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
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 f23e8f89e09551d245fcef5507ecd061ed1b3ca9..81cbb6a55fd3e6a3b9ec96cc54b43e123c243482 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2149,12 +2149,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||
+ // Purpur start
|
||||
+ if (player.level().purpurConfig.playerInvulnerableWhileAcceptingResourcePack && !this.player.acceptingResourcePack) {
|
||||
+ ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack packet exploitation attempt", this.player.getName());
|
||||
+ this.disconnect(Component.translatable("multiplayer.texturePrompt.failure.line1"), org.bukkit.event.player.PlayerKickEvent.Cause.RESOURCE_PACK_REJECTION); // "Server resource pack couldn't be applied"
|
||||
+ return;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) {
|
||||
ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getGameProfile().getName()); // Paper - Don't print component in resource pack rejection message
|
||||
this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect"), org.bukkit.event.player.PlayerKickEvent.Cause.RESOURCE_PACK_REJECTION); // Paper - add cause
|
||||
}
|
||||
// Paper start
|
||||
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()];
|
||||
+ if (player.level().purpurConfig.playerInvulnerableWhileAcceptingResourcePack) player.setFrozen(packStatus == PlayerResourcePackStatusEvent.Status.ACCEPTED); // Purpur
|
||||
+ this.player.acceptingResourcePack = packStatus == PlayerResourcePackStatusEvent.Status.ACCEPTED; // Purpur
|
||||
player.getBukkitEntity().setResourcePackStatus(packStatus);
|
||||
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 42801a26b9d5f8af2d0ce1fef864bb031cfa8965..2cac536ebbc21a23a2219c630fe477bf9c00ce65 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -985,6 +985,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
+ entityplayer1.spawnInvulnerableTime = entityplayer1.level().purpurConfig.playerSpawnInvulnerableTicks; // Purpur
|
||||
+
|
||||
// CraftBukkit end
|
||||
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 d0986b7b130f790c21d2324d0014d258bc36c527..c6ede1fac5c68f2912a9c401765bd10b09afe7f9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3293,5 +3293,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetLastActionTime();
|
||||
}
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isSpawnInvulnerable() {
|
||||
+ return getHandle().isSpawnInvulnerable();
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getSpawnInvulnerableTicks() {
|
||||
+ return getHandle().spawnInvulnerableTime;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
|
||||
+ getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3ed1a91c93f659306acaf8bad6820f49208554c8..f521d0e73908037c76c5669b401e422040e2a77b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -95,6 +95,8 @@ public class PurpurWorldConfig {
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
public boolean idleTimeoutUpdateTabList = false;
|
||||
public boolean idleTimeoutTargetPlayer = true;
|
||||
+ public int playerSpawnInvulnerableTicks = 60;
|
||||
+ public boolean playerInvulnerableWhileAcceptingResourcePack = false;
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -106,6 +108,8 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
|
||||
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
|
||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
+ playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
|
||||
+ playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
||||
}
|
||||
|
||||
public boolean babiesAreRidable = true;
|
||||
@@ -89,11 +89,11 @@ index 936d844a5a246138c9f9ae4ae6e318242b8f1420..93f5f226cf6fd6110e4daa02b3f5d9ad
|
||||
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 f521d0e73908037c76c5669b401e422040e2a77b..ef20a9601527281d052c531e7e769ea480622481 100644
|
||||
index 3ed1a91c93f659306acaf8bad6820f49208554c8..570abbb70cfb523917de473bd91640719c40a611 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -112,6 +112,38 @@ public class PurpurWorldConfig {
|
||||
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
|
||||
@@ -108,6 +108,38 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
}
|
||||
|
||||
+ public boolean silkTouchEnabled = false;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add turtle egg block options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
index 6c1a0e6f961e46a1a89850746a71e97b32514adf..1942649e868fc985a488034c411a6721595ecc67 100644
|
||||
index 07157822659288e76b2fba34db8d5d566506f33b..18feb559f9fd157dd4a01faf2b2bb18df2a64675 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java
|
||||
@@ -193,6 +193,25 @@ public class TurtleEggBlock extends Block {
|
||||
@@ -195,6 +195,25 @@ public class TurtleEggBlock extends Block {
|
||||
}
|
||||
|
||||
private boolean canDestroyEgg(Level world, Entity entity) {
|
||||
@@ -36,10 +36,10 @@ index 6c1a0e6f961e46a1a89850746a71e97b32514adf..1942649e868fc985a488034c411a6721
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ef20a9601527281d052c531e7e769ea480622481..1b06b531cc334b00b8f12634bd36766619098f16 100644
|
||||
index 570abbb70cfb523917de473bd91640719c40a611..7a4c1c04b7e3c558ac19b72693d5abe6c14acdfe 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -144,6 +144,15 @@ public class PurpurWorldConfig {
|
||||
@@ -140,6 +140,15 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@ Subject: [PATCH] Logger settings (suppressing pointless logs)
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
index acc49f66bf34e2507d0ee6fec0a56b11bfc68f46..52891c4a4260d1938f2f4565b5219ad303555638 100644
|
||||
index e38e2e5a7ddba9c140f362021b6be0b0974f7cd1..0b3a06027f2c600960cd88159803be187c4d0317 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||
@@ -147,6 +147,7 @@ public class PlayerAdvancements {
|
||||
if (advancement == null) {
|
||||
// CraftBukkit start
|
||||
if (entry.getKey().getNamespace().equals("minecraft")) {
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressIgnoredAdvancementWarnings) // Purpur
|
||||
PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", entry.getKey(), this.playerSavePath);
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -200,6 +200,7 @@ public class PlayerAdvancements {
|
||||
|
||||
if (advancementholder == null) {
|
||||
if (!minecraftkey.getNamespace().equals("minecraft")) return; // CraftBukkit
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressIgnoredAdvancementWarnings) // Purpur
|
||||
PlayerAdvancements.LOGGER.warn("Ignored advancement '{}' in progress file {} - it doesn't exist anymore?", minecraftkey, this.playerSavePath);
|
||||
} else {
|
||||
this.startProgress(advancementholder, advancementprogress);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
||||
index 877498729c66de9aa6a27c9148f7494d7895615c..acd7468ee3c86d3456e96e4ec3d7e6a4c612e89d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
||||
@@ -29,17 +29,17 @@ index 877498729c66de9aa6a27c9148f7494d7895615c..acd7468ee3c86d3456e96e4ec3d7e6a4
|
||||
Util.logAndPauseIfInIde("Detected setBlock in a far chunk [" + i + ", " + j + "], pos: " + pos + ", status: " + this.generatingStatus + (this.currentlyGenerating == null ? "" : ", currently generating: " + (String) this.currentlyGenerating.get()));
|
||||
hasSetFarWarned = true;
|
||||
diff --git a/src/main/java/net/minecraft/stats/ServerRecipeBook.java b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||
index ea29e07a105f3ba6a878bdccf36e7eaf66280280..d5dce6c8d85938d61a57a78f82381d26daf8f87a 100644
|
||||
index 4103ddf16164e3992fef0765d368282572537e29..a0cb49233b1dbf53ce9d1bcc52b8967829d0530e 100644
|
||||
--- a/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||
+++ b/src/main/java/net/minecraft/stats/ServerRecipeBook.java
|
||||
@@ -125,6 +125,7 @@ public class ServerRecipeBook extends RecipeBook {
|
||||
Optional<? extends Recipe<?>> optional = recipeManager.byKey(minecraftkey);
|
||||
Optional<RecipeHolder<?>> optional = recipeManager.byKey(minecraftkey);
|
||||
|
||||
if (!optional.isPresent()) {
|
||||
if (optional.isEmpty()) {
|
||||
+ if (!org.purpurmc.purpur.PurpurConfig.loggerSuppressUnrecognizedRecipeErrors) // Purpur
|
||||
ServerRecipeBook.LOGGER.error("Tried to load unrecognized recipe: {} removed now.", minecraftkey);
|
||||
} else {
|
||||
handler.accept((Recipe) optional.get());
|
||||
handler.accept((RecipeHolder) optional.get());
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
index 2677e21d8239bf0361a3bc5c9a50c328e54d70f6..544a79d5da661aff19e2019f7b83a3a49350bb68 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java
|
||||
@@ -53,7 +53,7 @@ index 2677e21d8239bf0361a3bc5c9a50c328e54d70f6..544a79d5da661aff19e2019f7b83a3a4
|
||||
if (MinecraftServer.getServer() != null && MinecraftServer.getServer().isDebugging()) {
|
||||
new Exception().printStackTrace();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index fa27bb42697cd5741b7308b34cd768232604a20f..9db231480f0763c2b6514a956ec9398b98b7d1bc 100644
|
||||
index ad239ba9259c5a63b40261ebc44224893496b47d..308d7556f5b12c0aa5b2fde5a23ef6fbacb303de 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -237,4 +237,15 @@ public class PurpurConfig {
|
||||
@@ -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 39e98f1c62f372bca97fa47df8e79af693830a4a..c23f1e90420c76495da33a579a479de730f6a051 100644
|
||||
index 754a47528fb675ceae7020d7ae26d1f9d951d27c..d0372aa58214019b0b24a84eb8afdec6aec975a6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -300,7 +300,7 @@ public class Main {
|
||||
@@ -5,16 +5,17 @@ Subject: [PATCH] Giants AI settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487277b2d39 100644
|
||||
index c3c0fbe71c9af1125c80698865cb9eaf42d4a1c5..d014731fe352246299253bf005e23673abe091bc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Giant.java
|
||||
@@ -1,13 +1,36 @@
|
||||
@@ -1,14 +1,37 @@
|
||||
package net.minecraft.world.entity.monster;
|
||||
|
||||
import net.minecraft.core.BlockPos;
|
||||
+import net.minecraft.nbt.CompoundTag;
|
||||
+import net.minecraft.world.Difficulty;
|
||||
+import net.minecraft.world.DifficultyInstance;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityDimensions;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
+import net.minecraft.world.entity.EquipmentSlot;
|
||||
@@ -45,7 +46,7 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487
|
||||
|
||||
public class Giant extends Monster {
|
||||
public Giant(EntityType<? extends Giant> type, Level world) {
|
||||
@@ -33,8 +56,23 @@ public class Giant extends Monster {
|
||||
@@ -34,8 +57,23 @@ public class Giant extends Monster {
|
||||
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
@@ -71,7 +72,7 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
@@ -45,6 +83,32 @@ public class Giant extends Monster {
|
||||
@@ -46,6 +84,32 @@ public class Giant extends Monster {
|
||||
this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(this.level().purpurConfig.giantAttackDamage);
|
||||
}
|
||||
|
||||
@@ -104,7 +105,7 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487
|
||||
@Override
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return 10.440001F;
|
||||
@@ -56,6 +120,6 @@ public class Giant extends Monster {
|
||||
@@ -62,6 +126,6 @@ public class Giant extends Monster {
|
||||
|
||||
@Override
|
||||
public float getWalkTargetValue(BlockPos pos, LevelReader world) {
|
||||
@@ -113,10 +114,10 @@ index db95323da1aef267aa4fbe56aaff63cb8684e15b..12e27b36b3f9949eb644175dd346c487
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1b06b531cc334b00b8f12634bd36766619098f16..916249a2ad6721182f0e71e785db3b50839d4961 100644
|
||||
index 7a4c1c04b7e3c558ac19b72693d5abe6c14acdfe..b18c498b6fd17ef298cc6ee7b2386188f0b75b36 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -558,6 +558,10 @@ public class PurpurWorldConfig {
|
||||
@@ -554,6 +554,10 @@ public class PurpurWorldConfig {
|
||||
public double giantMovementSpeed = 0.5D;
|
||||
public double giantAttackDamage = 50.0D;
|
||||
public double giantMaxHealth = 100.0D;
|
||||
@@ -127,7 +128,7 @@ index 1b06b531cc334b00b8f12634bd36766619098f16..916249a2ad6721182f0e71e785db3b50
|
||||
private void giantSettings() {
|
||||
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
|
||||
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
|
||||
@@ -574,6 +578,10 @@ public class PurpurWorldConfig {
|
||||
@@ -570,6 +574,10 @@ public class PurpurWorldConfig {
|
||||
set("mobs.giant.attributes.max_health", oldValue);
|
||||
}
|
||||
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);
|
||||
@@ -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 4c3b5a26a6b04afff3a707929ced3c62b5256a67..11f92c1011a1accaf485e5785d2e9ebc8440406c 100644
|
||||
index d060a6a45c614c92dd45e96bc1bf39ace3347fbb..b0064cda4b0283d46dad53675ec70ff10c4d2015 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -971,10 +971,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -864,10 +864,18 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
||||
|
||||
if (flag1) {
|
||||
@@ -30,10 +30,10 @@ index 4c3b5a26a6b04afff3a707929ced3c62b5256a67..11f92c1011a1accaf485e5785d2e9ebc
|
||||
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
|
||||
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 916249a2ad6721182f0e71e785db3b50839d4961..1f636491c6da434708359224107cfc1de1cd6034 100644
|
||||
index b18c498b6fd17ef298cc6ee7b2386188f0b75b36..bae186807d44745942faf8919831f82e475a4f63 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1488,6 +1488,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1484,6 +1484,7 @@ public class PurpurWorldConfig {
|
||||
public double zombieHorseJumpStrengthMax = 1.0D;
|
||||
public double zombieHorseMovementSpeedMin = 0.2D;
|
||||
public double zombieHorseMovementSpeedMax = 0.2D;
|
||||
@@ -41,7 +41,7 @@ index 916249a2ad6721182f0e71e785db3b50839d4961..1f636491c6da434708359224107cfc1d
|
||||
private void zombieHorseSettings() {
|
||||
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
|
||||
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
|
||||
@@ -1503,6 +1504,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1499,6 +1500,7 @@ public class PurpurWorldConfig {
|
||||
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
|
||||
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
|
||||
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
|
||||
@@ -24,10 +24,10 @@ index e31094f270117dec3053620c06e409953fb6d710..a1e3f29ce49dc41ad70f74ee224250fe
|
||||
protected SoundEvent getHurtSound(DamageSource source) {
|
||||
return SoundEvents.CREEPER_HURT;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1f636491c6da434708359224107cfc1de1cd6034..607298a7fe2f2f7b2320a028d1343c1575decf31 100644
|
||||
index bae186807d44745942faf8919831f82e475a4f63..8503f57e3b07318331045aa25aa0fd07b8ca17ed 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -349,6 +349,7 @@ public class PurpurWorldConfig {
|
||||
@@ -345,6 +345,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperRidableInWater = true;
|
||||
public boolean creeperControllable = true;
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
@@ -35,7 +35,7 @@ index 1f636491c6da434708359224107cfc1de1cd6034..607298a7fe2f2f7b2320a028d1343c15
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -359,6 +360,7 @@ public class PurpurWorldConfig {
|
||||
@@ -355,6 +356,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.creeper.attributes.max_health", oldValue);
|
||||
}
|
||||
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
index 9be247def3ab8c74c569f653ec971aaf1b5ed5c9..6d5213d26dbd9d36c5cbe6056091d9e5c85e23c4 100644
|
||||
index 23ede55b9b1198c72fe93b086129d4725d9352fe..106600ad9712d9a4fdf6770e81b40606b2f9b9b2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
|
||||
@@ -468,10 +468,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
@@ -469,10 +469,23 @@ public class Rabbit extends Animal implements VariantHolder<Rabbit.Variant> {
|
||||
}
|
||||
|
||||
this.setVariant(entityrabbit_variant);
|
||||
@@ -33,10 +33,10 @@ index 9be247def3ab8c74c569f653ec971aaf1b5ed5c9..6d5213d26dbd9d36c5cbe6056091d9e5
|
||||
int i = world.getRandom().nextInt(100);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 607298a7fe2f2f7b2320a028d1343c1575decf31..5974f2ec7f42cf5ea58a5cfa124f0165a5fc5785 100644
|
||||
index 8503f57e3b07318331045aa25aa0fd07b8ca17ed..86232e49f12cae623dbe235fd0fac5fbf0255a2b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -992,6 +992,8 @@ public class PurpurWorldConfig {
|
||||
@@ -988,6 +988,8 @@ public class PurpurWorldConfig {
|
||||
public boolean rabbitRidableInWater = true;
|
||||
public boolean rabbitControllable = true;
|
||||
public double rabbitMaxHealth = 3.0D;
|
||||
@@ -45,7 +45,7 @@ index 607298a7fe2f2f7b2320a028d1343c1575decf31..5974f2ec7f42cf5ea58a5cfa124f0165
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
@@ -1002,6 +1004,8 @@ public class PurpurWorldConfig {
|
||||
@@ -998,6 +1000,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.rabbit.attributes.max_health", oldValue);
|
||||
}
|
||||
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Tulips change fox type
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b14ca2c9e 100644
|
||||
index 5a7f4c0565b2d8f95930b39e1aacd9904e382736..f26fa004e1372f8711e76bc7fa4cdb383b989755 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
|
||||
@@ -35,6 +35,7 @@ import net.minecraft.util.RandomSource;
|
||||
@@ -36,6 +36,7 @@ import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.util.StringRepresentable;
|
||||
import net.minecraft.world.DifficultyInstance;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
@@ -16,15 +16,7 @@ index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b
|
||||
import net.minecraft.world.damagesource.DamageSource;
|
||||
import net.minecraft.world.entity.AgeableMob;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
@@ -88,6 +89,7 @@ import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.CaveVines;
|
||||
import net.minecraft.world.level.block.SweetBerryBushBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
+import net.minecraft.world.level.gameevent.GameEvent;
|
||||
import net.minecraft.world.level.pathfinder.BlockPathTypes;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
@@ -387,6 +389,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -390,6 +391,11 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
}
|
||||
|
||||
private void setTargetGoals() {
|
||||
@@ -36,7 +28,7 @@ index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b
|
||||
if (this.getVariant() == Fox.Type.RED) {
|
||||
this.targetSelector.addGoal(4, this.landTargetGoal);
|
||||
this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
|
||||
@@ -420,6 +427,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -423,6 +429,7 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
|
||||
public void setVariant(Fox.Type variant) {
|
||||
this.entityData.set(Fox.DATA_TYPE_ID, variant.getId());
|
||||
@@ -44,7 +36,7 @@ index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b
|
||||
}
|
||||
|
||||
List<UUID> getTrustedUUIDs() {
|
||||
@@ -756,6 +764,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
@@ -762,6 +769,29 @@ public class Fox extends Animal implements VariantHolder<Fox.Type> {
|
||||
return this.getTrustedUUIDs().contains(uuid);
|
||||
}
|
||||
|
||||
@@ -75,10 +67,10 @@ index d6370eb9af9842710052e0e497af52122f265488..cedc4dac776dde310dbf1a22272ce54b
|
||||
// Paper start - Cancellable death event
|
||||
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5974f2ec7f42cf5ea58a5cfa124f0165a5fc5785..d0b82fb2d43207f997b85c2a2d6abc3af98c2fbd 100644
|
||||
index 86232e49f12cae623dbe235fd0fac5fbf0255a2b..de3fe605c4cc477007d15468338a7de5dfc87c4c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -513,6 +513,7 @@ public class PurpurWorldConfig {
|
||||
@@ -509,6 +509,7 @@ public class PurpurWorldConfig {
|
||||
public boolean foxRidableInWater = true;
|
||||
public boolean foxControllable = true;
|
||||
public double foxMaxHealth = 10.0D;
|
||||
@@ -86,7 +78,7 @@ index 5974f2ec7f42cf5ea58a5cfa124f0165a5fc5785..d0b82fb2d43207f997b85c2a2d6abc3a
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -523,6 +524,7 @@ public class PurpurWorldConfig {
|
||||
@@ -519,6 +520,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.fox.attributes.max_health", oldValue);
|
||||
}
|
||||
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Breedable Polar Bears
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
index 48ec595e76c09cf719477a543364f1206664afa5..b2cf680e377f849a7cc17136ebca3cf33e34048c 100644
|
||||
index 70b45c622a459ace397d4d54cd99e8ae7fc1ce65..0377d40198b88512b1f204a31367c2db039a7f9c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
|
||||
@@ -99,6 +99,27 @@ public class PolarBear extends Animal implements NeutralMob {
|
||||
@@ -59,10 +59,10 @@ index 48ec595e76c09cf719477a543364f1206664afa5..b2cf680e377f849a7cc17136ebca3cf3
|
||||
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
|
||||
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index d0b82fb2d43207f997b85c2a2d6abc3af98c2fbd..f994a8eb776c2ad1029b447ebab0273eb01e302f 100644
|
||||
index de3fe605c4cc477007d15468338a7de5dfc87c4c..4b97350dd6968125d91e02441b6a573ce7000943 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -964,6 +964,8 @@ public class PurpurWorldConfig {
|
||||
@@ -960,6 +960,8 @@ public class PurpurWorldConfig {
|
||||
public boolean polarBearRidableInWater = true;
|
||||
public boolean polarBearControllable = true;
|
||||
public double polarBearMaxHealth = 30.0D;
|
||||
@@ -71,7 +71,7 @@ index d0b82fb2d43207f997b85c2a2d6abc3af98c2fbd..f994a8eb776c2ad1029b447ebab0273e
|
||||
private void polarBearSettings() {
|
||||
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
||||
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
||||
@@ -974,6 +976,9 @@ public class PurpurWorldConfig {
|
||||
@@ -970,6 +972,9 @@ public class PurpurWorldConfig {
|
||||
set("mobs.polar_bear.attributes.max_health", oldValue);
|
||||
}
|
||||
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Chickens can retaliate
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
index ea404a84a43a02a5614d5142bb78a586edfc69f6..0f49705e3c7adf033cee9d0746319885c830224f 100644
|
||||
index 3c06fe81e2e1d7bd546ead0d13d87cbe7e2e7b5b..bc3094493d7d25eaf50da8fdd74eacae25692b09 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
|
||||
@@ -74,19 +74,30 @@ public class Chicken extends Animal {
|
||||
@@ -75,19 +75,30 @@ public class Chicken extends Animal {
|
||||
@Override
|
||||
public void initAttributes() {
|
||||
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.chickenMaxHealth);
|
||||
@@ -40,7 +40,7 @@ index ea404a84a43a02a5614d5142bb78a586edfc69f6..0f49705e3c7adf033cee9d0746319885
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -95,7 +106,7 @@ public class Chicken extends Animal {
|
||||
@@ -96,7 +107,7 @@ public class Chicken extends Animal {
|
||||
}
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
@@ -50,10 +50,10 @@ index ea404a84a43a02a5614d5142bb78a586edfc69f6..0f49705e3c7adf033cee9d0746319885
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f994a8eb776c2ad1029b447ebab0273eb01e302f..535fc8b625b49c2451e17f5e73ea44b634adc6d9 100644
|
||||
index 4b97350dd6968125d91e02441b6a573ce7000943..c208253d9afcdaa18fdb1f020d3d385556190203 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -303,6 +303,7 @@ public class PurpurWorldConfig {
|
||||
@@ -299,6 +299,7 @@ public class PurpurWorldConfig {
|
||||
public boolean chickenRidableInWater = false;
|
||||
public boolean chickenControllable = true;
|
||||
public double chickenMaxHealth = 4.0D;
|
||||
@@ -61,7 +61,7 @@ index f994a8eb776c2ad1029b447ebab0273eb01e302f..535fc8b625b49c2451e17f5e73ea44b6
|
||||
private void chickenSettings() {
|
||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
||||
@@ -313,6 +314,7 @@ public class PurpurWorldConfig {
|
||||
@@ -309,6 +310,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.chicken.attributes.max_health", oldValue);
|
||||
}
|
||||
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 1ecca8fdab2fb12390446fd8e134032f1d003f4a..391d0782245f490152776e3c377a8040ad254322 100644
|
||||
index f859e05ddc13b4d27f73fbd2abd331f3c8804363..61183cfcff5f4c706d0491b844531596caa1080d 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -334,7 +334,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -333,7 +333,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
public double xOld;
|
||||
public double yOld;
|
||||
public double zOld;
|
||||
@@ -18,10 +18,10 @@ index 1ecca8fdab2fb12390446fd8e134032f1d003f4a..391d0782245f490152776e3c377a8040
|
||||
protected final RandomSource random;
|
||||
public int tickCount;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
index 5c6e060a54ffb13c37ff5711992e964bdd59643d..5524a69952130ec38e151509ba7733459146d1b0 100644
|
||||
index 9b19cca3b8231b8fbda674f080922673503b1260..41d6127ef781a2119dc41f18b4831d9e150ba0fa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
|
||||
@@ -682,6 +682,7 @@ public class ArmorStand extends LivingEntity {
|
||||
@@ -690,6 +690,7 @@ public class ArmorStand extends LivingEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -30,7 +30,7 @@ index 5c6e060a54ffb13c37ff5711992e964bdd59643d..5524a69952130ec38e151509ba773345
|
||||
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 535fc8b625b49c2451e17f5e73ea44b634adc6d9..9ad3efdfdabb1a5a5c2c6a521521a55bf1aea1b2 100644
|
||||
index c208253d9afcdaa18fdb1f020d3d385556190203..5875b0e956a91ddb89adfdcb97418cc1d72a1ddf 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -90,6 +90,11 @@ public class PurpurWorldConfig {
|
||||
@@ -51,10 +51,10 @@ index 5f407535298a31a34cfe114dd863fd6a9b977707..29c7e33fe961020e5a0007287fe9b663
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9ad3efdfdabb1a5a5c2c6a521521a55bf1aea1b2..524401b0ecdbe8cf67447072aafa58293dc11bf9 100644
|
||||
index 5875b0e956a91ddb89adfdcb97418cc1d72a1ddf..8f75164e9d877a61cc91886c1e1a7dd4026628c3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -276,6 +276,9 @@ public class PurpurWorldConfig {
|
||||
@@ -272,6 +272,9 @@ public class PurpurWorldConfig {
|
||||
public boolean catRidableInWater = true;
|
||||
public boolean catControllable = true;
|
||||
public double catMaxHealth = 10.0D;
|
||||
@@ -64,7 +64,7 @@ index 9ad3efdfdabb1a5a5c2c6a521521a55bf1aea1b2..524401b0ecdbe8cf67447072aafa5829
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
||||
@@ -286,6 +289,9 @@ public class PurpurWorldConfig {
|
||||
@@ -282,6 +285,9 @@ public class PurpurWorldConfig {
|
||||
set("mobs.cat.attributes.max_health", oldValue);
|
||||
}
|
||||
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052a32dc18a 100644
|
||||
index f440eabffb1abe4c7370bf7badf6137a22f99071..d42c8bcd85ffb1e00d2883485bf22981611b0bc3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
|
||||
@@ -2,6 +2,7 @@ package net.minecraft.world.entity.animal;
|
||||
@@ -16,15 +16,15 @@ index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
@@ -29,6 +30,7 @@ import net.minecraft.world.item.ItemUtils;
|
||||
@@ -30,6 +31,7 @@ import net.minecraft.world.item.ItemUtils;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.level.Level;
|
||||
+import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
// CraftBukkit start
|
||||
import org.bukkit.craftbukkit.event.CraftEventFactory;
|
||||
@@ -70,6 +72,7 @@ public class Cow extends Animal {
|
||||
import org.joml.Vector3f;
|
||||
|
||||
@@ -73,6 +75,7 @@ public class Cow extends Animal {
|
||||
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
|
||||
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
|
||||
@@ -32,7 +32,7 @@ index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052
|
||||
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false));
|
||||
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
|
||||
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
|
||||
@@ -125,6 +128,10 @@ public class Cow extends Animal {
|
||||
@@ -128,6 +131,10 @@ public class Cow extends Animal {
|
||||
|
||||
player.setItemInHand(hand, itemstack1);
|
||||
return InteractionResult.sidedSuccess(this.level().isClientSide);
|
||||
@@ -43,9 +43,9 @@ index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052
|
||||
} else {
|
||||
return super.mobInteract(player, hand);
|
||||
}
|
||||
@@ -140,4 +147,69 @@ public class Cow extends Animal {
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return this.isBaby() ? dimensions.height * 0.95F : 1.3F;
|
||||
@@ -148,4 +155,69 @@ public class Cow extends Animal {
|
||||
protected Vector3f getPassengerAttachmentPoint(Entity passenger, EntityDimensions dimensions, float scaleFactor) {
|
||||
return new Vector3f(0.0F, dimensions.height - 0.03125F * scaleFactor, 0.0F);
|
||||
}
|
||||
+
|
||||
+ // Purpur start - feed mushroom to change to mooshroom
|
||||
@@ -114,10 +114,10 @@ index 621fe1c08dda65934437eeab679b6e5cd2d11d3d..28c7e240b7dd1957ccb6a45608b1d052
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 524401b0ecdbe8cf67447072aafa58293dc11bf9..e7268c1a19d6d6cf1166c7242f954f55463c6cfa 100644
|
||||
index 8f75164e9d877a61cc91886c1e1a7dd4026628c3..3d222e3cdb95409d9d35ef8a9224814e94c4b333 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -346,6 +346,7 @@ public class PurpurWorldConfig {
|
||||
@@ -342,6 +342,7 @@ public class PurpurWorldConfig {
|
||||
public boolean cowRidableInWater = true;
|
||||
public boolean cowControllable = true;
|
||||
public double cowMaxHealth = 10.0D;
|
||||
@@ -125,7 +125,7 @@ index 524401b0ecdbe8cf67447072aafa58293dc11bf9..e7268c1a19d6d6cf1166c7242f954f55
|
||||
private void cowSettings() {
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||
@@ -356,6 +357,7 @@ public class PurpurWorldConfig {
|
||||
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.cow.attributes.max_health", oldValue);
|
||||
}
|
||||
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
|
||||
index 780a11339d2492dd607e3ef91867ffbb9062e2cd..b27c0f21354a78025f9d1664c560fb8799bced91 100644
|
||||
index e3fe62285ced917de6817916e99483e117008670..c83e5d58ca5db1e63e099f36006043f7e78ea56f 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
|
||||
@@ -198,7 +198,13 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder<Mushroo
|
||||
// this.discard(); // CraftBukkit - moved down
|
||||
entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||
entitycow.setHealth(this.getHealth());
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Pigs give saddle back
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
index a22e5b6c13b48b46d16a859531d4231376bc1bfc..ff98a81f7104bbaf67ed85b8ad0946edf2a8c368 100644
|
||||
index 6480e0f026e686b2d0a093d901d7f1e312a45021..dc27fa0df90f8eefc20bf76ff58b1b2ebaacf120 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
|
||||
@@ -174,6 +174,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
@@ -177,6 +177,17 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
|
||||
public InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
boolean flag = this.isFood(player.getItemInHand(hand));
|
||||
|
||||
@@ -27,10 +27,10 @@ index a22e5b6c13b48b46d16a859531d4231376bc1bfc..ff98a81f7104bbaf67ed85b8ad0946ed
|
||||
if (!this.level().isClientSide) {
|
||||
player.startRiding(this);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e7268c1a19d6d6cf1166c7242f954f55463c6cfa..8194ca9094c9689be094d175a53786a779852b67 100644
|
||||
index 3d222e3cdb95409d9d35ef8a9224814e94c4b333..92d8babfa6c9a2ba90f7832110bc536e06e6f4f2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -915,6 +915,7 @@ public class PurpurWorldConfig {
|
||||
@@ -911,6 +911,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pigRidableInWater = false;
|
||||
public boolean pigControllable = true;
|
||||
public double pigMaxHealth = 10.0D;
|
||||
@@ -38,7 +38,7 @@ index e7268c1a19d6d6cf1166c7242f954f55463c6cfa..8194ca9094c9689be094d175a53786a7
|
||||
private void pigSettings() {
|
||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
||||
@@ -925,6 +926,7 @@ public class PurpurWorldConfig {
|
||||
@@ -921,6 +922,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.pig.attributes.max_health", oldValue);
|
||||
}
|
||||
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
|
||||
@@ -32,10 +32,10 @@ index 3ffd9dd16c80399842ba138ed60abd66cd312dcb..bd9dd01e9140c2ad0ab9859b9a455f73
|
||||
this.forceDrops = false; // CraftBukkit
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 8194ca9094c9689be094d175a53786a779852b67..80d937d3f2ee0fcfa7b955c1ff7252b5d9cd8e2b 100644
|
||||
index 92d8babfa6c9a2ba90f7832110bc536e06e6f4f2..63d1acee8006afc72449f9b9dbb6807554dc7285 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1178,6 +1178,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1174,6 +1174,8 @@ public class PurpurWorldConfig {
|
||||
public boolean snowGolemControllable = true;
|
||||
public boolean snowGolemLeaveTrailWhenRidden = false;
|
||||
public double snowGolemMaxHealth = 4.0D;
|
||||
@@ -44,7 +44,7 @@ index 8194ca9094c9689be094d175a53786a779852b67..80d937d3f2ee0fcfa7b955c1ff7252b5
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||
@@ -1189,6 +1191,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1185,6 +1187,8 @@ public class PurpurWorldConfig {
|
||||
set("mobs.snow_golem.attributes.max_health", oldValue);
|
||||
}
|
||||
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index 9e85b252bedb5d0d532170e7aa57e02f2660965a..3898653acb6127c88a94b5e7111a9cfecb2d136e 100644
|
||||
index e50cf2e27900da6a9f7b4bb07fc4c2ee1ed52313..4149a7aea12cac04a2dfe29e071047de461eb3f4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -756,7 +756,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -747,7 +747,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
boolean flag = this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
|
||||
short short0 = 500;
|
||||
|
||||
@@ -18,10 +18,10 @@ index 9e85b252bedb5d0d532170e7aa57e02f2660965a..3898653acb6127c88a94b5e7111a9cfe
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 80d937d3f2ee0fcfa7b955c1ff7252b5d9cd8e2b..245d658e2b0ac77b097a6572ea7dcbec13a98207 100644
|
||||
index 63d1acee8006afc72449f9b9dbb6807554dc7285..9948d2e6594dfa5b4e98e7aca29f1cd08c03479e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -459,6 +459,7 @@ public class PurpurWorldConfig {
|
||||
@@ -455,6 +455,7 @@ public class PurpurWorldConfig {
|
||||
public boolean enderDragonControllable = true;
|
||||
public double enderDragonMaxY = 320D;
|
||||
public double enderDragonMaxHealth = 200.0D;
|
||||
@@ -29,7 +29,7 @@ index 80d937d3f2ee0fcfa7b955c1ff7252b5d9cd8e2b..245d658e2b0ac77b097a6572ea7dcbec
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||
@@ -474,6 +475,7 @@ public class PurpurWorldConfig {
|
||||
@@ -470,6 +471,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.ender_dragon.attributes.max_health", oldValue);
|
||||
}
|
||||
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
||||
@@ -18,10 +18,10 @@ index 5946f06f63b5694034bd027984a4925b0831d439..1776906e886edd511bfbe96b8a345438
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 245d658e2b0ac77b097a6572ea7dcbec13a98207..115085ecee8a765921d91288962f9ad8ab2391fa 100644
|
||||
index 9948d2e6594dfa5b4e98e7aca29f1cd08c03479e..ed64be25581f407edcd15b8eac1c4effd9bb8728 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -149,6 +149,11 @@ public class PurpurWorldConfig {
|
||||
@@ -145,6 +145,11 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,22 +5,22 @@ Subject: [PATCH] Minecart settings and WASD controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0b7ee1cbe2917dc81d6a740ec09e7aee9ff598cf..e5291d794f2abb719a574afef2b27d4df05d881f 100644
|
||||
index 03edb4c297285e472ca2a384fd3a95410cc5d8ee..35cb194e15aacdd8022f5d29104e0cfaba9d49e3 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1113,6 +1113,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1107,6 +1107,7 @@ public class ServerPlayer extends Player {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else {
|
||||
+ if (source.is(DamageTypeTags.IS_FALL) && getRootVehicle() instanceof net.minecraft.world.entity.vehicle.AbstractMinecart && level().purpurConfig.minecartControllable && !level().purpurConfig.minecartControllableFallDamage) return false; // Purpur
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL);
|
||||
|
||||
if (!flag && isSpawnInvulnerable() && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { // Purpur
|
||||
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
index 9948a28dae4edba877c13ef0156be5ff58df3fa2..5cdcc5792f19766d2d55d16859f8e0f68bd6479b 100644
|
||||
index 44a6118d3bd67a95180f750c17967561946e2e87..9d9d9cf2366441b453b66f91c53e7a0fe0c01e8f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -108,11 +108,13 @@ public abstract class AbstractMinecart extends Entity {
|
||||
@@ -112,12 +112,14 @@ public abstract class AbstractMinecart extends Entity {
|
||||
private double flyingY = 0.949999988079071D; // Paper - restore vanilla precision
|
||||
private double flyingZ = 0.949999988079071D; // Paper - restore vanilla precision
|
||||
public double maxSpeed = 0.4D;
|
||||
@@ -29,12 +29,13 @@ index 9948a28dae4edba877c13ef0156be5ff58df3fa2..5cdcc5792f19766d2d55d16859f8e0f6
|
||||
|
||||
protected AbstractMinecart(EntityType<?> type, Level world) {
|
||||
super(type, world);
|
||||
this.targetDeltaMovement = Vec3.ZERO;
|
||||
this.blocksBuilding = true;
|
||||
+ if (world != null) maxSpeed = storedMaxSpeed = world.purpurConfig.minecartMaxSpeed; // Purpur
|
||||
}
|
||||
|
||||
protected AbstractMinecart(EntityType<?> type, Level world, double x, double y, double z) {
|
||||
@@ -335,6 +337,12 @@ public abstract class AbstractMinecart extends Entity {
|
||||
@@ -342,6 +344,12 @@ public abstract class AbstractMinecart extends Entity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -111,10 +112,10 @@ index 9948a28dae4edba877c13ef0156be5ff58df3fa2..5cdcc5792f19766d2d55d16859f8e0f6
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
if (!this.onGround()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/item/MinecartItem.java b/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
index c6d2f764efa9b8bec730bbe757d480e365b25ccc..cef98413d25dcc2def82775bbae71f92b096d905 100644
|
||||
index a33395dc5a94d89b5ab273c7832813b6ff9ea3b7..2b2218e2de535ebc8f529f5b5bf98fa1ef819a5e 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/MinecartItem.java
|
||||
@@ -120,8 +120,9 @@ public class MinecartItem extends Item {
|
||||
@@ -122,8 +122,9 @@ public class MinecartItem extends Item {
|
||||
BlockState iblockdata = world.getBlockState(blockposition);
|
||||
|
||||
if (!iblockdata.is(BlockTags.RAILS)) {
|
||||
@@ -126,7 +127,7 @@ index c6d2f764efa9b8bec730bbe757d480e365b25ccc..cef98413d25dcc2def82775bbae71f92
|
||||
ItemStack itemstack = context.getItemInHand();
|
||||
|
||||
if (!world.isClientSide) {
|
||||
@@ -149,6 +150,6 @@ public class MinecartItem extends Item {
|
||||
@@ -151,6 +152,6 @@ public class MinecartItem extends Item {
|
||||
|
||||
itemstack.shrink(1);
|
||||
return InteractionResult.sidedSuccess(world.isClientSide);
|
||||
@@ -135,7 +136,7 @@ index c6d2f764efa9b8bec730bbe757d480e365b25ccc..cef98413d25dcc2def82775bbae71f92
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index de4c1e4701236e7d5ec77339c51ad6a9d8288bb6..5ac102afde62c08f36886b466010ccfedabfa05e 100644
|
||||
index e6a4a5898ffdcb2aa2bc01371a6d7dbc06d610ce..443bed339884f78ecda8abdbcdc9b57ea9768cc9 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -89,7 +89,7 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
@@ -148,7 +149,7 @@ index de4c1e4701236e7d5ec77339c51ad6a9d8288bb6..5ac102afde62c08f36886b466010ccfe
|
||||
protected ResourceLocation drops;
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 115085ecee8a765921d91288962f9ad8ab2391fa..df1d4a3e6cad6f8e73f28dc2c1da6c9821f6e01f 100644
|
||||
index ed64be25581f407edcd15b8eac1c4effd9bb8728..7290de61830b84ddc54f50353dd5c24a65192816 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -95,6 +95,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 287189fc95067d746e8253fc2633b843a72dcd73..bb8ba67c7a4a4c7a641e103bd20cbc0a01dc66b2 100644
|
||||
index e2a09ca6fca5aa9623eae152e9861f81f7371811..23c6ec58ab4bbd1807e3f05779258a9fd0e5133e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1805,6 +1805,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1826,6 +1826,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 287189fc95067d746e8253fc2633b843a72dcd73..bb8ba67c7a4a4c7a641e103bd20cbc0a
|
||||
this.dropFromLootTable(source, flag);
|
||||
// Paper start
|
||||
final boolean prev = this.clearEquipmentSlots;
|
||||
@@ -1813,6 +1814,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -1834,6 +1835,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 287189fc95067d746e8253fc2633b843a72dcd73..bb8ba67c7a4a4c7a641e103bd20cbc0a
|
||||
// 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 df1d4a3e6cad6f8e73f28dc2c1da6c9821f6e01f..a1690b8cc9843b17103fc5906244ffbe72eec574 100644
|
||||
index 7290de61830b84ddc54f50353dd5c24a65192816..807b1b1de4019f279618c6e02ab90bf230ed5e66 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -95,6 +95,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 a1690b8cc9843b17103fc5906244ffbe72eec574..0549181f25cc9a31ea6ad9da8170c983667d6bb3 100644
|
||||
index 807b1b1de4019f279618c6e02ab90bf230ed5e66..e943bd03ea9010f7d7f877380c38a38aab396d9f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -96,8 +96,10 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Skip events if there's no listeners
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||
index 80c2c8d565f03ae0ea24fbdecdbe2bc5b9aa4b82..147fcbdd784f06fe23138b20aef82f92ba154998 100644
|
||||
index 3eec879bf3975636739b2491cc05b8177032d16d..a5829f0726fd92faae04f978c82b2f0736bcd50b 100644
|
||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||
@@ -456,6 +456,7 @@ public class Commands {
|
||||
@@ -462,6 +462,7 @@ public class Commands {
|
||||
private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
|
||||
// Paper end - Async command map building
|
||||
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
|
||||
@@ -16,7 +16,7 @@ index 80c2c8d565f03ae0ea24fbdecdbe2bc5b9aa4b82..147fcbdd784f06fe23138b20aef82f92
|
||||
PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
||||
event.getPlayer().getServer().getPluginManager().callEvent(event);
|
||||
|
||||
@@ -466,6 +467,7 @@ public class Commands {
|
||||
@@ -472,6 +473,7 @@ public class Commands {
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 2cac536ebbc21a23a2219c630fe477bf9c00ce65..9cecf7d3e2f860f9de5dd13a352d8d7ed6f95266 100644
|
||||
index 94e55c34084a8bccac95b8e5d108760758e4d61a..c6adced2551977dff3000dce8f6c0b35c295e85e 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1164,6 +1164,7 @@ public abstract class PlayerList {
|
||||
@@ -1156,6 +1156,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + permissionLevel);
|
||||
}
|
||||
@@ -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 287f5b64622cdc98cbe8248c89af27c97fdf8347..eda8479d26d5ccbb516adc6c483c1c8366375ddd 100644
|
||||
index e302593cd3cdba2128355be65ce3f2e40df9f660..09dca4c159e47432c6f2a463320456a1e7f1bae5 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1174,7 +1174,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1155,7 +1155,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.tickServer(this::haveTime);
|
||||
this.profiler.popPush("nextTickWait");
|
||||
this.mayHaveDelayedTasks = true;
|
||||
@@ -18,7 +18,7 @@ index a6bc277b6589dd7104566542733327822d6299a4..dde841cc09ba4a3575a462b035378875
|
||||
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 0549181f25cc9a31ea6ad9da8170c983667d6bb3..a7eee5311c4a697c1effcbb9a65f45529ab65c49 100644
|
||||
index e943bd03ea9010f7d7f877380c38a38aab396d9f..9bac609bcd1cca55a9e92b5959e64910b16c3b58 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,9 +97,11 @@ public class PurpurWorldConfig {
|
||||
@@ -18,10 +18,10 @@ index a1e3f29ce49dc41ad70f74ee224250fe9ebea175..5bfeb39a23a72f57523a3c2db1d79c7a
|
||||
this.spawnLingeringCloud();
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
index 948d352e01d0f167c25401a0c0ce8c1ef8553a24..74d1a0e8de36aaf11e844cc4f40e4c469d6269b4 100644
|
||||
index 346f14f77dfb18d6a11b6d8d7ca8b17ef1ccd285..587eaef37a5acff8c13e7256b9b90fea5e7a6310 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -540,6 +540,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -541,6 +541,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -29,7 +29,7 @@ index 948d352e01d0f167c25401a0c0ce8c1ef8553a24..74d1a0e8de36aaf11e844cc4f40e4c46
|
||||
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(reducedTickDelay(2000)) == 0);
|
||||
}
|
||||
|
||||
@@ -585,6 +586,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -586,6 +587,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
|
||||
@Override
|
||||
public boolean canUse() {
|
||||
@@ -38,10 +38,10 @@ index 948d352e01d0f167c25401a0c0ce8c1ef8553a24..74d1a0e8de36aaf11e844cc4f40e4c46
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a7eee5311c4a697c1effcbb9a65f45529ab65c49..f929b11d9cdb172a3092a9105cae2361034db21b 100644
|
||||
index 9bac609bcd1cca55a9e92b5959e64910b16c3b58..2bed8409b399188955a1de405b3e0de4498f8674 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -441,6 +441,7 @@ public class PurpurWorldConfig {
|
||||
@@ -437,6 +437,7 @@ public class PurpurWorldConfig {
|
||||
public boolean creeperControllable = true;
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
@@ -49,7 +49,7 @@ index a7eee5311c4a697c1effcbb9a65f45529ab65c49..f929b11d9cdb172a3092a9105cae2361
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -452,6 +453,7 @@ public class PurpurWorldConfig {
|
||||
@@ -448,6 +449,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
@@ -57,7 +57,7 @@ index a7eee5311c4a697c1effcbb9a65f45529ab65c49..f929b11d9cdb172a3092a9105cae2361
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -558,6 +560,7 @@ public class PurpurWorldConfig {
|
||||
@@ -554,6 +556,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanRidableInWater = true;
|
||||
public boolean endermanControllable = true;
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
@@ -65,7 +65,7 @@ index a7eee5311c4a697c1effcbb9a65f45529ab65c49..f929b11d9cdb172a3092a9105cae2361
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -568,6 +571,7 @@ public class PurpurWorldConfig {
|
||||
@@ -564,6 +567,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.enderman.attributes.max_health", oldValue);
|
||||
}
|
||||
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
|
||||
@@ -18,10 +18,10 @@ index 0d9b194781d152e842c9a4b8d6f23d307b2e4452..00cf59524477ec79d4354cc403fc3e75
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
index 564908ce0a560c2190fb624e77d227d3b7031024..f2a4e214744227f1df32e3782e71f8a9d5cea261 100644
|
||||
index 5119d070dbb04f5a4f9c2def526e33e15ca8573f..d5408629801716ccb227b6a7068d17495ed3d0fb 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
|
||||
@@ -43,6 +43,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
@@ -42,6 +42,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
// CraftBukkit end
|
||||
|
||||
public abstract class AbstractVillager extends AgeableMob implements InventoryCarrier, Npc, Merchant {
|
||||
@@ -30,10 +30,10 @@ index 564908ce0a560c2190fb624e77d227d3b7031024..f2a4e214744227f1df32e3782e71f8a9
|
||||
// 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 773e9ea9036ecfe48cae481484e9f5e64b6cc29b..91a44381a822ce4dc543401a930d32c8d4a5a7eb 100644
|
||||
index 44aad6e77bbf640547b6bab24587ea93db630c7a..d7cad34509c126122bce62596371780c34404024 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
|
||||
@@ -154,6 +154,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
@@ -153,6 +153,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
|
||||
this.getNavigation().setCanFloat(true);
|
||||
this.setCanPickUpLoot(true);
|
||||
this.setVillagerData(this.getVillagerData().setType(type).setProfession(VillagerProfession.NONE));
|
||||
@@ -42,10 +42,10 @@ index 773e9ea9036ecfe48cae481484e9f5e64b6cc29b..91a44381a822ce4dc543401a930d32c8
|
||||
|
||||
// Purpur start
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
index 33702273c7fabdb8e5bfb3d0e15530f109e318be..509bde6c02d9e74158da7a134fbdda1603cb3ec0 100644
|
||||
index 9178c018c8e008b46a978bb95c244abf986f93d9..c1c41990bc53c822aa170e3d69924437f4a25115 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
|
||||
@@ -108,6 +108,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
@@ -112,6 +112,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
|
||||
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D));
|
||||
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
|
||||
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D));
|
||||
@@ -54,10 +54,10 @@ index 33702273c7fabdb8e5bfb3d0e15530f109e318be..509bde6c02d9e74158da7a134fbdda16
|
||||
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
|
||||
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f929b11d9cdb172a3092a9105cae2361034db21b..e2667728ea44292ae05e80f1a27ed3edb36db7b1 100644
|
||||
index 2bed8409b399188955a1de405b3e0de4498f8674..b78702f6d2cb36d720c6ef59e5414ca381af08a1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1439,6 +1439,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerRidableInWater = true;
|
||||
public boolean villagerControllable = true;
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
@@ -65,7 +65,7 @@ index f929b11d9cdb172a3092a9105cae2361034db21b..e2667728ea44292ae05e80f1a27ed3ed
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1449,6 +1450,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.villager.attributes.max_health", oldValue);
|
||||
}
|
||||
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
|
||||
@@ -73,7 +73,7 @@ index f929b11d9cdb172a3092a9105cae2361034db21b..e2667728ea44292ae05e80f1a27ed3ed
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1471,6 +1473,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1467,6 +1469,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wanderingTraderRidableInWater = true;
|
||||
public boolean wanderingTraderControllable = true;
|
||||
public double wanderingTraderMaxHealth = 20.0D;
|
||||
@@ -81,7 +81,7 @@ index f929b11d9cdb172a3092a9105cae2361034db21b..e2667728ea44292ae05e80f1a27ed3ed
|
||||
private void wanderingTraderSettings() {
|
||||
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
|
||||
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
|
||||
@@ -1481,6 +1484,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1477,6 +1480,7 @@ public class PurpurWorldConfig {
|
||||
set("mobs.wandering_trader.attributes.max_health", oldValue);
|
||||
}
|
||||
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user