9
0
mirror of https://github.com/BX-Team/DivineMC.git synced 2025-12-19 14:59:25 +00:00

Update to 1.21.3

This commit is contained in:
NONPLAYT
2024-11-02 16:43:01 +03:00
parent f633f03709
commit deacaf316e
64 changed files with 338 additions and 349 deletions

View File

@@ -36,7 +36,7 @@ All other files are licensed under MIT.
[![bStats](https://bstats.org/signatures/server-implementation/DivineMC.svg)](https://bstats.org/plugin/server-implementation/DivineMC)
## API
### [Javadoc](https://repo.bx-team.space/javadoc/snapshots/space/bxteam/divinemc/divinemc-api/1.21.1-R0.1-SNAPSHOT)
### [Javadoc](https://repo.bx-team.space/javadoc/snapshots/space/bxteam/divinemc/divinemc-api/1.21.3-R0.1-SNAPSHOT)
### Dependency Information
@@ -51,7 +51,7 @@ All other files are licensed under MIT.
<dependency>
<groupId>space.bxteam.divinemc</groupId>
<artifactId>divinemc-api</artifactId>
<version>1.21.1-R0.1-SNAPSHOT</version>
<version>1.21.3-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
```
@@ -64,7 +64,7 @@ repositories {
```
```groovy
dependencies {
compileOnly("space.bxteam.divinemc:divinemc-api:1.21.1-R0.1-SNAPSHOT")
compileOnly("space.bxteam.divinemc:divinemc-api:1.21.3-R0.1-SNAPSHOT")
}
```

View File

@@ -3,7 +3,7 @@ import io.papermc.paperweight.util.constants.PAPERCLIP_CONFIG
plugins {
java
`maven-publish`
id("io.papermc.paperweight.patcher") version "1.7.3"
id("io.papermc.paperweight.patcher") version "1.7.4"
}
val paperMavenPublicUrl = "https://repo.papermc.io/repository/maven-public/"

View File

@@ -1,8 +1,8 @@
group = space.bxteam.divinemc
mcVersion = 1.21.1
version = 1.21.1-R0.1-SNAPSHOT
purpurRef = 803bf624d9e6616b879a16e6ce3c7e196468c577
mcVersion = 1.21.3
version = 1.21.3-R0.1-SNAPSHOT
purpurRef = c6802b0a27f1f8faac4ad30f902810fd0ed8051e
org.gradle.caching = true
org.gradle.parallel = true

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Divine Branding
diff --git a/build.gradle.kts b/build.gradle.kts
index f68a447f309bc9d45c275bbfee1c237f6fb0d680..5c0bf1662176a1293444dcaa0b8c7ad274a65a66 100644
index 628ec6699d34c1877c02001de95096bc7b44120e..92a2b2494cc181e76528af403cd866f82e3de736 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -233,3 +233,12 @@ tasks.check {
@@ -237,3 +237,12 @@ tasks.check {
dependsOn(scanJarForOldGeneratedCode)
}
// Paper end

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Delete Timings
diff --git a/src/main/java/co/aikar/timings/FullServerTickHandler.java b/src/main/java/co/aikar/timings/FullServerTickHandler.java
deleted file mode 100644
index 3e747abde6fefae90f1c15cb00158bc5303cbe50..0000000000000000000000000000000000000000
index 73b125979e2f2dfd13cbf689a90b29cc68a36e09..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/FullServerTickHandler.java
+++ /dev/null
@@ -1,89 +0,0 @@
@@ -92,7 +92,7 @@ index 3e747abde6fefae90f1c15cb00158bc5303cbe50..00000000000000000000000000000000
- TimingsManager.HISTORY.add(new TimingHistory());
- TimingsManager.resetTimings();
- }
- Bukkit.getUnsafe().reportTimings();
- //Bukkit.getUnsafe().reportTimings();
- }
-
- boolean isViolated() {
@@ -1285,10 +1285,10 @@ index df142a89b8c43acb81eb383eac0ef048a1f49a6e..00000000000000000000000000000000
-}
diff --git a/src/main/java/co/aikar/timings/Timings.java b/src/main/java/co/aikar/timings/Timings.java
deleted file mode 100644
index 3d663104c8e3089abdb9dc4d7309f873ac182e98..0000000000000000000000000000000000000000
index 27a02f0c3261067d8e4ee6169c62cecbbfe50d42..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/Timings.java
+++ /dev/null
@@ -1,333 +0,0 @@
@@ -1,325 +0,0 @@
-/*
- * This file is licensed under the MIT License (MIT).
- *
@@ -1436,16 +1436,8 @@ index 3d663104c8e3089abdb9dc4d7309f873ac182e98..00000000000000000000000000000000
- * @param enabled Should timings be reported
- */
- public static void setTimingsEnabled(boolean enabled) {
- // Purpur start - we don't do that here...
- timingsEnabled = false;
- //warnAboutDeprecationOnEnable();
- //reset();
- // Purpur end
- }
-
- private static void warnAboutDeprecationOnEnable() {
- if (timingsEnabled && !warnedAboutDeprecationOnEnable) {
- Bukkit.getLogger().warning(PlainTextComponentSerializer.plainText().serialize(deprecationMessage()));
- if (enabled && !warnedAboutDeprecationOnEnable) {
- //Bukkit.getLogger().severe(PlainTextComponentSerializer.plainText().serialize(deprecationMessage()));
- warnedAboutDeprecationOnEnable = true;
- }
- }
@@ -1453,7 +1445,7 @@ index 3d663104c8e3089abdb9dc4d7309f873ac182e98..00000000000000000000000000000000
- public static Component deprecationMessage() {
- return Component.text()
- .color(TextColor.color(0xffc93a))
- .append(Component.text("[!] The timings profiler has been enabled but has been scheduled for removal from Paper in the future."))
- .append(Component.text("[!] The timings profiler is in no-op mode and will be fully removed in a later update."))
- .append(Component.newline())
- .append(Component.text(" We recommend migrating to the spark profiler."))
- .append(Component.newline())
@@ -1624,10 +1616,10 @@ index 3d663104c8e3089abdb9dc4d7309f873ac182e98..00000000000000000000000000000000
-
diff --git a/src/main/java/co/aikar/timings/TimingsCommand.java b/src/main/java/co/aikar/timings/TimingsCommand.java
deleted file mode 100644
index 9e165525c4c4c07c783ae2899e07c37ae49ec2de..0000000000000000000000000000000000000000
index f28eec202237461cb489a2b13289d813381a25bc..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/TimingsCommand.java
+++ /dev/null
@@ -1,132 +0,0 @@
@@ -1,130 +0,0 @@
-/*
- * This file is licensed under the MIT License (MIT).
- *
@@ -1686,14 +1678,12 @@ index 9e165525c4c4c07c783ae2899e07c37ae49ec2de..00000000000000000000000000000000
- if (!testPermission(sender)) {
- return true;
- }
- // Purpur start
- if (true) {
- net.kyori.adventure.text.minimessage.MiniMessage mm = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage();
- sender.sendMessage(mm.deserialize("<gold>Purpur has removed timings to save your performance. Please use <click:suggest_command:'/spark'><grey>/spark</grey></click> instead"));
- sender.sendMessage(mm.deserialize("<gold>For more information, view its documentation at"));
- sender.sendMessage(mm.deserialize("<gold><click:open_url:'https://spark.lucko.me/docs/Command-Usage'>https://spark.lucko.me/docs/Command-Usage</click>"));
- sender.sendMessage(mm.deserialize("<gold><click:open_url:'https://spark.lucko.me/docs/Command-Usage'>https://spark.lucko.me/docs/Command-Usage</click>")); // Purpur
- return true;
- // Purpur end
- }
- if (args.length < 1) {
- sender.sendMessage(text("Usage: " + this.usageMessage, NamedTextColor.RED));
@@ -2180,7 +2170,7 @@ index 7740ad53796d08584bb0110f99af5639993e4d71..f0da5a8ae7e989e120f9d5ef2a417a98
server.getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerCommandException(ex, target, sender, args))); // Paper
//target.timings.stopTiming(); // Spigot // Paper
diff --git a/src/main/java/org/bukkit/plugin/SimplePluginManager.java b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
index e8ba4f1108f2548a487877027e37d81fc150e042..a19a9d25996860455a229c4cc2503eeb5ac7ef4b 100644
index 6b6edf9007997d9672e4c850464c1b71cb55f6b4..4d91fa6fd1717aa8a6cd2a9edab888f03d6c1b34 100644
--- a/src/main/java/org/bukkit/plugin/SimplePluginManager.java
+++ b/src/main/java/org/bukkit/plugin/SimplePluginManager.java
@@ -724,12 +724,7 @@ public final class SimplePluginManager implements PluginManager {
@@ -2207,9 +2197,9 @@ index e8ba4f1108f2548a487877027e37d81fc150e042..a19a9d25996860455a229c4cc2503eeb
}
/**
@@ -969,7 +963,7 @@ public final class SimplePluginManager implements PluginManager {
* @param use True if per event timing code should be used
@@ -970,7 +964,7 @@ public final class SimplePluginManager implements PluginManager {
*/
@Deprecated(forRemoval = true)
public void useTimings(boolean use) {
- co.aikar.timings.Timings.setTimingsEnabled(use); // Paper
+

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] DivineMC API Publish
diff --git a/build.gradle.kts b/build.gradle.kts
index 5c0bf1662176a1293444dcaa0b8c7ad274a65a66..b72c89b3fea64d229a072f1fddffc7a71800d228 100644
index 92a2b2494cc181e76528af403cd866f82e3de736..f459d04e10c7162405cea4ce39c94073dfa0b9d5 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -242,3 +242,14 @@ tasks.withType<JavaCompile> {
@@ -246,3 +246,14 @@ tasks.withType<JavaCompile> {
compilerArgs.add("-Xlint:-dep-ann")
}
// DivineMC end

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Bump Dependencies
diff --git a/build.gradle.kts b/build.gradle.kts
index 5ac6f10c0441c8903c11dfcb9a2a1e252f9c06bf..7a111ee5d65f0196c7fa4f04d9eb465b1556a587 100644
index f459d04e10c7162405cea4ce39c94073dfa0b9d5..b6cfcd33f79171ff34fd598babc8956f04d37410 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -12,8 +12,8 @@ java {
@@ -78,7 +78,7 @@ index 5ac6f10c0441c8903c11dfcb9a2a1e252f9c06bf..7a111ee5d65f0196c7fa4f04d9eb465b
testImplementation("org.hamcrest:hamcrest:2.2")
testImplementation("org.mockito:mockito-core:5.14.1")
testImplementation("org.ow2.asm:asm-tree:9.7.1")
@@ -158,12 +164,12 @@ tasks.withType<Javadoc> {
@@ -162,12 +168,12 @@ tasks.withType<Javadoc> {
options.use()
options.isDocFilesSubDirs = true
options.links(
@@ -93,7 +93,7 @@ index 5ac6f10c0441c8903c11dfcb9a2a1e252f9c06bf..7a111ee5d65f0196c7fa4f04d9eb465b
"https://www.javadoc.io/doc/com.google.code.gson/gson/2.10.1",
"https://jspecify.dev/docs/api/",
// Paper end
@@ -176,9 +182,9 @@ tasks.withType<Javadoc> {
@@ -180,9 +186,9 @@ tasks.withType<Javadoc> {
"https://jd.advntr.dev/text-serializer-plain/$adventureVersion/",
"https://jd.advntr.dev/text-logger-slf4j/$adventureVersion/",
"https://javadoc.io/doc/org.slf4j/slf4j-api/$slf4jVersion/",

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Divine Branding
diff --git a/build.gradle.kts b/build.gradle.kts
index 535b0c6a750cc77fb9340d6e080932f3eb3bde17..3e2a092c797ec7918f5c4b838f28b0778c70531c 100644
index ccb31eb5993db028d0cbf104261205c9462f8734..fdddaf24a7d5cd650579f0dd828ff120f64b64d1 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -13,7 +13,7 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
@@ -17,7 +17,7 @@ index 535b0c6a750cc77fb9340d6e080932f3eb3bde17..3e2a092c797ec7918f5c4b838f28b077
// Paper start
implementation("org.jline:jline-terminal-jansi:3.21.0")
implementation("net.minecrell:terminalconsoleappender:1.3.0")
@@ -104,14 +104,14 @@ tasks.jar {
@@ -89,14 +89,14 @@ tasks.jar {
val gitBranch = git("rev-parse", "--abbrev-ref", "HEAD").getText().trim() // Paper
attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main",
@@ -37,7 +37,7 @@ index 535b0c6a750cc77fb9340d6e080932f3eb3bde17..3e2a092c797ec7918f5c4b838f28b077
"Build-Number" to (build ?: ""),
"Build-Time" to Instant.now().toString(),
"Git-Branch" to gitBranch, // Paper
@@ -251,3 +251,12 @@ tasks.registerRunTask("runReobfPaperclip") {
@@ -236,3 +236,12 @@ tasks.registerRunTask("runReobfPaperclip") {
classpath(rootProject.tasks.named<io.papermc.paperweight.tasks.CreatePaperclipJar>("createReobfPaperclipJar").flatMap { it.outputZip })
mainClass.set(null as String?)
}
@@ -173,18 +173,18 @@ index 90b3526479320064378f2cde6c2f2b8e48a59ba6..43ff8842f697106d8d1ea4e58097243b
.completer(new ConsoleCommandCompleter(this.server))
.option(LineReader.Option.COMPLETE_IN_WORD, true);
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
index 3099c21ee589acf6edff5903a23673adf489024f..70c407cc8c6fb28ba6fcde1b8d5a66154ed71223 100644
index a6e5950b5875cafd734300cdfbf58f5d3736f3c8..7256e02150a2ddc2afd821299d36b1c71b7930b6 100644
--- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
+++ b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
@@ -33,6 +33,7 @@ public record ServerBuildInfoImpl(
@@ -32,6 +32,7 @@ public record ServerBuildInfoImpl(
private static final String BRAND_PAPER_NAME = "Paper";
private static final String BRAND_PUFFERFISH_NAME = "Pufferfish"; // Purpur
private static final String BRAND_PURPUR_NAME = "Purpur"; // Purpur
+ private static final String BRAND_DIVINEMC_NAME = "DivineMC"; // DivineMC
private static final String BUILD_DEV = "DEV";
@@ -44,9 +45,9 @@ public record ServerBuildInfoImpl(
@@ -43,9 +44,9 @@ public record ServerBuildInfoImpl(
this(
getManifestAttribute(manifest, ATTRIBUTE_BRAND_ID)
.map(Key::key)
@@ -241,10 +241,10 @@ index 8f74c2ec5252b6265549589310d742337c91cb2c..1f4c965531393dd81246de487bc86f6d
servergui.runFinalizers();
}
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
index 4c178b234bc1118a577d0e016f4b986e9197e99d..e623bb14c44a734607e7c6365620d59a3db9f1da 100644
index 0dde7cd71a32e6c0cde6cbbaef585896a3d7dae7..490c4cf1067fe0f68a681511e60264134063d876 100644
--- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java
@@ -177,7 +177,7 @@ public class RegionFileStorage implements AutoCloseable, ca.spottedleaf.moonrise
@@ -274,7 +274,7 @@ public class RegionFileStorage implements AutoCloseable, ca.spottedleaf.moonrise
// Paper start
private static void printOversizedLog(String msg, Path file, int x, int z) {
@@ -254,13 +254,13 @@ index 4c178b234bc1118a577d0e016f4b986e9197e99d..e623bb14c44a734607e7c6365620d59a
private static CompoundTag readOversizedChunk(RegionFile regionfile, ChunkPos chunkCoordinate) throws IOException {
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index 48999a860a3b9ed691691c355beaf3e0674acb95..3cef3e99e0db3582465309b8bf485145acb5aa7b 100644
index c914e1e13c4f64f24efa5f825e58efb69632bfa6..137b1358ae73d93595eb4d702f44fc3ca3c0d54c 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
+++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -492,7 +492,7 @@ public class CraftScheduler implements BukkitScheduler {
@@ -491,7 +491,7 @@ public class CraftScheduler implements BukkitScheduler {
this.parsePending();
} else {
// this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
// this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(this.currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper
- task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Purpur"); // Paper // Purpur
+ task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to DivineMC"); // Paper // DivineMC
// We don't need to parse pending

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Divine Configuration
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 6e6f4dffceb0032153c5be119303c5809629cfcc..3f02b6540cd0d318fbeb9708a751047dd7f3305b 100644
index e9ad8e2ac267c46df80e884308df8bb12d0deeff..1f5f592fee897afaad76d779c224aa297c436814 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -58,6 +58,7 @@ import net.minecraft.world.level.GameType;
@@ -57,6 +57,7 @@ import net.minecraft.world.level.GameType;
import net.minecraft.world.level.block.entity.SkullBlockEntity;
import net.minecraft.world.level.storage.LevelStorageSource;
import org.slf4j.Logger;
@@ -16,9 +16,9 @@ index 6e6f4dffceb0032153c5be119303c5809629cfcc..3f02b6540cd0d318fbeb9708a751047d
// CraftBukkit start
import net.minecraft.server.WorldLoader;
@@ -253,6 +254,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
gg.pufferfish.pufferfish.PufferfishConfig.load(); // Pufferfish
gg.pufferfish.pufferfish.PufferfishCommand.init(); // Pufferfish
@@ -247,6 +248,16 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); // Paper - start metrics
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now
+ // DivineMC start
+ try {
@@ -34,10 +34,10 @@ index 6e6f4dffceb0032153c5be119303c5809629cfcc..3f02b6540cd0d318fbeb9708a751047d
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
this.setMotd(dedicatedserverproperties.motd);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 5057d9d433ba002a22d22adfaf7323b2cfaee9af..48f43f75c1523d15653be33e39d7eafb3fc4c7f4 100644
index c2aff2f03451b97f1ec6bd4ee987bb729177320a..9fd40654eeacf9c5a8fe136e2b58b8a86768588b 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -83,6 +83,7 @@ import net.minecraft.world.phys.AABB;
@@ -85,6 +85,7 @@ import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraft.world.scores.Scoreboard;
@@ -45,15 +45,15 @@ index 5057d9d433ba002a22d22adfaf7323b2cfaee9af..48f43f75c1523d15653be33e39d7eafb
// CraftBukkit start
import java.util.HashMap;
@@ -174,6 +175,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -175,6 +176,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
+ public final DivineWorldConfig divinemcConfig; // DivineMC
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -732,6 +734,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
private org.spigotmc.TickLimiter tileLimiter;
@@ -887,6 +889,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
@@ -62,10 +62,10 @@ index 5057d9d433ba002a22d22adfaf7323b2cfaee9af..48f43f75c1523d15653be33e39d7eafb
this.generator = gen;
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 8854e3adca98214697fdfa7f1296e2d66b5afa48..c22e65bc83c2505c30d9960f9f2a9e995dfed3c0 100644
index eef85316dc310afef805f29c6665107a24a6a3d1..557eaa1393ba698165893c259ed57ecd589c333c 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -265,6 +265,8 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -268,6 +268,8 @@ import net.md_5.bungee.api.chat.BaseComponent; // Spigot
import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
@@ -74,15 +74,15 @@ index 8854e3adca98214697fdfa7f1296e2d66b5afa48..c22e65bc83c2505c30d9960f9f2a9e99
public final class CraftServer implements Server {
private final String serverName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper
private final String serverVersion;
@@ -1087,6 +1089,7 @@ public final class CraftServer implements Server {
@@ -1089,6 +1091,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
+ DivineConfig.init((File) console.options.valueOf("divinemc-settings")); // DivineMC
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))
@@ -1103,6 +1106,7 @@ public final class CraftServer implements Server {
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -1105,6 +1108,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.purpurConfig.init(); // Purpur
@@ -90,7 +90,7 @@ index 8854e3adca98214697fdfa7f1296e2d66b5afa48..c22e65bc83c2505c30d9960f9f2a9e99
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -1121,6 +1125,7 @@ public final class CraftServer implements Server {
@@ -1123,6 +1127,7 @@ public final class CraftServer implements Server {
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
this.spark.registerCommandBeforePlugins(this); // Paper - spark
org.purpurmc.purpur.PurpurConfig.registerCommands(); // Purpur
@@ -98,7 +98,7 @@ index 8854e3adca98214697fdfa7f1296e2d66b5afa48..c22e65bc83c2505c30d9960f9f2a9e99
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -3068,6 +3073,13 @@ public final class CraftServer implements Server {
@@ -3090,6 +3095,13 @@ public final class CraftServer implements Server {
}
// Purpur end
@@ -113,11 +113,11 @@ index 8854e3adca98214697fdfa7f1296e2d66b5afa48..c22e65bc83c2505c30d9960f9f2a9e99
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 068aa459b4d1dfbbbd80dc0ae5c43b8202474477..48275e7df8ef4959f729331f82c396e9ad5a5b4c 100644
index b2d60b214b58d9a5fadf3629e5ebc358c904d1c6..3cceec60d1664a014472fafb47d6f41ec0082051 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -190,6 +190,14 @@ public class Main {
.describedAs("Yml file");
@@ -184,6 +184,14 @@ public class Main {
.describedAs("Yml file");
// Purpur end
+ // DivineMC start

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Optimize default values for configs
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
index a9dd0e5216e95afd98fd2200d110e2cc0b1b0dca..06b75003e88363aa3902cfef97b3bd3efc43fec9 100644
index cbd0f2c6636b8ae332f20a3cb763b06855dfe795..0bc37e847787fe6e7506dab5c08b659ab2b1526e 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -346,9 +346,9 @@ public class GlobalConfiguration extends ConfigurationPart {
@@ -338,9 +338,9 @@ public class GlobalConfiguration extends ConfigurationPart {
public boolean fixEntityPositionDesync = true;
public boolean loadPermissionsYmlBeforePlugins = true;
@Constraints.Min(4)
@@ -21,10 +21,10 @@ index a9dd0e5216e95afd98fd2200d110e2cc0b1b0dca..06b75003e88363aa3902cfef97b3bd3e
public boolean strictAdvancementDimensionCheck = false;
public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT;
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf9a59da2e 100644
index b7428b8c287980941eaa5c5d1f1d321955277a09..8a2ca46ba706f336a7463f33a7cf9efbc0ed5464 100644
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
@@ -154,9 +154,9 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -153,9 +153,9 @@ public class WorldConfiguration extends ConfigurationPart {
public ArmorStands armorStands;
@@ -37,7 +37,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
}
public Markers markers;
@@ -273,8 +273,8 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -272,8 +272,8 @@ public class WorldConfiguration extends ConfigurationPart {
public Behavior behavior;
public class Behavior extends ConfigurationPart {
@@ -48,7 +48,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
public int experienceMergeMaxValue = -1;
public boolean shouldRemoveDragon = false;
public boolean zombiesTargetTurtleEggs = true;
@@ -298,7 +298,7 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -297,7 +297,7 @@ public class WorldConfiguration extends ConfigurationPart {
public int playerInsomniaStartTicks = 72000;
public int phantomsSpawnAttemptMinSeconds = 60;
public int phantomsSpawnAttemptMaxSeconds = 119;
@@ -57,7 +57,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
@BelowZeroToEmpty
public DoubleOr.Default zombieVillagerInfectionChance = DoubleOr.Default.USE_DEFAULT;
public MobsCanAlwaysPickUpLoot mobsCanAlwaysPickUpLoot;
@@ -309,7 +309,7 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -308,7 +308,7 @@ public class WorldConfiguration extends ConfigurationPart {
}
public boolean disablePlayerCrits = false;
@@ -66,7 +66,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
@Comment("Prevents merging items that are not on the same y level, preventing potential visual artifacts.")
public boolean onlyMergeItemsHorizontally = false;
public PillagerPatrols pillagerPatrols;
@@ -407,7 +407,7 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -406,7 +406,7 @@ public class WorldConfiguration extends ConfigurationPart {
public class Environment extends ConfigurationPart {
public boolean disableThunder = false;
public boolean disableIceAndSnow = false;
@@ -75,7 +75,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
public boolean disableExplosionKnockback = false;
public boolean generateFlatBedrock = false;
public FrostedIce frostedIce;
@@ -457,7 +457,7 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -456,7 +456,7 @@ public class WorldConfiguration extends ConfigurationPart {
public class Maps extends ConfigurationPart {
public int itemFrameCursorLimit = 128;
@@ -84,7 +84,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
}
public Fixes fixes;
@@ -483,7 +483,7 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -482,7 +482,7 @@ public class WorldConfiguration extends ConfigurationPart {
public class Hopper extends ConfigurationPart {
public boolean cooldownWhenFull = true;
public boolean disableMoveEvent = false;
@@ -93,7 +93,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
}
public Collisions collisions;
@@ -491,9 +491,9 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -490,9 +490,9 @@ public class WorldConfiguration extends ConfigurationPart {
public class Collisions extends ConfigurationPart {
public boolean onlyPlayersCollide = false;
public boolean allowVehicleCollisions = true;
@@ -105,7 +105,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
public boolean allowPlayerCrammingDamage = false;
}
@@ -501,18 +501,31 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -500,18 +500,31 @@ public class WorldConfiguration extends ConfigurationPart {
public class Chunks extends ConfigurationPart {
public AutosavePeriod autoSaveInterval = AutosavePeriod.def();
@@ -147,7 +147,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
});
public boolean flushRegionsOnSave = false;
}
@@ -527,13 +540,15 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -526,13 +539,15 @@ public class WorldConfiguration extends ConfigurationPart {
public TickRates tickRates;
public class TickRates extends ConfigurationPart {
@@ -168,7 +168,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
}
@Setting(FeatureSeedsGeneration.FEATURE_SEEDS_KEY)
@@ -542,7 +557,7 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -541,7 +556,7 @@ public class WorldConfiguration extends ConfigurationPart {
public class FeatureSeeds extends ConfigurationPart {
@SuppressWarnings("unused") // Is used in FeatureSeedsGeneration
@Setting(FeatureSeedsGeneration.GENERATE_KEY)
@@ -177,7 +177,7 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
@Setting(FeatureSeedsGeneration.FEATURES_KEY)
public Reference2LongMap<Holder<ConfiguredFeature<?, ?>>> features = new Reference2LongOpenHashMap<>();
@@ -563,9 +578,9 @@ public class WorldConfiguration extends ConfigurationPart {
@@ -562,9 +577,9 @@ public class WorldConfiguration extends ConfigurationPart {
public class Misc extends ConfigurationPart {
public int lightQueueSize = 20;
@@ -190,10 +190,10 @@ index c867796f625813797f167610ad443c4be5a7561e..b49f019cd700f3820e5947b9ba46beaf
public boolean disableEndCredits = false;
public DoubleOr.Default maxLeashDistance = DoubleOr.Default.USE_DEFAULT;
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 3f02b6540cd0d318fbeb9708a751047dd7f3305b..37b77f5c1205d5ffdbb78564bba79373c0ae5885 100644
index 1f5f592fee897afaad76d779c224aa297c436814..8ce566deb3c3267a2281943581ab213f1dea4e9b 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -346,7 +346,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -340,7 +340,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
String proxyFlavor = (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.velocity.enabled) ? "Velocity" : "BungeeCord";
String proxyLink = (io.papermc.paper.configuration.GlobalConfiguration.get().proxies.velocity.enabled) ? "https://docs.papermc.io/velocity/security" : "http://www.spigotmc.org/wiki/firewall-guide/";
// Paper end - Add Velocity IP Forwarding Support
@@ -203,10 +203,10 @@ index 3f02b6540cd0d318fbeb9708a751047dd7f3305b..37b77f5c1205d5ffdbb78564bba79373
DedicatedServer.LOGGER.warn("The server will make no attempt to authenticate usernames. Beware.");
// Spigot start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 546d920198acc2a7aea6e251a34d92d33cbaaee7..713bb7a718c8663ff1d05f71ef22bf3046245b55 100644
index 95cd1156766895546ef5574b33a60806bff08fa2..4933dc4d6e8e6920feed37f3a68adf74730fee1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -243,7 +243,7 @@ public class PurpurConfig {
@@ -244,7 +244,7 @@ public class PurpurConfig {
laggingThreshold = getDouble("settings.lagging-threshold", laggingThreshold);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add missing purpur config options
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index 62c62fd26660d8405378340315042d7b95ac7046..db8adf098181b5a40f1599fecc09ee7b0cf5310a 100644
index 5904b82b87bcdbe41367843885f7c1bd1272d1f1..c6e2543f81f0d10f00296b3425a2b9345fce842b 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -160,6 +160,18 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
@@ -162,6 +162,18 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
}
// Purpur end
@@ -28,10 +28,10 @@ index 62c62fd26660d8405378340315042d7b95ac7046..db8adf098181b5a40f1599fecc09ee7b
protected Brain.Provider<Allay> brainProvider() {
return Brain.provider(Allay.MEMORY_TYPES, Allay.SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index e88d6d691bb176e33afeb294d735dfb2cbac12ff..c84739e82b7e35ad95f145a48b0da290cb148561 100644
index dbce71f45c008da883b6d244a06343d83ae25e7e..4551fd70a30c7309468a701f92ba92acc8fe7e36 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
@@ -98,6 +98,18 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Saddl
@@ -98,6 +98,18 @@ public class Camel extends AbstractHorse {
}
// Purpur end
@@ -51,10 +51,10 @@ index e88d6d691bb176e33afeb294d735dfb2cbac12ff..c84739e82b7e35ad95f145a48b0da290
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 4c861b18fbfbae3cb2f1e3563393cfcf4005591c..418e8b9227789cc100c5972901bbe8c939c652d3 100644
index 49915ec0ee5fb6e7d25b079e0410942d44aa1e33..049e6838035d447e31371806e1b0247b6acce739 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -166,6 +166,23 @@ public class Frog extends Animal implements VariantHolder<Holder<FrogVariant>> {
@@ -169,6 +169,23 @@ public class Frog extends Animal implements VariantHolder<Holder<FrogVariant>> {
return this.level().purpurConfig.frogBreedingTicks;
}
@@ -79,7 +79,7 @@ index 4c861b18fbfbae3cb2f1e3563393cfcf4005591c..418e8b9227789cc100c5972901bbe8c9
protected Brain.Provider<Frog> brainProvider() {
return Brain.provider(MEMORY_TYPES, SENSOR_TYPES);
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
index 5cd69dd546f42e80a3d3e3a674f65c2ac39f3af9..12a7b075765c9cad88801547eace67c7002095f0 100644
index fb91677fb03b7bc1decdf181b7b15d971ffacdc2..431fb29b39426e9404da331ab58a0d14232069a5 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
+++ b/src/main/java/net/minecraft/world/entity/animal/frog/Tadpole.java
@@ -95,6 +95,23 @@ public class Tadpole extends AbstractFish {
@@ -107,10 +107,10 @@ index 5cd69dd546f42e80a3d3e3a674f65c2ac39f3af9..12a7b075765c9cad88801547eace67c7
protected PathNavigation createNavigation(Level world) {
return new WaterBoundPathNavigation(this, world);
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 b6f5281705ce4c7a755e3818cf6c4a2235a024f9..13d73b88e33d279ae96bf160fa25d47c88dd6a55 100644
index 464a16df15d8759d66f94ad080d1ea28b3f6474c..3742917207572f0698c779a262b887c04e11c8d8 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
@@ -122,6 +122,18 @@ public class Sniffer extends Animal {
@@ -118,6 +118,18 @@ public class Sniffer extends Animal {
}
// Purpur end
@@ -130,10 +130,10 @@ index b6f5281705ce4c7a755e3818cf6c4a2235a024f9..13d73b88e33d279ae96bf160fa25d47c
protected void defineSynchedData(SynchedEntityData.Builder builder) {
super.defineSynchedData(builder);
diff --git a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
index 8e24cd9ed03e2f11da6f4fb2dd58dd9b9e5d7a06..e7c82656e46201ae144629945dcd33f14774b9de 100644
index fcfea2cdd5df9fe505df3f7c866cd8d27ad9b249..aa663c0e4f392f8c1579862f75accf82e558bb54 100644
--- a/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
+++ b/src/main/java/net/minecraft/world/entity/monster/warden/Warden.java
@@ -150,6 +150,23 @@ public class Warden extends Monster implements VibrationSystem {
@@ -153,6 +153,23 @@ public class Warden extends Monster implements VibrationSystem {
}
// Purpur end
@@ -157,43 +157,46 @@ index 8e24cd9ed03e2f11da6f4fb2dd58dd9b9e5d7a06..e7c82656e46201ae144629945dcd33f1
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket(ServerEntity entityTrackerEntry) {
return new ClientboundAddEntityPacket(this, entityTrackerEntry, this.hasPose(Pose.EMERGING) ? 1 : 0);
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
index c14019a131c90c699b8a76bada82592b66f0fa89..6f3fede6a51c6854dd93fe1462097ab38dd11123 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/ChestBoat.java
@@ -34,6 +34,9 @@ import org.bukkit.entity.HumanEntity;
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractChestBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractChestBoat.java
index 1f4cc08e84a23213bb9786ea09ad77caeec2d336..a9941d8b9dbe80f77f27c2166f8c2ec9f34077c4 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractChestBoat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractChestBoat.java
@@ -35,10 +35,10 @@ import org.bukkit.entity.HumanEntity;
import org.bukkit.event.entity.EntityRemoveEvent;
import org.bukkit.inventory.InventoryHolder;
// CraftBukkit end
+// DivineMC start
+import org.purpurmc.purpur.PurpurConfig;
+// DivineMC end
+import org.purpurmc.purpur.PurpurConfig; // DivineMC - Add missing purpur config options
public class ChestBoat extends Boat implements HasCustomInventoryScreen, ContainerEntity {
public abstract class AbstractChestBoat extends AbstractBoat implements HasCustomInventoryScreen, ContainerEntity {
-
- private static final int CONTAINER_SIZE = 27;
+ private static final int CONTAINER_SIZE = PurpurConfig.chestBoatRows * 9; // DivineMC - Add missing purpur config options
private NonNullList<ItemStack> itemStacks;
@Nullable
private ResourceKey<LootTable> lootTable;
@@ -46,7 +46,7 @@ public abstract class AbstractChestBoat extends AbstractBoat implements HasCusto
@@ -45,7 +48,7 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
public ChestBoat(EntityType<? extends Boat> type, Level world) {
super(type, world);
public AbstractChestBoat(EntityType<? extends AbstractChestBoat> type, Level world, Supplier<Item> itemSupplier) {
super(type, world, itemSupplier);
- this.itemStacks = NonNullList.withSize(27, ItemStack.EMPTY);
+ this.itemStacks = NonNullList.withSize(PurpurConfig.chestBoatRows * 9, ItemStack.EMPTY); // DivineMC start - Add missing purpur config options
+ this.itemStacks = NonNullList.withSize(PurpurConfig.chestBoatRows * 9, ItemStack.EMPTY); // DivineMC - Add missing purpur config options
}
public ChestBoat(Level world, double d0, double d1, double d2) {
@@ -177,7 +180,7 @@ public class ChestBoat extends Boat implements HasCustomInventoryScreen, Contain
@Override
@@ -142,7 +142,7 @@ public abstract class AbstractChestBoat extends AbstractBoat implements HasCusto
@Override
public int getContainerSize() {
- return 27;
+ return PurpurConfig.chestBoatRows * 9; // DivineMC - Add missing purpur config options
+ return PurpurConfig.chestBoatRows * 9; // DivineMC - Add missing purpur config options
}
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 713bb7a718c8663ff1d05f71ef22bf3046245b55..48895d1edcfa56b1fd61ef19c95028fcc67e8303 100644
index 4933dc4d6e8e6920feed37f3a68adf74730fee1e..21126e3122ffc5ecd64293e108a181cf9de8cfb0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -330,6 +330,7 @@ public class PurpurConfig {
@@ -331,6 +331,7 @@ public class PurpurConfig {
}
public static int barrelRows = 3;
@@ -201,7 +204,7 @@ index 713bb7a718c8663ff1d05f71ef22bf3046245b55..48895d1edcfa56b1fd61ef19c95028fc
public static boolean enderChestSixRows = false;
public static boolean enderChestPermissionRows = false;
public static boolean cryingObsidianValidForPortalFrame = false;
@@ -372,6 +373,7 @@ public class PurpurConfig {
@@ -373,6 +374,7 @@ public class PurpurConfig {
case 1 -> 9;
default -> 27;
});
@@ -210,7 +213,7 @@ index 713bb7a718c8663ff1d05f71ef22bf3046245b55..48895d1edcfa56b1fd61ef19c95028fc
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3bcbf5e2dbb991a8416d827ddfe59e04f701ebf7..7f2c89928031301fcd50a70a2ef18fcb005784bc 100644
index d39a0d455f10189054ebc894c55188c5cbc000d2..7809b6c148aca026088f81a3e0517a13960b1053 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1135,12 +1135,20 @@ public class PurpurWorldConfig {
@@ -250,7 +253,7 @@ index 3bcbf5e2dbb991a8416d827ddfe59e04f701ebf7..7f2c89928031301fcd50a70a2ef18fcb
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
camelMaxHealthMax = getDouble("mobs.camel.attributes.max_health.max", camelMaxHealthMax);
@@ -1744,7 +1760,17 @@ public class PurpurWorldConfig {
@@ -1742,7 +1758,17 @@ public class PurpurWorldConfig {
public boolean frogControllable = true;
public float frogRidableJumpHeight = 0.65F;
public int frogBreedingTicks = 6000;
@@ -268,7 +271,7 @@ index 3bcbf5e2dbb991a8416d827ddfe59e04f701ebf7..7f2c89928031301fcd50a70a2ef18fcb
frogRidable = getBoolean("mobs.frog.ridable", frogRidable);
frogRidableInWater = getBoolean("mobs.frog.ridable-in-water", frogRidableInWater);
frogControllable = getBoolean("mobs.frog.controllable", frogControllable);
@@ -2756,7 +2782,15 @@ public class PurpurWorldConfig {
@@ -2754,7 +2780,15 @@ public class PurpurWorldConfig {
public double snifferMaxHealth = 14.0D;
public double snifferScale = 1.0D;
public int snifferBreedingTicks = 6000;
@@ -284,7 +287,7 @@ index 3bcbf5e2dbb991a8416d827ddfe59e04f701ebf7..7f2c89928031301fcd50a70a2ef18fcb
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
@@ -2864,7 +2898,17 @@ public class PurpurWorldConfig {
@@ -2862,7 +2896,17 @@ public class PurpurWorldConfig {
public boolean tadpoleRidable = false;
public boolean tadpoleRidableInWater = true;
public boolean tadpoleControllable = true;
@@ -302,7 +305,7 @@ index 3bcbf5e2dbb991a8416d827ddfe59e04f701ebf7..7f2c89928031301fcd50a70a2ef18fcb
tadpoleRidable = getBoolean("mobs.tadpole.ridable", tadpoleRidable);
tadpoleRidableInWater = getBoolean("mobs.tadpole.ridable-in-water", tadpoleRidableInWater);
tadpoleControllable = getBoolean("mobs.tadpole.controllable", tadpoleControllable);
@@ -3092,7 +3136,17 @@ public class PurpurWorldConfig {
@@ -3090,7 +3134,17 @@ public class PurpurWorldConfig {
public boolean wardenRidable = false;
public boolean wardenRidableInWater = true;
public boolean wardenControllable = true;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix MC-93826
diff --git a/src/main/java/net/minecraft/world/entity/animal/Animal.java b/src/main/java/net/minecraft/world/entity/animal/Animal.java
index 91c1093ecef7c8917b69674ffc936b4ae71871e2..a49f39a2e8bc17653f6b8f40bc56ec259f8759fd 100644
index 9987d28ea145f6d0126cb4ea22001e0922fb51bd..792c509a1d2ad342df2e047e71196c892bbc20e7 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Animal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Animal.java
@@ -43,6 +43,8 @@ public abstract class Animal extends AgeableMob {
@@ -49,6 +49,8 @@ public abstract class Animal extends AgeableMob {
@Nullable
public UUID loveCause;
public ItemStack breedItem; // CraftBukkit - Add breedItem variable
@@ -17,7 +17,7 @@ index 91c1093ecef7c8917b69674ffc936b4ae71871e2..a49f39a2e8bc17653f6b8f40bc56ec25
public abstract int getPurpurBreedTime(); // Purpur
protected Animal(EntityType<? extends Animal> type, Level world) {
@@ -74,7 +76,11 @@ public abstract class Animal extends AgeableMob {
@@ -84,7 +86,11 @@ public abstract class Animal extends AgeableMob {
double d1 = this.random.nextGaussian() * 0.02D;
double d2 = this.random.nextGaussian() * 0.02D;

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Fix MC-110386
See https://bugs.mojang.com/browse/MC-110386
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java
index 80ef4b6649da3049f21624926fa38595d76c5da5..3b7424fe3baa2d7d55d34fe7a0ebdbe11862805f 100644
index edfc77ba9c5c7dc4cfe997faff7a34e9b9e9365e..f1dc334ce16f92b1f4c165b931bb322e88646bf9 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/target/HurtByTargetGoal.java
@@ -114,6 +114,7 @@ public class HurtByTargetGoal extends TargetGoal {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix MC-31819
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 330b21946564e6a7b463a258c02fee3f91e0f057..1a2f20e53e0c9b711ce2c4a1b978451e4bc8a7a4 100644
index c1d068fa99ec0fd5685bbb627a775e4d1587feab..7aebbadf3a6b1321207d25c016ff9b52680680a1 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1946,6 +1946,11 @@ public abstract class Player extends LivingEntity {
@@ -1893,6 +1893,11 @@ public abstract class Player extends LivingEntity {
}
public void causeFoodExhaustion(float f, EntityExhaustionEvent.ExhaustionReason reason) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-172801
Original post on Mojira: https://bugs.mojang.com/browse/MC-172801
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 380d70851d764a636c2cf3c617f609073f3eeca6..5e1674319d02c2ff6d6552a10949276633c5fe3a 100644
index 4539a6ad5334417b9c3ff239609466efd8516ef7..9c28b7b271ffde6f80d8d42f82d79c8c190527e7 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3205,7 +3205,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -3289,7 +3289,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
protected float getFlyingSpeed() {

View File

@@ -7,10 +7,10 @@ Original post on Mojira: https://bugs.mojang.com/browse/MC-2025
Fix taken from Reddit: https://redd.it/8pgd4q
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 7aadcaa1785c6560eb1ce2f1179225facca47d84..bdfeabbfd180c08dd58f807c63adc82e4720e172 100644
index 1230b058d2ea791bebb0e05eabe4e789a93448af..10f9889cd98043479751e51fd718e80e18a0f708 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2596,6 +2596,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2754,6 +2754,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
nbttagcompound.putBoolean("Purpur.FireImmune", immuneToFire);
}
// Purpur end
@@ -28,7 +28,7 @@ index 7aadcaa1785c6560eb1ce2f1179225facca47d84..bdfeabbfd180c08dd58f807c63adc82e
return nbttagcompound;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2673,6 +2684,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -2832,6 +2843,14 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
this.reapplyPosition();
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Fix MC-93018
Original post on Mojira: https://bugs.mojang.com/browse/MC-93018
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 ba6036633c1977b7f41b3bd0dd31370924b4bf35..e6ce9af322adf35074f154d75bea66e7750f4dd7 100644
index 499e3294f8dd19fb3802f521cb7d24d0998c8aeb..fa36368bd14b377e81c45115a242e8b497de0cb2 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
@@ -781,14 +781,17 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
@@ -759,14 +759,17 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
public boolean canMate(Animal other) {
if (other == this) {
return false;

View File

@@ -7,10 +7,10 @@ Original code by RelativityMC, licensed under MIT
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index bdfeabbfd180c08dd58f807c63adc82e4720e172..5bebee98005225559fb6e6f60bb6115c8ffa0e89 100644
index 10f9889cd98043479751e51fd718e80e18a0f708..92f8091a9fb7069ef0ed09322fd88b7158e6123d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -323,6 +323,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -325,6 +325,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
public float yRotO;
public float xRotO;
private AABB bb;
@@ -18,10 +18,10 @@ index bdfeabbfd180c08dd58f807c63adc82e4720e172..5bebee98005225559fb6e6f60bb6115c
public boolean onGround;
public boolean horizontalCollision;
public boolean verticalCollision;
@@ -1147,6 +1148,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -1221,6 +1222,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
// Paper end - detailed watchdog information
public void move(MoverType movementType, Vec3 movement) {
public void move(MoverType type, Vec3 movement) {
+ // DivineMC start - vmp: skip entity move if movement is zero
+ if (!boundingBoxChanged && movement.equals(Vec3.ZERO)) {
+ boundingBoxChanged = false;
@@ -31,7 +31,7 @@ index bdfeabbfd180c08dd58f807c63adc82e4720e172..5bebee98005225559fb6e6f60bb6115c
final Vec3 originalMovement = movement; // Paper - Expose pre-collision velocity
// Paper start - detailed watchdog information
ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread("Cannot move an entity off-main");
@@ -4219,6 +4226,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -4500,6 +4507,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
}
public final void setBoundingBox(AABB boundingBox) {

View File

@@ -7,23 +7,23 @@ Original code by RelativityMC, licensed under MIT
You can find the original code on https://github.com/RelativityMC/VMP-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 66ee6ca56897c9646605f5907ce895e54bc30d96..37b50001ea83481610f789dd718eab8fb79ea250 100644
index 5b3a886c624b36557cbfaccdc3fb05a46a4ba36a..b3f5d66ec02953c7ed8c2c05af6f77bc6bb83d1d 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -12,6 +12,7 @@ import com.mojang.datafixers.DataFixer;
@@ -8,6 +8,7 @@ import com.google.common.collect.Queues;
import com.google.common.collect.Sets;
import com.mojang.datafixers.DataFixer;
import com.mojang.logging.LogUtils;
+import it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap; // DivineMC - vmp: use linked map for entity trackers for faster iteration
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
+import it.unimi.dsi.fastutil.ints.Int2ObjectLinkedOpenHashMap; // DivineMC - vmp: use linked map for entity trackers for faster iteration
import it.unimi.dsi.fastutil.longs.Long2ByteMap;
import it.unimi.dsi.fastutil.longs.Long2ByteOpenHashMap;
import it.unimi.dsi.fastutil.longs.Long2LongMap;
@@ -183,7 +184,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -186,7 +187,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.toDrop = new LongOpenHashSet();
this.tickingGenerated = new AtomicInteger();
this.playerMap = new PlayerMap();
- this.entityMap = new Int2ObjectOpenHashMap();
+ this.entityMap = new Int2ObjectLinkedOpenHashMap<>(); // DivineMC - vmp: use linked map for entity trackers for faster iteration
this.chunkTypeCache = new Long2ByteOpenHashMap();
this.chunkSaveCooldowns = new Long2LongOpenHashMap();
// Paper - rewrite chunk system
Path path = session.getDimensionPath(world.dimension());

View File

@@ -10,7 +10,7 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric)
Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html)
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raid.java b/src/main/java/net/minecraft/world/entity/raid/Raid.java
index dcbef04bbaab988096bf416163264833e84d1967..f3e3013c0b02224de86ea4f3dd945fd8a26090e1 100644
index 11cf2d9def087b0898c828eaa21eb5f7b8811d5f..c834c29683b586cc347006f8f1298df366d8ca1b 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raid.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raid.java
@@ -107,6 +107,7 @@ public class Raid {
@@ -34,7 +34,7 @@ index dcbef04bbaab988096bf416163264833e84d1967..f3e3013c0b02224de86ea4f3dd945fd8
if (this.status == Raid.RaidStatus.ONGOING) {
boolean flag = this.active;
@@ -660,9 +667,15 @@ public class Raid {
@@ -651,9 +658,15 @@ public class Raid {
}

View File

@@ -7,23 +7,23 @@ Original code by CaffeineMC, licensed under LGPL v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java
index 89e327bc3a45879fe68887c7aadb077f31a770eb..bb0fcf15fa49d6b352b11d4cffe4e2c8b0fe5c30 100644
index 467696a78791d65a66eb380e97d33123a5a12e61..ea7b3b2ad418e046e7f3fae3b09a0b76c4a6152f 100644
--- a/src/main/java/net/minecraft/world/level/GameRules.java
+++ b/src/main/java/net/minecraft/world/level/GameRules.java
@@ -30,6 +30,7 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
@@ -33,6 +33,7 @@ import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.flag.FeatureFlagSet;
import net.minecraft.world.flag.FeatureFlags;
import org.slf4j.Logger;
+import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap;
public class GameRules {
@@ -149,7 +150,7 @@ public class GameRules {
@@ -168,7 +169,7 @@ public class GameRules {
}
private GameRules(Map<GameRules.Key<?>, GameRules.Value<?>> rules) {
private GameRules(Map<GameRules.Key<?>, GameRules.Value<?>> rules, FeatureFlagSet enabledFeatures) {
- this.rules = rules;
+ this.rules = new Object2ObjectOpenHashMap<>(rules); // DivineMC - lithium: collections.gamerules
this.enabledFeatures = enabledFeatures;
// Paper start - Perf: Use array for gamerule storage
int arraySize = rules.keySet().stream().mapToInt(key -> key.gameRuleIndex).max().orElse(-1) + 1;

View File

@@ -7,10 +7,10 @@ Original code by CaffeineMC, licensed under LGPL v3
You can find the original code on https://github.com/CaffeineMC/lithium-fabric (Yarn mappings)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5e1674319d02c2ff6d6552a10949276633c5fe3a..5fa5e8d5d71adb5c364e1aede36855dbcfdaa367 100644
index 9c28b7b271ffde6f80d8d42f82d79c8c190527e7..f9f553152a4af3fcc1b04c1278e0b35b85916a0c 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2722,6 +2722,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -2771,6 +2771,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
protected void updateSwingTime() {
@@ -18,11 +18,3 @@ index 5e1674319d02c2ff6d6552a10949276633c5fe3a..5fa5e8d5d71adb5c364e1aede36855db
int i = this.getCurrentSwingDuration();
if (this.swinging) {
@@ -3722,6 +3723,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
private void updateFallFlying() {
+ if (!this.isFallFlying()) return; // DivineMC - lithium: entity.fast_elytra_check
boolean flag = this.getSharedFlag(7);
if (flag && !this.onGround() && !this.isPassenger() && !this.hasEffect(MobEffects.LEVITATION)) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] lithium: math.sine_lut
diff --git a/src/main/java/net/minecraft/util/Mth.java b/src/main/java/net/minecraft/util/Mth.java
index f298cdfcf1539e467f57f9f7789de3cf2ca54665..f83a544be66206ddd52f11524e84e821eb15343c 100644
index ef93fc37759e0b54387c8a59adc2b19258cfeb7d..f6fd9804c6d8e3c492d3d7ebef2e15538820decc 100644
--- a/src/main/java/net/minecraft/util/Mth.java
+++ b/src/main/java/net/minecraft/util/Mth.java
@@ -29,7 +29,7 @@ public class Mth {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Don't save Fireworks
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
index 09d465947a5720e05c350d455c86002682104079..846d8d33eb0f5bb98848b9f3a9e8ab4f46bab984 100644
index 8a4e7e1c0c4919d2ee34121c14f9665b9ad95273..70c8fe6c225a1e90a144f9b00e6ce2d97d5d82a7 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
@@ -347,6 +347,13 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
@@ -370,6 +370,13 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
return false;
}

View File

@@ -7,29 +7,29 @@ Original code by Titaniumtown, modified by NONPLAYT
You can find the original code on https://gitlab.com/Titaniumtown/JettPack
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 27a52e96f5bc97c1e1aceb88088595db93a35b20..24511ef4a618348b7a6fceefc5e6cdb359bb6655 100644
index 9fd40654eeacf9c5a8fe136e2b58b8a86768588b..9771aee811ddfe1078ca4111f46c3010a8737604 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -178,8 +178,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
public final DivineWorldConfig divinemcConfig; // DivineMC
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
- private org.spigotmc.TickLimiter entityLimiter;
- private org.spigotmc.TickLimiter tileLimiter;
private int tileTickPosition;
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public final Map<ServerExplosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Faster redstone torch rapid clock removal; Move from Map in BlockRedstoneTorch to here
@@ -813,8 +811,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
@@ -966,8 +964,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public void onBorderSetDamageSafeZOne(WorldBorder border, double safeZoneRadius) {}
});
// CraftBukkit end
this.timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
- this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime);
- this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime);
this.chunkPacketBlockController = this.paperConfig().anticheat.antiXray.enabled ? new com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor) : com.destroystokyo.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
this.entityLookup = new ca.spottedleaf.moonrise.patches.chunk_system.level.entity.dfl.DefaultEntityLookup(this); // Paper - rewrite chunk system
// Paper start - optimise collisions
this.minSection = ca.spottedleaf.moonrise.common.util.WorldUtil.getMinSection(this);
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index 0e6b697c6e8503beeed9412abddad2b512246b37..3ef20300c50bca5c1bc8a521fb1de53511d3a172 100644
index 0e6b697c6e8503beeed9412abddad2b512246b37..c8c0b7f092886bf50fc9d07df974ec32e95b27e2 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -454,6 +454,7 @@ public class SpigotWorldConfig
@@ -44,7 +44,7 @@ index 0e6b697c6e8503beeed9412abddad2b512246b37..3ef20300c50bca5c1bc8a521fb1de535
this.entityMaxTickTime = this.getInt("max-tick-time.entity", 50);
this.log("Tile Max Tick Time: " + this.tileMaxTickTime + "ms Entity max Tick Time: " + this.entityMaxTickTime + "ms");
}
+ */
+ */
public int thunderChance;
private void thunderChance()

View File

@@ -5,28 +5,19 @@ Subject: [PATCH] Make entity goals public
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b33802b1d77ab 100644
index dc8df0912c1d18176e18a8f4dc43c4f60f81b659..a81d8cee4f8a6b7b0d9a6a64fe8f1b96efe65ef4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -769,7 +769,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -773,7 +773,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.hivePos = pos;
}
- private class BeePollinateGoal extends Bee.BaseBeeGoal {
+ public class BeePollinateGoal extends Bee.BaseBeeGoal {
private static final int MIN_POLLINATION_TICKS = 400;
private static final int MIN_FIND_FLOWER_RETRY_COOLDOWN = 20;
@@ -958,7 +958,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
- private class BeeLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur
+ public class BeeLookControl extends org.purpurmc.purpur.controller.LookControllerWASD { // Purpur // DivineMC - private -> public
BeeLookControl(final Mob entity) {
super(entity);
@@ -994,7 +994,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -809,7 +809,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -35,7 +26,16 @@ index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b3380
BeeEnterHiveGoal() {
super();
@@ -1037,7 +1037,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -914,7 +914,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
- private class BeePollinateGoal extends Bee.BaseBeeGoal {
+ public class BeePollinateGoal extends Bee.BaseBeeGoal { // DivineMC - private -> public
private static final int MIN_POLLINATION_TICKS = 400;
private final Predicate<BlockState> VALID_POLLINATION_BLOCKS = (iblockdata) -> {
@@ -1096,7 +1096,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -44,7 +44,7 @@ index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b3380
BeeLocateHiveGoal() {
super();
@@ -1269,7 +1269,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1325,7 +1325,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -53,16 +53,16 @@ index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b3380
static final int GROW_CHANCE = 30;
@@ -1333,7 +1333,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1394,7 +1394,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
- private class BeeWanderGoal extends Goal {
+ public class BeeWanderGoal extends Goal { // DivineMC - private -> public
private static final int WANDER_THRESHOLD = 22;
@@ -1380,7 +1380,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
BeeWanderGoal() {
this.setFlags(EnumSet.of(Goal.Flag.MOVE));
@@ -1445,7 +1445,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -71,7 +71,7 @@ index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b3380
BeeHurtByOtherGoal(final Bee entitybee) {
super(entitybee);
@@ -1400,7 +1400,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1465,7 +1465,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -80,7 +80,7 @@ index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b3380
BeeBecomeAngryTargetGoal(Bee bee) {
// Objects.requireNonNull(entitybee); // CraftBukkit - decompile error
@@ -1431,7 +1431,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1496,7 +1496,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -90,10 +90,10 @@ index 9a6ec5e465684be7f0d54b1f7e66bdf52603e442..5f228ea02b8912283dfb9a7bd18b3380
BaseBeeGoal() {}
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 765cc746e0469f24de0e84666dc5a41b3d55f472..6d35314b033ba85220ca221480f37dc1d838f163 100644
index 4aad4fdc80070f4000e929fff126714fc67050b0..85292bb708fd71237b921893257e7c1de8294aff 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -566,7 +566,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -575,7 +575,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
}
}
@@ -102,7 +102,7 @@ index 765cc746e0469f24de0e84666dc5a41b3d55f472..6d35314b033ba85220ca221480f37dc1
private final Cat cat;
@Nullable
@@ -712,7 +712,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -713,7 +713,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
}
}
@@ -112,23 +112,23 @@ index 765cc746e0469f24de0e84666dc5a41b3d55f472..6d35314b033ba85220ca221480f37dc1
private final Cat cat;
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 d7d4c2fa1e3a9105b7accf742448e62161506695..9b7feede1fc0b9fd76922c84fb67cbd9a4d0824f 100644
index a2c81d2a1077b2977f1595fd592044baf3e81bab..6d36e1c7ae78da31ab7983fc89b7703caf429cf5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -93,7 +93,7 @@ public class Vindicator extends AbstractIllager {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new Vindicator.VindicatorBreakDoorGoal(this));
this.goalSelector.addGoal(2, new AbstractIllager.RaiderOpenDoorGoal(this));
- this.goalSelector.addGoal(3, new Raider.HoldGroundAttackGoal(this, 10.0F));
+ this.goalSelector.addGoal(3, new HoldGroundAttackGoal(this, 10.0F));
this.goalSelector.addGoal(4, new MeleeAttackGoal(this, 1.0, false));
@@ -96,7 +96,7 @@ public class Vindicator extends AbstractIllager {
this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0, 1.2));
this.goalSelector.addGoal(2, new Vindicator.VindicatorBreakDoorGoal(this));
this.goalSelector.addGoal(3, new AbstractIllager.RaiderOpenDoorGoal(this));
- this.goalSelector.addGoal(4, new Raider.HoldGroundAttackGoal(this, 10.0F));
+ this.goalSelector.addGoal(4, new HoldGroundAttackGoal(this, 10.0F));
this.goalSelector.addGoal(5, new MeleeAttackGoal(this, 1.0, false));
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.targetSelector.addGoal(1, new HurtByTargetGoal(this, Raider.class).setAlertOthers());
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
index 06487fc9ea416d8256e0c2cd1969d4e0283ffb05..ac38e44a7244cafb0b0ad2e5738664ac5d2aa6ca 100644
index 4ef87acec025c6eb706fd8845663aa4f415efb29..7f1986c882d3bdf015dbae27a9d8e2a080d1a122 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -332,7 +332,7 @@ public abstract class Raider extends PatrollingMonster {
@@ -381,7 +381,7 @@ public abstract class Raider extends PatrollingMonster {
}
}
@@ -137,7 +137,7 @@ index 06487fc9ea416d8256e0c2cd1969d4e0283ffb05..ac38e44a7244cafb0b0ad2e5738664ac
private final Raider raider;
private final double speedModifier;
@@ -480,7 +480,7 @@ public abstract class Raider extends PatrollingMonster {
@@ -529,7 +529,7 @@ public abstract class Raider extends PatrollingMonster {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix sprint glitch
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index cbbeece6243746e6872879cc351c81f1054cebcb..499dda2c20c2b866c00d34ccd4088007ee341714 100644
index f9f553152a4af3fcc1b04c1278e0b35b85916a0c..014d4daf0bb4059ad304e309daf20e4abbcd2c0d 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1431,7 +1431,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1461,7 +1461,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
player.setRealHealth(health);
}

View File

@@ -4,11 +4,11 @@ Date: Sat, 10 Jun 2023 13:01:08 +0300
Subject: [PATCH] Boat Settings
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index 294b337ebbefa964975988be3a5476b21adced9e..45e803c67339abf9fe0dfc23173263b216ee4cf0 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -335,7 +335,18 @@ public class Boat extends VehicleEntity implements Leashable, VariantHolder<Boat
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java
index 56c265940208bc94f531a5af94f564b59f35ebf3..d35451601a86de4d09aa4f819f86f7ea3235b660 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractBoat.java
@@ -296,7 +296,18 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable {
}
if (!this.level().isClientSide && this.outOfControlTicks >= 60.0F) {
@@ -28,22 +28,22 @@ index 294b337ebbefa964975988be3a5476b21adced9e..45e803c67339abf9fe0dfc23173263b2
}
if (this.getHurtTime() > 0) {
@@ -888,7 +899,13 @@ public class Boat extends VehicleEntity implements Leashable, VariantHolder<Boat
@@ -839,7 +850,13 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable {
public InteractionResult interact(Player player, InteractionHand hand) {
InteractionResult enuminteractionresult = super.interact(player, hand);
- return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS));
- return (InteractionResult) (enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (!player.isSecondaryUseActive() && this.outOfControlTicks < 60.0F && (this.level().isClientSide || player.startRiding(this)) ? InteractionResult.SUCCESS : InteractionResult.PASS));
+ // DivineMC start - always allow to enter the boat
+ if (this.level().divinemcConfig.alwaysAllowToEnterTheBoat) {
+ return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (true || this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS));
+ return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS));
+ } else {
+ return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS));
+ return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (!player.isSecondaryUseActive() && this.outOfControlTicks < 60.0F && (this.level().isClientSide || player.startRiding(this)) ? InteractionResult.SUCCESS : InteractionResult.PASS);
+ }
+ // DivineMC end
}
@Override
@@ -976,7 +993,13 @@ public class Boat extends VehicleEntity implements Leashable, VariantHolder<Boat
@@ -889,7 +906,13 @@ public abstract class AbstractBoat extends VehicleEntity implements Leashable {
@Override
protected boolean canAddPassenger(Entity passenger) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Despawn shulker bullets on owner death
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
index 7fde1807640d0b02d417f48f1f6758f8ae32e04b..8cbe6ad4277c255f6087e7734008d65d15b1a0da 100644
index 347b1cab11529cb5399e607626c84bc985d5c513..9ab72bfeafed21c47f6ce27cf5df921d4b768f97 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
@@ -226,6 +226,17 @@ public class ShulkerBullet extends Projectile {
@@ -227,6 +227,17 @@ public class ShulkerBullet extends Projectile {
Vec3 vec3d;
if (!this.level().isClientSide) {

View File

@@ -7,10 +7,10 @@ Original project: Bloom-host/Petal
Link: https://github.com/Bloom-host/Petal
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 499dda2c20c2b866c00d34ccd4088007ee341714..65eb5281476124a454490a90867a91b3d29047ca 100644
index 014d4daf0bb4059ad304e309daf20e4abbcd2c0d..8c4e685c4758c24aa8ad6b08e823729815654029 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1042,20 +1042,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1066,20 +1066,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (entity != null) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Snowball and Egg knockback
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
index 1b9d0e28e518c501b4b93ae385ddd64aeade97d5..373ad51fc22e8ecd362297561184ef9e7c48fc41 100644
index 0db58e7d63a5c1b43a2224c247979f23a1d3f899..632e9c255fa7e30bb99d070e0a456d90f3c25b61 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.projectile;
@@ -31,10 +31,10 @@ index 1b9d0e28e518c501b4b93ae385ddd64aeade97d5..373ad51fc22e8ecd362297561184ef9e
// Purpur start - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
index dbd60cc8c39f5d2d4c77e2de4f2567e7fa456cd2..e560ab2c1ebe48367b6991eca4ff2464172f64df 100644
index 155c2bbd35adacb7c3668fbe81a7c454e5102c8b..8c48ad7b52bc7914531abe0319b30aebac38c6e6 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
@@ -49,7 +49,15 @@ public class ThrownEgg extends ThrowableItemProjectile {
@@ -51,7 +51,15 @@ public class ThrownEgg extends ThrowableItemProjectile {
@Override
protected void onHitEntity(EntityHitResult entityHitResult) {
super.onHitEntity(entityHitResult);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make minecart hopper work without players
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/MinecartHopper.java b/src/main/java/net/minecraft/world/entity/vehicle/MinecartHopper.java
index d7f8464bf3eed0e42a5fc7f14a5b243d171f8b5e..822b4cf4beccc237f5db308e4639d2abd16e9aec 100644
index d81a6874e8b25f098df619f84c359e146c7f64de..1d2794b77ca71b1dd9abd1200860467be2c346d9 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/MinecartHopper.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/MinecartHopper.java
@@ -91,6 +91,13 @@ public class MinecartHopper extends AbstractMinecartContainer implements Hopper
@@ -99,6 +99,13 @@ public class MinecartHopper extends AbstractMinecartContainer implements Hopper
}
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Optimize CraftServer.getWorld(UUID)
Original code by MultiPaper - https://github.com/MultiPaper/MultiPaper
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index c22e65bc83c2505c30d9960f9f2a9e995dfed3c0..a132b7e64f551dc28432e57b3e17a80760b51210 100644
index 557eaa1393ba698165893c259ed57ecd589c333c..269255b94851d1a3e8bc12bd7418c2c78977e283 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -266,6 +266,7 @@ import javax.annotation.Nullable; // Paper
@@ -269,6 +269,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
import space.bxteam.divinemc.configuration.DivineConfig; // DivineMC
@@ -17,7 +17,7 @@ index c22e65bc83c2505c30d9960f9f2a9e995dfed3c0..a132b7e64f551dc28432e57b3e17a807
public final class CraftServer implements Server {
private final String serverName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName(); // Paper
@@ -284,6 +285,7 @@ public final class CraftServer implements Server {
@@ -287,6 +288,7 @@ public final class CraftServer implements Server {
protected final DedicatedPlayerList playerList;
private final Map<String, World> worlds = new LinkedHashMap<String, World>();
// private final Map<Class<?>, Registry<?>> registries = new HashMap<>(); // Paper - replace with RegistryAccess
@@ -25,7 +25,7 @@ index c22e65bc83c2505c30d9960f9f2a9e995dfed3c0..a132b7e64f551dc28432e57b3e17a807
private YamlConfiguration configuration;
private YamlConfiguration commandsConfiguration;
private final Yaml yaml = new Yaml(new SafeConstructor(new LoaderOptions()));
@@ -1507,6 +1509,7 @@ public final class CraftServer implements Server {
@@ -1509,6 +1511,7 @@ public final class CraftServer implements Server {
this.getLogger().log(Level.SEVERE, null, ex);
}
@@ -33,7 +33,7 @@ index c22e65bc83c2505c30d9960f9f2a9e995dfed3c0..a132b7e64f551dc28432e57b3e17a807
this.worlds.remove(world.getName().toLowerCase(Locale.ROOT));
this.console.removeLevel(handle);
return true;
@@ -1525,6 +1528,7 @@ public final class CraftServer implements Server {
@@ -1527,6 +1530,7 @@ public final class CraftServer implements Server {
@Override
public World getWorld(UUID uid) {
@@ -41,7 +41,7 @@ index c22e65bc83c2505c30d9960f9f2a9e995dfed3c0..a132b7e64f551dc28432e57b3e17a807
for (World world : this.worlds.values()) {
if (world.getUID().equals(uid)) {
return world;
@@ -1548,6 +1552,7 @@ public final class CraftServer implements Server {
@@ -1550,6 +1554,7 @@ public final class CraftServer implements Server {
System.out.println("World " + world.getName() + " is a duplicate of another world and has been prevented from loading. Please delete the uid.dat file from " + world.getName() + "'s world directory if you want to be able to load the duplicate world.");
return;
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Block Log4Shell exploit
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index fd22a6709c7ffd828fbab5b8723f2b723af92f3d..c81a8ea2431290fdd3c343fefca18ef276cf8e18 100644
index 50bc64000f24aa2ae0df2ce7fc77f27d760b8764..9aabf8d4a333f96f1431da12cd42766a6d1676bd 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2432,6 +2432,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2454,6 +2454,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
private void tryHandleChat(String s, Runnable runnable, boolean sync) { // CraftBukkit
@@ -16,7 +16,7 @@ index fd22a6709c7ffd828fbab5b8723f2b723af92f3d..c81a8ea2431290fdd3c343fefca18ef2
if (ServerGamePacketListenerImpl.isChatMessageIllegal(s)) {
this.disconnectAsync((Component) Component.translatable("multiplayer.disconnect.illegal_characters"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_CHARACTERS); // Paper // Paper - add proper async disconnect
} else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales
@@ -2463,6 +2464,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -2485,6 +2486,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
}
@@ -33,10 +33,10 @@ index fd22a6709c7ffd828fbab5b8723f2b723af92f3d..c81a8ea2431290fdd3c343fefca18ef2
for (int i = 0; i < message.length(); ++i) {
if (!StringUtil.isAllowedChatCharacter(message.charAt(i))) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 173e4a075078af67f030750c9a6294ab3f796677..370612b9c787104f346760978179f853c210ee0a 100644
index 48ad261eec1b74fad5a4fc1516b75fd2aaecd528..05739dc79fb6518680b861ebbd632514e30907c2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -751,6 +751,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -768,6 +768,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
Preconditions.checkArgument(msg != null, "msg cannot be null");
if (this.getHandle().connection == null) return;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable non editable sign warning
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
index c9a1c071780351b584ad8e071ddc26f9a27e5964..5806cff8edc49cad4679b450ae651564d62fbc52 100644
index 6da1eec98c08e4909ecbd48fe90b3fd62011e284..20fe9ab8c31bb84d58228cb644dd5a936a102dc1 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java
@@ -189,7 +189,7 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C
@@ -189,7 +189,7 @@ public class SignBlockEntity extends BlockEntity {
this.setAllowedPlayerEditor((UUID) null);
this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), 3);
} else {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Suppress errors from dirty attributes
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index dfd09004063a8d8d93357633c8d23b6acff67b73..4b554627c135b3a40efdc38b348d023a0cc3a754 100644
index d8717af85f539da807ddf866e17f1e643c83d3f6..50c70173a3e896c0489dcb5f4c8d81b274d4726b 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -417,7 +417,10 @@ public class ServerEntity {
@@ -453,7 +453,10 @@ public class ServerEntity {
}
if (this.entity instanceof LivingEntity) {
@@ -20,7 +20,7 @@ index dfd09004063a8d8d93357633c8d23b6acff67b73..4b554627c135b3a40efdc38b348d023a
if (!set.isEmpty()) {
// CraftBukkit start - Send scaled max health
@@ -428,7 +431,7 @@ public class ServerEntity {
@@ -464,7 +467,7 @@ public class ServerEntity {
this.broadcastAndSend(new ClientboundUpdateAttributesPacket(this.entity.getId(), set));
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Carpet-Fixes: getBiome Optimize
diff --git a/src/main/java/net/minecraft/world/level/biome/BiomeManager.java b/src/main/java/net/minecraft/world/level/biome/BiomeManager.java
index 01352cc83b25eb0e30b7e0ff521fc7c1b3d5155b..c042287e12b5ce814afe8557e4dfa8e8b16b0f5a 100644
index 90f8360f547ce709fd13ee34f8e67d8bfa94b498..e71cfe169d8113b1e38fb1f3f12dc9b5177c83de 100644
--- a/src/main/java/net/minecraft/world/level/biome/BiomeManager.java
+++ b/src/main/java/net/minecraft/world/level/biome/BiomeManager.java
@@ -14,6 +14,7 @@ public class BiomeManager {

View File

@@ -18,10 +18,10 @@ index ee99519ebd46b1db3e76e7eb86e5cc121c867dc4..43174e6b5bd306273736d1c2971f976c
for (int j = 0; j < this.height; j++) {
for (int k = 0; k < this.depth; k++) {
diff --git a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
index 84300f2f7b7be4f5281edd8e263646dbcbb3ba07..e9d74c2afe848b4dcbd70fc251dfaa2411c18591 100644
index b331c93c82c27f9456fec208a0c008c5bedfa8c4..ec3142ae55686e13c2984eaf8cf0bcc8db0e39a3 100644
--- a/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
+++ b/src/main/java/net/minecraft/world/level/dimension/end/EndDragonFight.java
@@ -45,6 +45,7 @@ import net.minecraft.world.entity.boss.enderdragon.phases.EnderDragonPhase;
@@ -46,6 +46,7 @@ import net.minecraft.world.entity.boss.enderdragon.phases.EnderDragonPhase;
import net.minecraft.world.level.ChunkPos;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.entity.BlockEntity;
@@ -29,7 +29,7 @@ index 84300f2f7b7be4f5281edd8e263646dbcbb3ba07..e9d74c2afe848b4dcbd70fc251dfaa24
import net.minecraft.world.level.block.entity.TheEndPortalBlockEntity;
import net.minecraft.world.level.block.state.pattern.BlockInWorld;
import net.minecraft.world.level.block.state.pattern.BlockPattern;
@@ -291,8 +292,67 @@ public class EndDragonFight {
@@ -292,8 +293,67 @@ public class EndDragonFight {
return false;
}
@@ -97,7 +97,7 @@ index 84300f2f7b7be4f5281edd8e263646dbcbb3ba07..e9d74c2afe848b4dcbd70fc251dfaa24
ChunkPos chunkcoordintpair = new ChunkPos(this.origin);
int i;
@@ -621,6 +681,11 @@ public class EndDragonFight {
@@ -624,6 +684,11 @@ public class EndDragonFight {
}
public boolean respawnDragon(List<EndCrystal> list) { // CraftBukkit - return boolean

View File

@@ -7,7 +7,7 @@ Original code by Bloom-host, licensed under GPL v3
You can find the original code on https://github.com/Bloom-host/Petal
diff --git a/src/main/java/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
index a74732902c0494c67e6acf2fc04581ff9c46b832..42752cf9aa9668f4f813adc177b7ef9798dd017f 100644
index 4729befa12732a9fd65cce243b33b3b479026c41..4f63d2d9e37be27724eddea2c61f681ceb318a97 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
@@ -68,7 +68,7 @@ public class SculkCatalystBlockEntity extends BlockEntity implements GameEventLi
@@ -34,10 +34,10 @@ index a74732902c0494c67e6acf2fc04581ff9c46b832..42752cf9aa9668f4f813adc177b7ef97
LivingEntity entityliving1 = deadEntity.getLastHurtByMob();
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index a4578ae22409edb686d0bcbac8cbc1a2e1d7b988..ae8c5228d6d5d1718c597594fcbb1fadec3575dd 100644
index 4640baec5bed6c2d53cc0f8ca1d273cc115abe9b..2194c96ad5d54e082cfbe165f086b8fa29a1ad52 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -82,7 +82,18 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -83,7 +83,18 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
private Supplier<FullChunkStatus> fullStatus;
@Nullable
private LevelChunk.PostLoadProcessor postLoad;
@@ -56,17 +56,17 @@ index a4578ae22409edb686d0bcbac8cbc1a2e1d7b988..ae8c5228d6d5d1718c597594fcbb1fad
+ // DivineMC end
private final LevelChunkTicks<Block> blockTicks;
private final LevelChunkTicks<Fluid> fluidTicks;
@@ -106,7 +117,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
super(pos, upgradeData, world, net.minecraft.server.MinecraftServer.getServer().registryAccess().registryOrThrow(Registries.BIOME), inhabitedTime, sectionArrayInitializer, blendingData); // Paper - Anti-Xray - The world isn't ready yet, use server singleton for registry
this.tickersInLevel = Maps.newHashMap();
private LevelChunk.UnsavedListener unsavedListener;
@@ -98,7 +109,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
this.unsavedListener = (chunkcoordintpair1) -> {
};
this.level = (ServerLevel) world; // CraftBukkit - type
- this.gameEventListenerRegistrySections = new Int2ObjectOpenHashMap();
+ this.gameEventListenerRegistrySections = new GameEventListenerRegistry[getGameEventSectionLength(this.getSectionsCount())]; // DivineMC - Petal: Reduce work done by game event system
Heightmap.Types[] aheightmap_type = Heightmap.Types.values();
int j = aheightmap_type.length;
@@ -245,9 +256,23 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -254,9 +265,23 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
Level world = this.level;
if (world instanceof ServerLevel worldserver) {
@@ -93,7 +93,7 @@ index a4578ae22409edb686d0bcbac8cbc1a2e1d7b988..ae8c5228d6d5d1718c597594fcbb1fad
} else {
return super.getListenerRegistry(ySectionCoord);
}
@@ -641,7 +666,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
@@ -652,7 +677,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
}
private void removeGameEventListenerRegistry(int ySectionCoord) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Carpet-Fixes: Sheep Optimization
Original project: https://github.com/fxmorin/carpet-fixes
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 17b49186293578c06144a476473324a9a1f6fcbb..f073d0657855e70f70c33ec7c7bf82388570e3d2 100644
index a13ce089bacfb6644eea81fbe7c6d640aedaea96..9cde7eafbf6d8dbb13087379e567bc0dfd24f4a6 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java
@@ -66,6 +66,7 @@ import net.minecraft.world.item.DyeItem;
@@ -60,6 +60,7 @@ import net.minecraft.world.item.DyeItem;
import net.minecraft.world.item.Item;
import org.bukkit.craftbukkit.event.CraftEventFactory;
import org.bukkit.event.entity.SheepRegrowWoolEvent;
@@ -17,53 +17,55 @@ index 17b49186293578c06144a476473324a9a1f6fcbb..f073d0657855e70f70c33ec7c7bf8238
// CraftBukkit end
public class Sheep extends Animal implements Shearable {
@@ -459,20 +460,28 @@ public class Sheep extends Animal implements Shearable {
@@ -376,21 +377,30 @@ public class Sheep extends Animal implements Shearable {
return super.finalizeSpawn(world, difficulty, spawnReason, entityData);
}
+ // DivineMC start - Carpet-Fixes: Sheep Optimization
private DyeColor getOffspringColor(Animal firstParent, Animal secondParent) {
- DyeColor enumcolor = ((Sheep) firstParent).getColor();
- DyeColor enumcolor1 = ((Sheep) secondParent).getColor();
private DyeColor getOffspringColor(ServerLevel world, Sheep firstParent, Sheep secondParent) {
- DyeColor enumcolor = firstParent.getColor();
- DyeColor enumcolor1 = secondParent.getColor();
- CraftingInput craftinginput = Sheep.makeCraftInput(enumcolor, enumcolor1);
- Optional<Item> optional = this.level().getRecipeManager().getRecipeFor(RecipeType.CRAFTING, craftinginput, this.level()).map((recipeholder) -> { // CraftBukkit - decompile error
- return ((CraftingRecipe) recipeholder.value()).assemble(craftinginput, this.level().registryAccess());
- Optional<Item> optional = world.recipeAccess().getRecipeFor(RecipeType.CRAFTING, craftinginput, world).map((recipeholder) -> { // CraftBukkit - decompile error
- return ((CraftingRecipe) recipeholder.value()).assemble(craftinginput, world.registryAccess());
- }).map(ItemStack::getItem);
-
- Objects.requireNonNull(DyeItem.class);
- optional = optional.filter(DyeItem.class::isInstance);
- Objects.requireNonNull(DyeItem.class);
- return (DyeColor) optional.map(DyeItem.class::cast).map(DyeItem::getDyeColor).orElseGet(() -> {
- return this.level().random.nextBoolean() ? enumcolor : enumcolor1;
- return world.random.nextBoolean() ? enumcolor : enumcolor1;
- });
+ DyeColor firstColor = ((Sheep) firstParent).getColor();
+ DyeColor secondColor = ((Sheep) secondParent).getColor();
+ DyeColor firstColor = firstParent.getColor();
+ DyeColor secondColor = secondParent.getColor();
+
+ if (space.bxteam.divinemc.configuration.DivineConfig.sheepOptimization) {
+ DyeColor col = ProperDyeMixin.properDye(firstColor, secondColor);
+ if (col == null) col = this.level().random.nextBoolean() ? firstColor : secondColor;
+ if (col == null) col = world.random.nextBoolean() ? firstColor : secondColor;
+ return col;
+ } else {
+ CraftingInput craftinginput = Sheep.makeCraftInput(firstColor, secondColor);
+ Optional<Item> optional = this.level().getRecipeManager().getRecipeFor(RecipeType.CRAFTING, craftinginput, this.level()).map((recipeholder) -> { // CraftBukkit - decompile error
+ return ((CraftingRecipe) recipeholder.value()).assemble(craftinginput, this.level().registryAccess());
+ Optional<Item> optional = world.recipeAccess().getRecipeFor(RecipeType.CRAFTING, craftinginput, world).map((recipeholder) -> { // CraftBukkit - decompile error
+ return ((CraftingRecipe) recipeholder.value()).assemble(craftinginput, world.registryAccess());
+ }).map(ItemStack::getItem);
+
+ Objects.requireNonNull(DyeItem.class);
+ optional = optional.filter(DyeItem.class::isInstance);
+ Objects.requireNonNull(DyeItem.class);
+ return (DyeColor) optional.map(DyeItem.class::cast).map(DyeItem::getDyeColor).orElseGet(() -> {
+ return this.level().random.nextBoolean() ? firstColor : secondColor;
+ return world.random.nextBoolean() ? firstColor : secondColor;
+ });
+ }
}
+ // DivineMC end
private static CraftingInput makeCraftInput(DyeColor firstColor, DyeColor secondColor) {
return CraftingInput.of(2, 1, List.of(new ItemStack(DyeItem.byColor(firstColor)), new ItemStack(DyeItem.byColor(secondColor))));
diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
index acff9dc2f10ecbd3c219e4eaa0c29a259f2192c7..ae15ef065617d3399ce6fa5924f120539625eb40 100644
index 77e07052a923c46ba28d79d531b43dcccf4cd546..d077a9eb5a4720186b25b2a10246576bc0e300d1 100644
--- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
+++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
@@ -161,10 +161,12 @@ public class DivineConfig {
@@ -161,9 +161,11 @@ public class DivineConfig {
public static boolean biomeManagerOptimization = true;
public static boolean optimizedDragonRespawn = true;
public static boolean optimizeNoiseGeneration = true;
@@ -74,8 +76,7 @@ index acff9dc2f10ecbd3c219e4eaa0c29a259f2192c7..ae15ef065617d3399ce6fa5924f12053
optimizeNoiseGeneration = getBoolean("settings.optimizations.optimize-noise-generation", optimizeNoiseGeneration);
+ sheepOptimization = getBoolean("settings.optimizations.sheep-optimization", sheepOptimization);
}
public static boolean asyncPathfinding = true;
}
diff --git a/src/main/java/space/bxteam/divinemc/util/carpetfixes/ProperDyeMixin.java b/src/main/java/space/bxteam/divinemc/util/carpetfixes/ProperDyeMixin.java
new file mode 100644
index 0000000000000000000000000000000000000000..6cbcf1580312a9275e41813a26b36e42a2481a2c

View File

@@ -40,7 +40,7 @@ index 479e6e2aa88a22ef7f8fccb06add6806f5b71d9d..370543f7f710971a37a0d05da8ef484a
buf.writeCollection(this.entries, (buf2, entry) -> entry.write(buf2));
}
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
index 0cd6a50837efce87ca052a0e1e24db2b75761196..1f150b3b338d003fe44074801537b752069ee0c7 100644
index a523a83aec3a6ecbec4d60a187edc0c0167d15b4..b7c6b3b31860d372bead4cd2d3ea00fa4ffe1be3 100644
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
@@ -129,6 +129,16 @@ public class FriendlyByteBuf extends ByteBuf {
@@ -105,10 +105,10 @@ index 5705cb920084b775cce4b361683b32c6b6e003ed..9c031dd0fa279a23405e5b7d77e4c11e
}
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 9d80e8464abc73b1120d3812baace1f2591bf324..8c1c551618aeac3d86d523184b955d80061fe284 100644
index 8ce566deb3c3267a2281943581ab213f1dea4e9b..56cddedd09e54b07abb93a71a7d4d414f1600826 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -715,7 +715,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -692,7 +692,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
// Paper start - Add setting for proxy online mode status
return dedicatedserverproperties.enforceSecureProfile
&& io.papermc.paper.configuration.GlobalConfiguration.get().proxies.isProxyOnlineMode()
@@ -118,10 +118,10 @@ index 9d80e8464abc73b1120d3812baace1f2591bf324..8c1c551618aeac3d86d523184b955d80
}
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
index a9d54c80f682d826ad272731bd6477eed0fd44d5..fba871e503c0832abff212eaeffcec3a970ce0ab 100644
index 7d276c191b391bca24948ddb36b8b7d0f1f03b03..c1d3a811ca17f303b6a35a4c044cacf13e57794a 100644
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
@@ -325,10 +325,24 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
@@ -332,10 +332,24 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
}
public void send(Packet<?> packet) {
@@ -147,10 +147,10 @@ index a9d54c80f682d826ad272731bd6477eed0fd44d5..fba871e503c0832abff212eaeffcec3a
if (packet == null || this.processedDisconnect) { // Spigot
return;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index fa795cf24e0af1ea9e8142a09d1aa62a8f323666..b34aa15941bba2f0b1baa666175761fdf4ad2285 100644
index 7d57f9b7fc4837f0f44f5c1cb76a5751a15b9254..dc5a76a73a801a7930906cde057bd94f08c3a600 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1461,7 +1461,7 @@ public abstract class PlayerList {
@@ -1426,7 +1426,7 @@ public abstract class PlayerList {
}
public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public
@@ -160,12 +160,12 @@ index fa795cf24e0af1ea9e8142a09d1aa62a8f323666..b34aa15941bba2f0b1baa666175761fd
// CraftBukkit start
diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
index ae15ef065617d3399ce6fa5924f120539625eb40..5d16e0269bbdeb5086dbce9f1d51a4dc45150909 100644
index d077a9eb5a4720186b25b2a10246576bc0e300d1..3ed9169eff00857ab78effd04512616895759c29 100644
--- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
+++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
@@ -185,4 +185,9 @@ public class DivineConfig {
else
Bukkit.getLogger().log(Level.INFO, "Using " + asyncPathfindingMaxThreads + " threads for Async Pathfinding");
@@ -168,4 +168,9 @@ public class DivineConfig {
optimizeNoiseGeneration = getBoolean("settings.optimizations.optimize-noise-generation", optimizeNoiseGeneration);
sheepOptimization = getBoolean("settings.optimizations.sheep-optimization", sheepOptimization);
}
+
+ public static boolean noChatSign = true;

View File

@@ -18,7 +18,7 @@ index 8849862b45ccbbc635a1c316e9870bca81e55c04..85b7c7742a2cc678aec317487fc811b9
uniqueId != null ? uniqueId : Util.NIL_UUID,
name != null ? name : ""
diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
index 19d3423644a6a394743c09eb6935bb7633a329a2..de85c108cfc6cfe3357fc381d145851f5bafdf47 100644
index 16069b9cbf6c7679c28a2e9a54e77d23cd10e541..1b33f08b1d4730b28f61435488a1e1c04051c8dc 100644
--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
@@ -174,7 +174,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
@@ -32,7 +32,7 @@ index 19d3423644a6a394743c09eb6935bb7633a329a2..de85c108cfc6cfe3357fc381d145851f
&& !this.iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation) {
Validate.validState(StringUtil.isReasonablePlayerName(packet.name()), "Invalid characters in username", new Object[0]);
diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
index 5d16e0269bbdeb5086dbce9f1d51a4dc45150909..883e3a0c281a4872c74df96e2ce51993f5c4ccee 100644
index 3ed9169eff00857ab78effd04512616895759c29..f8f84e2856703a78217d0d9572955f33ac0d7776 100644
--- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
+++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
@@ -154,8 +154,10 @@ public class DivineConfig {

View File

@@ -7,14 +7,14 @@ Original bug on Mojira: https://bugs.mojang.com/browse/MC-223153
Took here: https://github.com/Winds-Studio/Leaf/blob/ver/1.21/patches/server/0083-Fix-MC-223153.patch
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 7d58a95f7ae8983b466b275f4f82597d38762af0..c5da55438618475bd298f947ca5ed24b5bc3cfd8 100644
index 63d67d46d30ed8ed57cdc0e59b6cb6b75ab22c1f..247cae73841500dbf161edd0f60f4ea61dd3e8d9 100644
--- a/src/main/java/net/minecraft/world/level/block/Blocks.java
+++ b/src/main/java/net/minecraft/world/level/block/Blocks.java
@@ -7535,6 +7535,7 @@ public class Blocks {
.mapColor(MapColor.COLOR_ORANGE)
.instrument(NoteBlockInstrument.BASEDRUM)
.requiresCorrectToolForDrops()
+ .sound(SoundType.COPPER) // DivineMC - Fix MC-223153
.strength(5.0F, 6.0F)
)
@@ -6611,6 +6611,7 @@ public class Blocks {
.mapColor(MapColor.COLOR_ORANGE)
.instrument(NoteBlockInstrument.BASEDRUM)
.requiresCorrectToolForDrops()
+ .sound(SoundType.COPPER) // DivineMC - Fix MC-223153
.strength(5.0F, 6.0F)
);
public static final Block RAW_GOLD_BLOCK = register(

View File

@@ -7,10 +7,10 @@ Original bug on Mojira: https://bugs.mojang.com/browse/MC-119417
Took here: https://github.com/Winds-Studio/Leaf/blob/ver/1.21/patches/server/0082-Fix-MC-119417.patch
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4f72ce384f4c0dbae98effa89aed5c3bb802e635..66028dbd4eab45ab49a46ab09e81d4808adb1d3e 100644
index 07ad39d071cfb16bc9e2560fa1abffe92d42740e..ec691d873736c6f173d1e825c00049f67d4c3a68 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -2256,6 +2256,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
@@ -2507,6 +2507,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId()));
if (gameMode == GameType.SPECTATOR) {
this.removeEntitiesOnShoulder();

View File

@@ -7,18 +7,19 @@ Original bug on Mojira: https://bugs.mojang.com/browse/MC-200418
Took here: https://github.com/Winds-Studio/Leaf/blob/ver/1.21/patches/server/0081-Fix-MC-200418.patch
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 5ead916772c21d8db98e389984d531aae7f59700..e2fe70e4a1eb6a1cb4e8f11ac8138e08bd081c68 100644
index 6f6b32bf7f68d05e4173c31f2e631a409b858a05..620d95056e70c23df5d992562a9a35bbd185b46c 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -334,6 +334,11 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
@@ -326,6 +326,12 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
if (!this.isSilent()) {
world.levelEvent((Player) null, 1027, this.blockPosition(), 0);
}
+
+ // DivineMC start - Fix MC-200418
+ if (entityvillager.isPassenger() && entityvillager.getVehicle() instanceof net.minecraft.world.entity.animal.Chicken && entityvillager.isBaby()) {
+ entityvillager.removeVehicle();
+ }
+ // DivineMC end
}
}
// CraftBukkit start
}, EntityTransformEvent.TransformReason.CURED, CreatureSpawnEvent.SpawnReason.CURED);
if (converted == null) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable moved wrongly threshold
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index c81a8ea2431290fdd3c343fefca18ef276cf8e18..26811a1e1eea3726a7b3e0f8dd65c7cba584e23c 100644
index 9aabf8d4a333f96f1431da12cd42766a6d1676bd..d6f414bb93e9ca939fd7278cf4eaabf6fffaec2e 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -585,7 +585,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -590,7 +590,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
}
// Paper end - Prevent moving into unloaded chunks
@@ -17,7 +17,7 @@ index c81a8ea2431290fdd3c343fefca18ef276cf8e18..26811a1e1eea3726a7b3e0f8dd65c7cb
// CraftBukkit end
ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8});
this.send(new ClientboundMoveVehiclePacket(entity));
@@ -621,8 +621,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -626,8 +626,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
d10 = d6 * d6 + d7 * d7 + d8 * d8;
boolean flag2 = false;
@@ -28,7 +28,7 @@ index c81a8ea2431290fdd3c343fefca18ef276cf8e18..26811a1e1eea3726a7b3e0f8dd65c7cb
ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved wrongly! {}", new Object[]{entity.getName().getString(), this.player.getName().getString(), Math.sqrt(d10)});
}
@@ -1471,7 +1471,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1482,7 +1482,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.MOVED_TOO_QUICKLY,
toX, toY, toZ, toYaw, toPitch, true);
if (!event.isAllowed()) {
@@ -37,7 +37,7 @@ index c81a8ea2431290fdd3c343fefca18ef276cf8e18..26811a1e1eea3726a7b3e0f8dd65c7cb
ServerGamePacketListenerImpl.LOGGER.warn("{} moved too quickly! {},{},{}", new Object[]{this.player.getName().getString(), d6, d7, d8});
this.teleport(this.player.getX(), this.player.getY(), this.player.getZ(), this.player.getYRot(), this.player.getXRot());
return;
@@ -1541,7 +1541,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
@@ -1552,7 +1552,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
d10 = d6 * d6 + d7 * d7 + d8 * d8;
boolean movedWrongly = false; // Paper - Add fail move event; rename
@@ -47,7 +47,7 @@ index c81a8ea2431290fdd3c343fefca18ef276cf8e18..26811a1e1eea3726a7b3e0f8dd65c7cb
io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.MOVED_WRONGLY,
toX, toY, toZ, toYaw, toPitch, true);
diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
index 883e3a0c281a4872c74df96e2ce51993f5c4ccee..acf4a5287ba8d1ec8b4157426aa5794211654b7b 100644
index f8f84e2856703a78217d0d9572955f33ac0d7776..77c6b40f0d5aa97a1fb71e5704c719f4ee34ba8e 100644
--- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
+++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
@@ -155,9 +155,11 @@ public class DivineConfig {

View File

@@ -29,10 +29,10 @@ index 0b500b19a99fa6c2740c0db350a166462668df9c..f13185628dec90a044bf03cf38394b5b
}));
}
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
index 9ebe1f1797b5be562bc4f6d92b9a4d6022ca2151..e29aae167eba565caf143645fd12fc200fae9655 100644
index ee70e7a2f87ca31b1c2918148d585e90601d277b..7d11d8a7baafbcc4c33db37c44975351925ca5ce 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java
@@ -165,7 +165,17 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
@@ -167,7 +167,17 @@ public class DedicatedServerProperties extends Settings<DedicatedServerPropertie
boolean flag = this.get("generate-structures", true);
long i = WorldOptions.parseSeed(s).orElse(WorldOptions.randomSeed());
@@ -52,10 +52,10 @@ index 9ebe1f1797b5be562bc4f6d92b9a4d6022ca2151..e29aae167eba565caf143645fd12fc20
return GsonHelper.parse(!s1.isEmpty() ? s1 : "{}");
}, new JsonObject()), (String) this.get("level-type", (s1) -> {
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
index ebe872c4643038f0c99b289d4d5afdbedd76c6ef..c83ed213739ba2cb4e2213b82880f6c310293e10 100644
index 3c711e1df57ac5b0f8795ebb12299d275792b1d4..2637795942327c51870e9d8dc5858c64bc97d0b8 100644
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
@@ -617,6 +617,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
@@ -644,6 +644,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
}
public ChunkGenerator getGenerator() {
@@ -64,10 +64,10 @@ index ebe872c4643038f0c99b289d4d5afdbedd76c6ef..c83ed213739ba2cb4e2213b82880f6c3
}
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index c093aa5f957083cf288843ea0cb4a5ae77c7fa69..65ea4e9ee736e2ef0d7bc10130211fe635c2a443 100644
index 072316cc08e864c40dd3225709d67cb59e89c6cd..005275d3a3e71c03b382903567445f16c62b8207 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -557,6 +557,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
@@ -636,6 +636,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
chunkgenerator = new org.bukkit.craftbukkit.generator.CustomChunkGenerator(this, chunkgenerator, gen);
}
// CraftBukkit end
@@ -76,28 +76,30 @@ index c093aa5f957083cf288843ea0cb4a5ae77c7fa69..65ea4e9ee736e2ef0d7bc10130211fe6
DataFixer datafixer = minecraftserver.getFixerUpper();
EntityPersistentStorage<Entity> entitypersistentstorage = new EntityStorage(new SimpleRegionStorage(new RegionStorageInfo(convertable_conversionsession.getLevelId(), resourcekey, "entities"), convertable_conversionsession.getDimensionPath(resourcekey).resolve("entities"), datafixer, flag2, DataFixTypes.ENTITY_CHUNK), this, minecraftserver);
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 40c00f73502be66f2a0f3cdb36b963fb25c60704..d924f0c2597a3211716be638183e9b72bc4ffa40 100644
index dad4ef9c672eb4247142de5d045678795951164c..c27684064163af48a5401db2efd72c1e3dbd1fa6 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
@@ -439,7 +439,12 @@ public class Slime extends Mob implements Enemy {
}
@@ -430,8 +430,13 @@ public class Slime extends Mob implements Enemy {
return false;
}
ChunkPos chunkcoordintpair = new ChunkPos(pos);
- ChunkPos chunkcoordintpair = new ChunkPos(pos);
- boolean flag = world.getMinecraftWorld().paperConfig().entities.spawning.allChunksAreSlimeChunks || WorldgenRandom.seedSlimeChunk(chunkcoordintpair.x, chunkcoordintpair.z, ((WorldGenLevel) world).getSeed(), world.getMinecraftWorld().spigotConfig.slimeSeed).nextInt(10) == 0; // Spigot // Paper
+ ChunkPos chunkcoordintpair = new ChunkPos(pos);
+ // DivineMC start - Implement Secure Seed
+ boolean isSlimeChunk = space.bxteam.divinemc.configuration.DivineConfig.enableSecureSeed
+ ? world.getChunk(chunkcoordintpair.x, chunkcoordintpair.z).isSlimeChunk()
+ : WorldgenRandom.seedSlimeChunk(chunkcoordintpair.x, chunkcoordintpair.z, ((WorldGenLevel) world).getSeed(), world.getMinecraftWorld().spigotConfig.slimeSeed).nextInt(10) == 0; // Spigot // Paper
+ ? world.getChunk(chunkcoordintpair.x, chunkcoordintpair.z).isSlimeChunk()
+ : WorldgenRandom.seedSlimeChunk(chunkcoordintpair.x, chunkcoordintpair.z, ((WorldGenLevel) world).getSeed(), world.getMinecraftWorld().spigotConfig.slimeSeed).nextInt(10) == 0; // Spigot // Paper
+ boolean flag = world.getMinecraftWorld().paperConfig().entities.spawning.allChunksAreSlimeChunks || isSlimeChunk;
+ // DivineMC end
// Paper start - Replace rules for Height in Slime Chunks
final double maxHeightSlimeChunk = world.getMinecraftWorld().paperConfig().entities.spawning.slimeSpawnHeight.slimeChunk.maximum;
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
index 75c8125e20b70433fe9d143a3193d821043327c3..57433d0b5a14d4d8632d93850601e3fc115dcc14 100644
index a402e2f774cfc062afab8d86969f3e6f38874063..19e26871f007683e762181171f39e9a46a6b5e77 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
@@ -85,6 +85,11 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom
@@ -85,6 +85,11 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh
protected final LevelHeightAccessor levelHeightAccessor;
protected final LevelChunkSection[] sections;
@@ -109,7 +111,7 @@ index 75c8125e20b70433fe9d143a3193d821043327c3..57433d0b5a14d4d8632d93850601e3fc
// CraftBukkit start - SPIGOT-6814: move to IChunkAccess to account for 1.17 to 1.18 chunk upgrading.
private static final org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new org.bukkit.craftbukkit.persistence.CraftPersistentDataTypeRegistry();
public org.bukkit.craftbukkit.persistence.DirtyCraftPersistentDataContainer persistentDataContainer = new org.bukkit.craftbukkit.persistence.DirtyCraftPersistentDataContainer(ChunkAccess.DATA_TYPE_REGISTRY);
@@ -189,6 +194,17 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom
@@ -189,6 +194,17 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh
return GameEventListenerRegistry.NOOP;
}
@@ -128,7 +130,7 @@ index 75c8125e20b70433fe9d143a3193d821043327c3..57433d0b5a14d4d8632d93850601e3fc
@Nullable
public abstract BlockState setBlockState(BlockPos pos, BlockState state, boolean moved);
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
index 488938c32a48437721a71d294c77468f00c035b9..7557808c22a827564d23d42f365db5a2f3e1343a 100644
index b5114f84b2df2f4606702b892d32d484225d9dcf..1c9b0718bcecf0ce138877b87d72688d3ec2d66f 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -344,7 +344,11 @@ public abstract class ChunkGenerator {
@@ -167,7 +169,7 @@ index 488938c32a48437721a71d294c77468f00c035b9..7557808c22a827564d23d42f365db5a2
StructureSet.StructureSelectionEntry structureset_a1;
diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
index a6b6e5ea191c0e2cd7a2e4f01b89d8af40a83c1b..20b452803f954a085d6c4718400f9eceadee1bc0 100644
index a20520a6bd28bae1cee82258ac49d9753faba2bd..a0fbcf642f5a2aa6354d4287961d93779893d852 100644
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGeneratorStructureState.java
@@ -224,15 +224,20 @@ public class ChunkGeneratorStructureState {
@@ -213,7 +215,7 @@ index 4e56398a6fb8b97199f4c74ebebc1055fb718dcf..8cb513fcd1a7c9abe82513165153a615
ProfiledDuration profiledDuration = JvmProfiler.INSTANCE.onChunkGenerate(chunk.getPos(), context.level().dimension(), this.targetStatus.getName());
return this.task.doWork(context, this, staticCache2D, chunk).thenApply(generated -> this.completeChunkGeneration(generated, profiledDuration));
diff --git a/src/main/java/net/minecraft/world/level/levelgen/WorldOptions.java b/src/main/java/net/minecraft/world/level/levelgen/WorldOptions.java
index 5ae04ec610a885e2ed73e942879a27fe8640471c..0ceb4e744938d98f7288b6690fb98ae012777270 100644
index 41c19e4e7bde4632879da564f52f3d373de27ec4..6070110bdfada835dd6b04f66644a47aa868fe4e 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/WorldOptions.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/WorldOptions.java
@@ -9,8 +9,19 @@ import net.minecraft.util.RandomSource;
@@ -272,8 +274,8 @@ index 5ae04ec610a885e2ed73e942879a27fe8640471c..0ceb4e744938d98f7288b6690fb98ae0
+ this(seed, featureSeed.toArray(), generateStructures, bonusChest, legacyCustomOptions);
}
private WorldOptions(long seed, boolean generateStructures, boolean bonusChest, Optional<String> legacyCustomOptions) {
@@ -39,10 +66,27 @@ public class WorldOptions {
public static WorldOptions testWorldWithRandomSeed() {
@@ -43,10 +70,27 @@ public class WorldOptions {
this.legacyCustomOptions = legacyCustomOptions;
}
@@ -301,7 +303,7 @@ index 5ae04ec610a885e2ed73e942879a27fe8640471c..0ceb4e744938d98f7288b6690fb98ae0
public boolean generateStructures() {
return this.generateStructures;
}
@@ -55,17 +99,25 @@ public class WorldOptions {
@@ -59,17 +103,25 @@ public class WorldOptions {
return this.legacyCustomOptions.isPresent();
}
@@ -331,10 +333,10 @@ index 5ae04ec610a885e2ed73e942879a27fe8640471c..0ceb4e744938d98f7288b6690fb98ae0
public static OptionalLong parseSeed(String seed) {
seed = seed.trim();
diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java
index 17d2bb3f7d158ec1230a1ad7c52b9feeda586630..a1c922ae0962a32fd11d57cbf7a2d0ef47d13911 100644
index 270db8b29cdf65e9bb932637425214eefeca86b7..6cf307b4ddb87ad54ead02dd10290a7a825095e3 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/GeodeFeature.java
@@ -42,7 +42,11 @@ public class GeodeFeature extends Feature<GeodeConfiguration> {
@@ -41,7 +41,11 @@ public class GeodeFeature extends Feature<GeodeConfiguration> {
int j = geodeConfiguration.maxGenOffset;
List<Pair<BlockPos, Integer>> list = Lists.newLinkedList();
int k = geodeConfiguration.distributionPoints.sample(randomSource);
@@ -416,10 +418,10 @@ index cbf13e4f2da6a27619e9bc9a7cd73bb6e69cad2a..8aebe917973f65123a3b0744172a307f
}
diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java b/src/main/java/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
index 139c6d974e4d68c75406760f7d79034abefd7c28..9287854d9ae51c7b0a4a1c0cb4a38c8d803d8ffa 100644
index a59fdf91cb2f17aa2855af0a63a1396ed6179185..3f2ccf2c21411d2a8df39b034b9898a012dbb239 100644
--- a/src/main/java/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
+++ b/src/main/java/net/minecraft/world/level/levelgen/structure/pools/JigsawPlacement.java
@@ -65,7 +65,11 @@ public class JigsawPlacement {
@@ -64,7 +64,11 @@ public class JigsawPlacement {
ChunkGenerator chunkGenerator = context.chunkGenerator();
StructureTemplateManager structureTemplateManager = context.structureTemplateManager();
LevelHeightAccessor levelHeightAccessor = context.heightAccessor();
@@ -429,11 +431,11 @@ index 139c6d974e4d68c75406760f7d79034abefd7c28..9287854d9ae51c7b0a4a1c0cb4a38c8d
+ ? new space.bxteam.divinemc.seed.WorldgenCryptoRandom(context.chunkPos().x, context.chunkPos().z, space.bxteam.divinemc.seed.Globals.Salt.JIGSAW_PLACEMENT, 0)
+ : context.random();
+ // DivineMC end
Registry<StructureTemplatePool> registry = registryAccess.registryOrThrow(Registries.TEMPLATE_POOL);
Registry<StructureTemplatePool> registry = registryAccess.lookupOrThrow(Registries.TEMPLATE_POOL);
Rotation rotation = Rotation.getRandom(worldgenRandom);
StructureTemplatePool structureTemplatePool = structurePool.unwrapKey()
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
index 45e262308aebafa377a2353661acdd122933b99e..dd78e5231e465957308a4e1b56b14e9e67ea592b 100644
index 0074bc0e7147dc3a8c538e796f14ac9bf8725896..2f9e110fc8067dff39eb0222a1fb47b9706122e4 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java
@@ -205,7 +205,12 @@ public class CraftChunk implements Chunk {
@@ -451,10 +453,10 @@ index 45e262308aebafa377a2353661acdd122933b99e..dd78e5231e465957308a4e1b56b14e9e
@Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a132b7e64f551dc28432e57b3e17a80760b51210..57a4d95df6e6044eef01201b494417789090f010 100644
index 269255b94851d1a3e8bc12bd7418c2c78977e283..405103cbe0f897ae1ca1bfef03c7831186e5acae 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1398,7 +1398,11 @@ public final class CraftServer implements Server {
@@ -1400,7 +1400,11 @@ public final class CraftServer implements Server {
iregistrycustom_dimension = leveldataanddimensions.dimensions().dimensionsRegistryAccess();
} else {
LevelSettings worldsettings;
@@ -468,7 +470,7 @@ index a132b7e64f551dc28432e57b3e17a80760b51210..57a4d95df6e6044eef01201b49441778
DedicatedServerProperties.WorldDimensionData properties = new DedicatedServerProperties.WorldDimensionData(GsonHelper.parse((creator.generatorSettings().isEmpty()) ? "{}" : creator.generatorSettings()), creator.type().name().toLowerCase(Locale.ROOT));
diff --git a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
index e8cbdcc5c41acfc18fa040997421fb712de801cb..2fae4c1d1093d0e7c2c52a04b600da971018ad30 100644
index 77c6b40f0d5aa97a1fb71e5704c719f4ee34ba8e..1b814672401425d35777768bc7327657c268e51e 100644
--- a/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
+++ b/src/main/java/space/bxteam/divinemc/configuration/DivineConfig.java
@@ -156,10 +156,12 @@ public class DivineConfig {