1.20.2
This commit is contained in:
@@ -4,7 +4,7 @@ plugins {
|
|||||||
java
|
java
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
|
id("com.github.johnrengelman.shadow") version "8.1.1" apply false
|
||||||
id("io.papermc.paperweight.patcher") version "1.5.8"
|
id("io.papermc.paperweight.patcher") version "1.5.9"
|
||||||
}
|
}
|
||||||
|
|
||||||
val paperMavenPublicUrl = "https://papermc.io/repo/repository/maven-public/"
|
val paperMavenPublicUrl = "https://papermc.io/repo/repository/maven-public/"
|
||||||
@@ -17,7 +17,7 @@ repositories {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
remapper("net.fabricmc:tiny-remapper:0.8.6:fat")
|
remapper("net.fabricmc:tiny-remapper:0.8.10:fat")
|
||||||
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
|
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
|
||||||
paperclip("io.papermc:paperclip:3.0.3")
|
paperclip("io.papermc:paperclip:3.0.3")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ group=com.lokamc.slice
|
|||||||
version=1.20.2-R0.1-SNAPSHOT
|
version=1.20.2-R0.1-SNAPSHOT
|
||||||
|
|
||||||
mcVersion=1.20.2
|
mcVersion=1.20.2
|
||||||
paperRef=02cfaa8ff81fed20f4c635d8ccf344083d938973
|
paperRef=4675152f4908431e0f944a7bf9fa3b2181a2dfd6
|
||||||
|
|
||||||
org.gradle.caching=true
|
org.gradle.caching=true
|
||||||
org.gradle.parallel=true
|
org.gradle.parallel=true
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add World Instance flag
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||||
index 6917931966377c51db88a3364997a110dd987970..792b1b4ea3330b282961844d48b2dc56e0201c7e 100644
|
index 17d404d6d1a5b46b58d612fca38f17e71adee92e..8542f193fe7be07d47b26dd0434965f2c3cd1be9 100644
|
||||||
--- a/src/main/java/org/bukkit/World.java
|
--- a/src/main/java/org/bukkit/World.java
|
||||||
+++ b/src/main/java/org/bukkit/World.java
|
+++ b/src/main/java/org/bukkit/World.java
|
||||||
@@ -2573,6 +2573,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
@@ -2664,6 +2664,11 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||||
*/
|
*/
|
||||||
public void setAutoSave(boolean value);
|
public void setAutoSave(boolean value);
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Set multiple team settings at once
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
diff --git a/src/main/java/org/bukkit/scoreboard/Team.java b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||||
index 8424fdac153f6dea76acce89f4726408d9726c41..6effaeaf885d70f8aeb11b5c44e7f3ab42cf2a90 100644
|
index cacb58d25c249e2ecd6083ed0f30d5ffb345220a..188949e51d2f32357d35baa04b8b17bc9b753bc7 100644
|
||||||
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
--- a/src/main/java/org/bukkit/scoreboard/Team.java
|
||||||
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
+++ b/src/main/java/org/bukkit/scoreboard/Team.java
|
||||||
@@ -514,6 +514,24 @@ public interface Team {
|
@@ -514,6 +514,24 @@ public interface Team extends net.kyori.adventure.audience.ForwardingAudience {
|
||||||
boolean hasEntity(@NotNull org.bukkit.entity.Entity entity) throws IllegalStateException, IllegalArgumentException;
|
boolean hasEntity(@NotNull org.bukkit.entity.Entity entity) throws IllegalStateException, IllegalArgumentException;
|
||||||
// Paper end - improve scoreboard entries
|
// Paper end - improve scoreboard entries
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Smooth Teleports
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
|
||||||
index 20fa1024f9ad8f478a347be5c554b5e45b398a1c..d422017c54d49a5a6aaa5226162cb152c20183a9 100644
|
index 087898a50909a40aabec09f1e52cefed6565ba4c..1ca7b2800dc57e4b617d8225e9c18f30952b993e 100644
|
||||||
--- a/src/main/java/org/bukkit/entity/Player.java
|
--- a/src/main/java/org/bukkit/entity/Player.java
|
||||||
+++ b/src/main/java/org/bukkit/entity/Player.java
|
+++ b/src/main/java/org/bukkit/entity/Player.java
|
||||||
@@ -3160,6 +3160,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
@@ -3169,6 +3169,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
|
||||||
String getClientBrandName();
|
String getClientBrandName();
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
|
|||||||
@@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..b5cc9538a70c7ce0b494d4878d51b521
|
|||||||
+}
|
+}
|
||||||
\ No newline at end of file
|
\ No newline at end of file
|
||||||
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java
|
||||||
index 792b1b4ea3330b282961844d48b2dc56e0201c7e..a2b42e723fd7989b410e8c90f235ce38bd1bae45 100644
|
index 8542f193fe7be07d47b26dd0434965f2c3cd1be9..ba2bc145caf408a81d6f7a69479298628ebf0cf0 100644
|
||||||
--- a/src/main/java/org/bukkit/World.java
|
--- a/src/main/java/org/bukkit/World.java
|
||||||
+++ b/src/main/java/org/bukkit/World.java
|
+++ b/src/main/java/org/bukkit/World.java
|
||||||
@@ -500,6 +500,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
@@ -501,6 +501,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient
|
||||||
//@Deprecated // Paper
|
//@Deprecated // Paper
|
||||||
public boolean refreshChunk(int x, int z);
|
public boolean refreshChunk(int x, int z);
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Build Changes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||||
index c187641f0ec6444a10e0e1583e1697d07e8f0267..566ff8fa0b8791bbac886b1ea09ef5043d0665bb 100644
|
index 79beac737c17412913983614bd478d33e3c6ed58..b049d50ba82d07f89a608333d4c9e84cfe631c09 100644
|
||||||
--- a/build.gradle.kts
|
--- a/build.gradle.kts
|
||||||
+++ b/build.gradle.kts
|
+++ b/build.gradle.kts
|
||||||
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
@@ -13,8 +13,12 @@ configurations.named(log4jPlugins.compileClasspathConfigurationName) {
|
||||||
@@ -23,7 +23,7 @@ index c187641f0ec6444a10e0e1583e1697d07e8f0267..566ff8fa0b8791bbac886b1ea09ef504
|
|||||||
// Paper start
|
// Paper start
|
||||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||||
@@ -72,7 +76,7 @@ tasks.jar {
|
@@ -70,7 +74,7 @@ tasks.jar {
|
||||||
attributes(
|
attributes(
|
||||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||||
"Implementation-Title" to "CraftBukkit",
|
"Implementation-Title" to "CraftBukkit",
|
||||||
@@ -32,7 +32,7 @@ index c187641f0ec6444a10e0e1583e1697d07e8f0267..566ff8fa0b8791bbac886b1ea09ef504
|
|||||||
"Implementation-Vendor" to date, // Paper
|
"Implementation-Vendor" to date, // Paper
|
||||||
"Specification-Title" to "Bukkit",
|
"Specification-Title" to "Bukkit",
|
||||||
"Specification-Version" to project.version,
|
"Specification-Version" to project.version,
|
||||||
@@ -156,7 +160,7 @@ fun TaskContainer.registerRunTask(
|
@@ -154,7 +158,7 @@ fun TaskContainer.registerRunTask(
|
||||||
name: String,
|
name: String,
|
||||||
block: JavaExec.() -> Unit
|
block: JavaExec.() -> Unit
|
||||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||||
@@ -42,7 +42,7 @@ index c187641f0ec6444a10e0e1583e1697d07e8f0267..566ff8fa0b8791bbac886b1ea09ef504
|
|||||||
standardInput = System.`in`
|
standardInput = System.`in`
|
||||||
workingDir = rootProject.layout.projectDirectory
|
workingDir = rootProject.layout.projectDirectory
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 97745f0bab8d82d397c6c2a5775aed92bca0a034..6684f4f4b9aff1c2f3037feb7bcdee55a9d21f93 100644
|
index 8f31413c939cc2b0454ad3d9a1b618dbae449d00..d91ad3622592ece58877f975cdcbf984e61219d7 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1697,7 +1697,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1697,7 +1697,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
@@ -55,7 +55,7 @@ index 97745f0bab8d82d397c6c2a5775aed92bca0a034..6684f4f4b9aff1c2f3037feb7bcdee55
|
|||||||
|
|
||||||
public SystemReport fillSystemReport(SystemReport details) {
|
public SystemReport fillSystemReport(SystemReport details) {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index fcd5096d64edfaf6bce3ecce8c9b9afb84462786..adf0b36722c991fc9109555a3693845e3c11dc6f 100644
|
index 5f33d18234c055393255c9c3234c6688af7a455d..9c3373ead9544a9aa73dd70569dc07ab2c0257f2 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper
|
@@ -267,7 +267,7 @@ import javax.annotation.Nullable; // Paper
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Set BlockData without light updates
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
||||||
index 877498729c66de9aa6a27c9148f7494d7895615c..63959d7f15c682c2935f872d50de03fdacf95db4 100644
|
index 50ed7cfe1ecef6d075ba484804827cec83ba2bf2..6fefbd2ba0fb7aab592cb3ed00828cce942a4792 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
--- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
+++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java
|
||||||
@@ -235,7 +235,7 @@ public class WorldGenRegion implements WorldGenLevel {
|
@@ -256,7 +256,7 @@ public class WorldGenRegion implements WorldGenLevel {
|
||||||
Block.dropResources(iblockdata, this.level, pos, tileentity, breakingEntity, ItemStack.EMPTY);
|
Block.dropResources(iblockdata, this.level, pos, tileentity, breakingEntity, ItemStack.EMPTY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -17,7 +17,7 @@ index 877498729c66de9aa6a27c9148f7494d7895615c..63959d7f15c682c2935f872d50de03fd
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -310,7 +310,7 @@ public class WorldGenRegion implements WorldGenLevel {
|
@@ -331,7 +331,7 @@ public class WorldGenRegion implements WorldGenLevel {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -27,7 +27,7 @@ index 877498729c66de9aa6a27c9148f7494d7895615c..63959d7f15c682c2935f872d50de03fd
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index ea8a0961190e9aafda4fed6fecd85097c141040a..d4af10645b74514a79cb41f428534cfe6d1e9058 100644
|
index 2354a0e5d15e9be633d9fe3a1a9feefe7b9b7782..763165618a47d9841bb8fc70651a4e80a2bbd67f 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -903,12 +903,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -903,12 +903,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
@@ -46,6 +46,15 @@ index ea8a0961190e9aafda4fed6fecd85097c141040a..d4af10645b74514a79cb41f428534cfe
|
|||||||
// CraftBukkit start - tree generation
|
// CraftBukkit start - tree generation
|
||||||
if (this.captureTreeGeneration) {
|
if (this.captureTreeGeneration) {
|
||||||
// Paper start
|
// Paper start
|
||||||
|
@@ -943,7 +943,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
|
}
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
|
- BlockState iblockdata1 = chunk.setBlockState(pos, state, (flags & 64) != 0, (flags & 1024) == 0); // CraftBukkit custom NO_PLACE flag
|
||||||
|
+ BlockState iblockdata1 = chunk.setBlockState(pos, state, (flags & 64) != 0, (flags & 1024) == 0, checkLight); // CraftBukkit custom NO_PLACE flag // Slice
|
||||||
|
this.chunkPacketBlockController.onBlockChange(this, pos, state, iblockdata1, flags, maxUpdateDepth); // Paper - Anti-Xray
|
||||||
|
|
||||||
|
if (iblockdata1 == null) {
|
||||||
@@ -1099,7 +1099,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1099,7 +1099,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
Block.dropResources(iblockdata, this, pos, tileentity, breakingEntity, ItemStack.EMPTY);
|
Block.dropResources(iblockdata, this, pos, tileentity, breakingEntity, ItemStack.EMPTY);
|
||||||
}
|
}
|
||||||
@@ -89,6 +98,93 @@ index d4cbff18adb62073a1dceb189043789620af6877..413eb8d315f5da04c69e082654e74054
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 f7e5e016a7028a9196e689e950805b0d5b31fe38..10f8b1bfaca8cf607d895412417ad5f5e8d06df1 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java
|
||||||
|
@@ -175,7 +175,6 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom
|
||||||
|
public abstract BlockState getBlockState(final int x, final int y, final int z); // Paper
|
||||||
|
@Nullable
|
||||||
|
public abstract BlockState setBlockState(BlockPos pos, BlockState state, boolean moved);
|
||||||
|
-
|
||||||
|
public abstract void setBlockEntity(BlockEntity blockEntity);
|
||||||
|
|
||||||
|
public abstract void addEntity(Entity entity);
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java
|
||||||
|
index 4a3ac7dedf5cb1e76f16ec4f18e82afc717d0ced..7eb5d6bc790717aef2b22453f5c16644fa128b7c 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java
|
||||||
|
@@ -116,7 +116,13 @@ public class ImposterProtoChunk extends ProtoChunk {
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public BlockState setBlockState(BlockPos pos, BlockState state, boolean moved) {
|
||||||
|
- return this.allowWrites ? this.wrapped.setBlockState(pos, state, moved) : null;
|
||||||
|
+ return setBlockState(pos, state, moved, true);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Nullable
|
||||||
|
+ @Override
|
||||||
|
+ public BlockState setBlockState(BlockPos pos, BlockState state, boolean moved, boolean checkLight) {
|
||||||
|
+ return this.allowWrites ? this.wrapped.setBlockState(pos, state, moved, checkLight) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
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 fa170cc1ce7011d201295b89718292d696c7fc24..55ac6607b3c0f31a478122e84ed97d85da80dcac 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||||
|
@@ -407,11 +407,15 @@ public class LevelChunk extends ChunkAccess {
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public BlockState setBlockState(BlockPos pos, BlockState state, boolean moved) {
|
||||||
|
- return this.setBlockState(pos, state, moved, true);
|
||||||
|
+ return this.setBlockState(pos, state, moved, true, true);
|
||||||
|
+ }
|
||||||
|
+ @Nullable
|
||||||
|
+ public BlockState setBlockState(BlockPos pos, BlockState state, boolean moved, boolean doPlace) {
|
||||||
|
+ return this.setBlockState(pos, state, moved, doPlace, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
- public BlockState setBlockState(BlockPos blockposition, BlockState iblockdata, boolean flag, boolean doPlace) {
|
||||||
|
+ public BlockState setBlockState(BlockPos blockposition, BlockState iblockdata, boolean flag, boolean doPlace, boolean checkLight) {
|
||||||
|
// CraftBukkit end
|
||||||
|
int i = blockposition.getY();
|
||||||
|
LevelChunkSection chunksection = this.getSection(this.getSectionIndex(i));
|
||||||
|
@@ -440,7 +444,7 @@ public class LevelChunk extends ChunkAccess {
|
||||||
|
this.level.getChunkSource().getLightEngine().updateSectionStatus(blockposition, flag2);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) {
|
||||||
|
+ if (checkLight && LightEngine.hasDifferentLightProperties(this, blockposition, iblockdata1, iblockdata)) { // Slice
|
||||||
|
ProfilerFiller gameprofilerfiller = this.level.getProfiler();
|
||||||
|
|
||||||
|
gameprofilerfiller.push("updateSkyLightSources");
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||||
|
index 7aa585875dad5296526bb5d67fc5ea0f8875e452..82432ef8b9d50ba96363b8db48150a4a52142a1d 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java
|
||||||
|
@@ -113,6 +113,11 @@ public class ProtoChunk extends ChunkAccess {
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public BlockState setBlockState(BlockPos pos, BlockState state, boolean moved) {
|
||||||
|
+ return setBlockState(pos, state, moved, true);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ @Nullable
|
||||||
|
+ public BlockState setBlockState(BlockPos pos, BlockState state, boolean moved, boolean checkLight) { // Slice
|
||||||
|
int i = pos.getX();
|
||||||
|
int j = pos.getY();
|
||||||
|
int k = pos.getZ();
|
||||||
|
@@ -133,7 +138,7 @@ public class ProtoChunk extends ChunkAccess {
|
||||||
|
this.lightEngine.updateSectionStatus(pos, bl2);
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (LightEngine.hasDifferentLightProperties(this, pos, blockState, state)) {
|
||||||
|
+ if (checkLight && LightEngine.hasDifferentLightProperties(this, pos, blockState, state)) { // Slice
|
||||||
|
// Paper - starlight - remove skyLightSources
|
||||||
|
this.lightEngine.checkBlock(pos);
|
||||||
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||||
index 1a17875426468b287c8ea3f559ea516d0218f7a0..84a1150438dc8cdd8a6d3ad92e6bf2c4ad5f7cf0 100644
|
index 1a17875426468b287c8ea3f559ea516d0218f7a0..84a1150438dc8cdd8a6d3ad92e6bf2c4ad5f7cf0 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||||
@@ -103,7 +199,7 @@ index 1a17875426468b287c8ea3f559ea516d0218f7a0..84a1150438dc8cdd8a6d3ad92e6bf2c4
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
||||||
index 24ba4e1fd80d8effc8e70224103d3b93d69cb2ac..cb2826852ea38850eb0c553ab3b626253fd8e7a2 100644
|
index bec8e6b62dba2bd0e4e85a7d1fb51287384f1290..db565a24591748f66e01b9972796415ba2bf0f70 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
||||||
@@ -182,15 +182,20 @@ public class CraftBlock implements Block {
|
@@ -182,15 +182,20 @@ public class CraftBlock implements Block {
|
||||||
@@ -141,7 +237,7 @@ index 24ba4e1fd80d8effc8e70224103d3b93d69cb2ac..cb2826852ea38850eb0c553ab3b62625
|
|||||||
world.getMinecraftWorld().sendBlockUpdated(
|
world.getMinecraftWorld().sendBlockUpdated(
|
||||||
position,
|
position,
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
||||||
index cfd1c68d7ad23ef20242306d7d8148921d697ca5..3403033b4c292089c8cae03977034fbb20c30796 100644
|
index 390e1b7fd2721b99cb3ce268c6bc1bf0a38e08a3..f3c42e65c6c731e1f0f3d36f16c35b7d538604a0 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
||||||
@@ -217,7 +217,7 @@ public class CraftBlockState implements BlockState {
|
@@ -217,7 +217,7 @@ public class CraftBlockState implements BlockState {
|
||||||
@@ -152,7 +248,7 @@ index cfd1c68d7ad23ef20242306d7d8148921d697ca5..3403033b4c292089c8cae03977034fbb
|
|||||||
+ block.setTypeAndData(newBlock, applyPhysics, true);
|
+ block.setTypeAndData(newBlock, applyPhysics, true);
|
||||||
if (access instanceof net.minecraft.world.level.Level) {
|
if (access instanceof net.minecraft.world.level.Level) {
|
||||||
this.world.getHandle().sendBlockUpdated(
|
this.world.getHandle().sendBlockUpdated(
|
||||||
position,
|
this.position,
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
||||||
index 23ee60e8843a6a05e7ae6512248a57ec2a08321b..c5e1afb7d5fa630ed85a739d5aada79297257d72 100644
|
index 23ee60e8843a6a05e7ae6512248a57ec2a08321b..c5e1afb7d5fa630ed85a739d5aada79297257d72 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
--- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java
|
||||||
|
|||||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Add BlockDestroyedByNeighborEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||||
index b2c2bd5ec0afd479973f7237a5c610f21231c505..1d32eb837517f2b949613498b1a68c8b1edf0b9a 100644
|
index 106a312aba249d1e83e4b535fc6e741e04ccfd14..d8aa37f24a58b1772ba9ec0ddd2ade15ac796f44 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||||
@@ -419,6 +419,7 @@ public class ServerPlayerGameMode {
|
@@ -419,6 +419,7 @@ public class ServerPlayerGameMode {
|
||||||
org.bukkit.block.BlockState state = bblock.getState();
|
org.bukkit.block.BlockState state = bblock.getState();
|
||||||
level.captureDrops = new ArrayList<>();
|
this.level.captureDrops = new ArrayList<>();
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
+ level.pendingPlayerBlockEvents.put(pos, new Level.PendingBlockEvent(pos, this.player)); // Paper
|
+ level.pendingPlayerBlockEvents.put(pos, new Level.PendingBlockEvent(pos, this.player)); // Paper
|
||||||
block.playerWillDestroy(this.level, pos, iblockdata, this.player);
|
block.playerWillDestroy(this.level, pos, iblockdata, this.player);
|
||||||
@@ -18,9 +18,9 @@ index b2c2bd5ec0afd479973f7237a5c610f21231c505..1d32eb837517f2b949613498b1a68c8b
|
|||||||
|
|
||||||
@@ -447,6 +448,7 @@ public class ServerPlayerGameMode {
|
@@ -447,6 +448,7 @@ public class ServerPlayerGameMode {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
java.util.List<net.minecraft.world.entity.item.ItemEntity> itemsToDrop = level.captureDrops; // Paper - store current list
|
java.util.List<net.minecraft.world.entity.item.ItemEntity> itemsToDrop = this.level.captureDrops; // Paper - store current list
|
||||||
level.captureDrops = null; // Paper - Remove this earlier so that we can actually drop stuff
|
this.level.captureDrops = null; // Paper - Remove this earlier so that we can actually drop stuff
|
||||||
+ level.pendingPlayerBlockEvents.remove(pos); // Paper
|
+ this.level.pendingPlayerBlockEvents.remove(pos); // Paper
|
||||||
if (event.isDropItems()) {
|
if (event.isDropItems()) {
|
||||||
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockDropItemEvent(bblock, state, this.player, itemsToDrop); // Paper - use stored ref
|
org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockDropItemEvent(bblock, state, this.player, itemsToDrop); // Paper - use stored ref
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ index 4697df75fdee2023c41260bed211e3e3d90d2b9b..e30aaa502f5e98b5658a0dd78853e865
|
|||||||
if (!(item instanceof BucketItem/* || item instanceof SolidBucketItem*/)) { // if not bucket // Paper - capture block states for snow buckets
|
if (!(item instanceof BucketItem/* || item instanceof SolidBucketItem*/)) { // if not bucket // Paper - capture block states for snow buckets
|
||||||
world.captureBlockStates = true;
|
world.captureBlockStates = true;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index d4af10645b74514a79cb41f428534cfe6d1e9058..bc8947b2f85a53e90ee84c3746be7183aa0503ee 100644
|
index 763165618a47d9841bb8fc70651a4e80a2bbd67f..7c332c004f469fb47598121c3b828a484634b526 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -184,6 +184,27 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -184,6 +184,27 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add World Instance flag
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 51d282b524b5249438f7744f7f0b1cc27b76470e..03e5981d62ff2e4bd81bccf0ab6d8373dfe661d2 100644
|
index 584a768f2ce1c98a1de7749060c47f21721f9055..aad0d7662d530eaa9256de635401bbcde3263286 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -222,6 +222,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -222,6 +222,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@@ -17,11 +17,11 @@ index 51d282b524b5249438f7744f7f0b1cc27b76470e..03e5981d62ff2e4bd81bccf0ab6d8373
|
|||||||
public static Throwable getAddToWorldStackTrace(Entity entity) {
|
public static Throwable getAddToWorldStackTrace(Entity entity) {
|
||||||
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
|
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index 0e670de77a7f9926e295e1dd63d909bed1a959ca..92c0b18e5020f5193e060fbc4a0ceb4b72d55dcf 100644
|
index 746f88db6b78b3c8ec372bfaacb26ec98f3b1163..b2b729c520f6b5dadc4d7bb72135c6da40d94b38 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -1267,6 +1267,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
@@ -1288,6 +1288,18 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||||
world.noSave = !value;
|
this.world.noSave = !value;
|
||||||
}
|
}
|
||||||
|
|
||||||
+ // Slice start
|
+ // Slice start
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerGetRespawnLocationEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 48d1444fbad1c57738807d0128b94160a5a17a4d..1c2abe2fd63e535f8a8f73dfe4033dfdc7fabc1d 100644
|
index 33abcf12b4426572b74ca4c813e4392c823494bc..3caf0774537a02d8ceeb9a5cf113bee290f1aef6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -848,49 +848,57 @@ public abstract class PlayerList {
|
@@ -869,49 +869,57 @@ public abstract class PlayerList {
|
||||||
|
|
||||||
// CraftBukkit start - fire PlayerRespawnEvent
|
// CraftBukkit start - fire PlayerRespawnEvent
|
||||||
if (location == null) {
|
if (location == null) {
|
||||||
|
|||||||
@@ -5,22 +5,22 @@ Subject: [PATCH] Smooth Teleports
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index d4aec99cac3f83d764e21946cc904c00e084704e..4286c29a9b2a703f951159b1a407c3cd5bc4c5cc 100644
|
index f71a4a8307fb092d33545e12d253e0b80c884168..7f09801b4afd426d75c16dee88c31e1a16108fc1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -273,6 +273,7 @@ public class ServerPlayer extends Player {
|
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player {
|
||||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
|
||||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||||
|
public @Nullable String clientBrandName = null; // Paper - Brand name
|
||||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||||
+ public boolean smoothWorldTeleport; // Slice
|
+ public boolean smoothWorldTeleport; // Slice
|
||||||
|
|
||||||
// Paper start - replace player chunk loader
|
// Paper start - replace player chunk loader
|
||||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 1c2abe2fd63e535f8a8f73dfe4033dfdc7fabc1d..c09a652fdb2fd40935e03fb779652c57156cffee 100644
|
index 3caf0774537a02d8ceeb9a5cf113bee290f1aef6..98290d00c4f472afa5d6db4d6bfd99c30086ceb0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -934,10 +934,10 @@ public abstract class PlayerList {
|
@@ -955,10 +955,10 @@ public abstract class PlayerList {
|
||||||
ServerLevel worldserver2 = entityplayer1.serverLevel();
|
ServerLevel worldserver2 = entityplayer1.serverLevel();
|
||||||
LevelData worlddata = worldserver2.getLevelData();
|
LevelData worlddata = worldserver2.getLevelData();
|
||||||
|
|
||||||
@@ -34,10 +34,10 @@ index 1c2abe2fd63e535f8a8f73dfe4033dfdc7fabc1d..c09a652fdb2fd40935e03fb779652c57
|
|||||||
entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
|
entityplayer1.connection.send(new ClientboundChangeDifficultyPacket(worlddata.getDifficulty(), worlddata.isDifficultyLocked()));
|
||||||
entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel));
|
entityplayer1.connection.send(new ClientboundSetExperiencePacket(entityplayer1.experienceProgress, entityplayer1.totalExperience, entityplayer1.experienceLevel));
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index e188bb3ba5d2ec28421947c0b66b25eecb569bfe..7e5b0c9b1518ff871b400b88f14de61180645ef1 100644
|
index 00bae5df87bcc1c75d4e2f430241579d3be82c11..eaaf8b52b72ad688f8df772b574a84c9ee8f8be8 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -1256,6 +1256,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -1246,6 +1246,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
// Paper end
|
// Paper end
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Ignore durability changes for equipment updates
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 77a1c7dfbaccc2e74da5c78ce4dfcd1717a7ac65..3ac315b664b36bf0a3934e6f944e8dd4e0e545cb 100644
|
index a76eb3d051db0229ed088b71c92ff3f131449007..d5fe77692292055f71766546d2f283440cccd7d6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -3164,7 +3164,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -3161,7 +3161,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean equipmentHasChanged(ItemStack stack, ItemStack stack2) {
|
public boolean equipmentHasChanged(ItemStack stack, ItemStack stack2) {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ index 42fdce97d99618a53f2e9c51804ff2205b574f69..7e8d58e3481be2d7ebbe5fe388d61932
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 7e5b0c9b1518ff871b400b88f14de61180645ef1..1b0b09a7507bd26254e7ac469829698ca7894070 100644
|
index eaaf8b52b72ad688f8df772b574a84c9ee8f8be8..4e4b77587aaa19d69fad9d15e97330b55ea97a8e 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -198,6 +198,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -198,6 +198,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
@@ -28,7 +28,7 @@ index 7e5b0c9b1518ff871b400b88f14de61180645ef1..1b0b09a7507bd26254e7ac469829698c
|
|||||||
|
|
||||||
public CraftPlayer(CraftServer server, ServerPlayer entity) {
|
public CraftPlayer(CraftServer server, ServerPlayer entity) {
|
||||||
super(server, entity);
|
super(server, entity);
|
||||||
@@ -2843,6 +2844,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -2835,6 +2836,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ index 1b090f1e79b996e52097afc49c1cec85936653e6..5185bcbf5363fa2c7e2b0226706cc66d
|
|||||||
private static final byte CHUNK_TICKET_STAGE_NONE = 0;
|
private static final byte CHUNK_TICKET_STAGE_NONE = 0;
|
||||||
private static final byte CHUNK_TICKET_STAGE_LOADING = 1;
|
private static final byte CHUNK_TICKET_STAGE_LOADING = 1;
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index 92c0b18e5020f5193e060fbc4a0ceb4b72d55dcf..5a9570963b16dd0fa888c4f06ca90f62b8cd3f0d 100644
|
index b2b729c520f6b5dadc4d7bb72135c6da40d94b38..11f516e89a6d219033464b774e32dc59632fd5b2 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -529,6 +529,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
@@ -530,6 +530,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Don't send fire packets if player has FR
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index f20ae9153b7098980ce6c0e75fcbbb4da652661b..7960a2467cae9420f0da0eaad8dd428456362efe 100644
|
index 1e05fca2a2ba6e2c0b641b6e27585520889cd8a6..067bfc5414ad69916624aa635e475b6cac8517df 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -835,7 +835,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -868,7 +868,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
|
||||||
this.checkBelowWorld();
|
this.checkBelowWorld();
|
||||||
if (!this.level().isClientSide) {
|
if (!this.level().isClientSide) {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow access to LightEngine
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index 0c2617574e21037d94ac56ad08b490f9bca5c5af..df414c88a73a5f4eb1c19924a600a21bb0fff7c8 100644
|
index caa73632aee15583c6b6ed12a668c8f49b794708..f4b82c5506308aacba10a421afc284913a04099b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -356,7 +356,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -436,7 +436,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
// Paper end - rewrite player chunk loader
|
// Paper end - rewrite player chunk loader
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerLoadStatsEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index c09a652fdb2fd40935e03fb779652c57156cffee..c55a9a228fbb64680354b9ca308f973866bb53d5 100644
|
index 98290d00c4f472afa5d6db4d6bfd99c30086ceb0..88080493c2b97a2199fad3bd8605bca8bd0bcff8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -1468,7 +1468,7 @@ public abstract class PlayerList {
|
@@ -1489,7 +1489,7 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ index bfb1de19f53d5d7c7b65e25a606fabfa416706b3..63262cc017b15b076f27143309b3e38c
|
|||||||
if (!(getter instanceof EntityGetter entityGetter)) {
|
if (!(getter instanceof EntityGetter entityGetter)) {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 7960a2467cae9420f0da0eaad8dd428456362efe..383c40f6f7ea7cbf6f88347ccb559f4c458fcc40 100644
|
index 067bfc5414ad69916624aa635e475b6cac8517df..c2e0a83819a0ea553f1206d364a111c7c127bc18 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -452,6 +452,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -453,6 +453,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
* Overriding this field will cause memory leaks.
|
* Overriding this field will cause memory leaks.
|
||||||
*/
|
*/
|
||||||
private final boolean hardCollides;
|
private final boolean hardCollides;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Packet obfuscation and reduction
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
|
diff --git a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
|
||||||
index 5dfb35117c285e0b202dc9c088ad5848beb8d054..b3d2cbf9f60c4a4b34df20bfe45a80ac23f4570f 100644
|
index a043c382c37058032548a5192e17f5f816abe5a6..ee38f646f66fd69cd64ad6b74c6b76e42792cf39 100644
|
||||||
--- a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
|
--- a/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
|
||||||
+++ b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
|
+++ b/src/main/java/net/minecraft/network/syncher/SynchedEntityData.java
|
||||||
@@ -165,15 +165,29 @@ public class SynchedEntityData {
|
@@ -165,15 +165,29 @@ public class SynchedEntityData {
|
||||||
@@ -66,7 +66,7 @@ index 5dfb35117c285e0b202dc9c088ad5848beb8d054..b3d2cbf9f60c4a4b34df20bfe45a80ac
|
|||||||
@Nullable
|
@Nullable
|
||||||
public List<SynchedEntityData.DataValue<?>> getNonDefaultValues() {
|
public List<SynchedEntityData.DataValue<?>> getNonDefaultValues() {
|
||||||
List<SynchedEntityData.DataValue<?>> list = null;
|
List<SynchedEntityData.DataValue<?>> list = null;
|
||||||
@@ -336,11 +370,14 @@ public class SynchedEntityData {
|
@@ -339,11 +373,14 @@ public class SynchedEntityData {
|
||||||
T value;
|
T value;
|
||||||
private final T initialValue;
|
private final T initialValue;
|
||||||
private boolean dirty;
|
private boolean dirty;
|
||||||
@@ -81,7 +81,7 @@ index 5dfb35117c285e0b202dc9c088ad5848beb8d054..b3d2cbf9f60c4a4b34df20bfe45a80ac
|
|||||||
}
|
}
|
||||||
|
|
||||||
public EntityDataAccessor<T> getAccessor() {
|
public EntityDataAccessor<T> getAccessor() {
|
||||||
@@ -370,6 +407,35 @@ public class SynchedEntityData {
|
@@ -373,6 +410,35 @@ public class SynchedEntityData {
|
||||||
public SynchedEntityData.DataValue<T> value() {
|
public SynchedEntityData.DataValue<T> value() {
|
||||||
return SynchedEntityData.DataValue.create(this.accessor, this.value);
|
return SynchedEntityData.DataValue.create(this.accessor, this.value);
|
||||||
}
|
}
|
||||||
@@ -144,10 +144,10 @@ index 35674f92a67f93382103c2766df4b678ba5c862f..97dbcb6f527bd5c567e77200d7f6cbc1
|
|||||||
|
|
||||||
if (this.entity instanceof LivingEntity) {
|
if (this.entity instanceof LivingEntity) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 383c40f6f7ea7cbf6f88347ccb559f4c458fcc40..119f839051d691ff09805d22b95186cdb38403af 100644
|
index c2e0a83819a0ea553f1206d364a111c7c127bc18..6f60cadb034de8bbe52351a100916879ca98d977 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3322,7 +3322,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
@@ -3334,7 +3334,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID);
|
this.entityData.markDirty(Entity.DATA_AIR_SUPPLY_ID);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -157,10 +157,10 @@ index 383c40f6f7ea7cbf6f88347ccb559f4c458fcc40..119f839051d691ff09805d22b95186cd
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 3ac315b664b36bf0a3934e6f944e8dd4e0e545cb..cad14a4e7e39982c0df779a67c2e735c0186678f 100644
|
index d5fe77692292055f71766546d2f283440cccd7d6..1625dea60a5880b04b34d36732370e65ab86e528 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -3164,7 +3164,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -3161,7 +3161,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean equipmentHasChanged(ItemStack stack, ItemStack stack2) {
|
public boolean equipmentHasChanged(ItemStack stack, ItemStack stack2) {
|
||||||
@@ -170,7 +170,7 @@ index 3ac315b664b36bf0a3934e6f944e8dd4e0e545cb..cad14a4e7e39982c0df779a67c2e735c
|
|||||||
|
|
||||||
private void handleHandSwap(Map<EquipmentSlot, ItemStack> equipmentChanges) {
|
private void handleHandSwap(Map<EquipmentSlot, ItemStack> equipmentChanges) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
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 0325086157b846da7da0ca291fd33c55fc91f229..22a74eb4946b0b92da922227326d972e91a1c4b7 100644
|
index a969ced38fb6cdc4e27f5a4430a4ec98279d9525..69968dff14c08a37a723ecd39c75f6981353df09 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -649,7 +649,7 @@ public abstract class Player extends LivingEntity {
|
@@ -649,7 +649,7 @@ public abstract class Player extends LivingEntity {
|
||||||
@@ -183,15 +183,15 @@ index 0325086157b846da7da0ca291fd33c55fc91f229..22a74eb4946b0b92da922227326d972e
|
|||||||
|
|
||||||
public void startAutoSpinAttack(int riptideTicks) {
|
public void startAutoSpinAttack(int riptideTicks) {
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
index 1b0b09a7507bd26254e7ac469829698ca7894070..225e7663a9ad7b9924db777bb9741a93e31c567d 100644
|
index 4e4b77587aaa19d69fad9d15e97330b55ea97a8e..3634519803bb755fa0fde91500223c365a1b8ca1 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||||
@@ -2609,7 +2609,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
@@ -2599,7 +2599,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||||
this.sendHealthUpdate();
|
this.sendHealthUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
- this.getHandle().getEntityData().set(net.minecraft.world.entity.LivingEntity.DATA_HEALTH_ID, (float) this.getScaledHealth());
|
- this.getHandle().getEntityData().set(net.minecraft.world.entity.LivingEntity.DATA_HEALTH_ID, (float) this.getScaledHealth());
|
||||||
+ this.getHandle().getEntityData().set(net.minecraft.world.entity.LivingEntity.DATA_HEALTH_ID, (float) this.getScaledHealth(), isDead() ? 0f : 20f); // Slice
|
+ this.getHandle().getEntityData().set(net.minecraft.world.entity.LivingEntity.DATA_HEALTH_ID, (float) this.getScaledHealth(), isDead() ? 0f : 20f); // Slice
|
||||||
|
|
||||||
this.getHandle().maxHealthCache = getMaxHealth();
|
this.getHandle().maxHealthCache = this.getMaxHealth();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Long distance tracking
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index df414c88a73a5f4eb1c19924a600a21bb0fff7c8..48e25187e68b8b3099b514a224a552f130bd77e3 100644
|
index f4b82c5506308aacba10a421afc284913a04099b..3ad804d7f5b018757a218547e25b9bf53ecfa78d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -1288,6 +1288,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1422,6 +1422,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
Vec3 vec3d = player.position().subtract(this.entity.position());
|
Vec3 vec3d = player.position().subtract(this.entity.position());
|
||||||
int i = ChunkMap.this.getPlayerViewDistance(player);
|
int i = ChunkMap.this.getPlayerViewDistance(player);
|
||||||
double d0 = (double) Math.min(this.getEffectiveRange(), i * 16);
|
double d0 = (double) Math.min(this.getEffectiveRange(), i * 16);
|
||||||
@@ -17,18 +17,18 @@ index df414c88a73a5f4eb1c19924a600a21bb0fff7c8..48e25187e68b8b3099b514a224a552f1
|
|||||||
double d2 = d0 * d0;
|
double d2 = d0 * d0;
|
||||||
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
boolean flag = d1 <= d2 && this.entity.broadcastToPlayer(player) && ChunkMap.this.isChunkTracked(player, this.entity.chunkPosition().x, this.entity.chunkPosition().z);
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index 4286c29a9b2a703f951159b1a407c3cd5bc4c5cc..8dce1a7868e2bd14b570823fbdcd9f71557c8b82 100644
|
index 7f09801b4afd426d75c16dee88c31e1a16108fc1..702ca0b220e5f81702c3cc8e7b4797be22de9235 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -274,6 +274,7 @@ public class ServerPlayer extends Player {
|
@@ -275,6 +275,7 @@ public class ServerPlayer extends Player {
|
||||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
public @Nullable String clientBrandName = null; // Paper - Brand name
|
||||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||||
public boolean smoothWorldTeleport; // Slice
|
public boolean smoothWorldTeleport; // Slice
|
||||||
+ public boolean hasLongDistanceTracking; // Slice
|
+ public boolean hasLongDistanceTracking; // Slice
|
||||||
|
|
||||||
// Paper start - replace player chunk loader
|
// Paper start - replace player chunk loader
|
||||||
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
||||||
@@ -2648,4 +2649,18 @@ public class ServerPlayer extends Player {
|
@@ -2657,4 +2658,18 @@ public class ServerPlayer extends Player {
|
||||||
return (CraftPlayer) super.getBukkitEntity();
|
return (CraftPlayer) super.getBukkitEntity();
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -48,7 +48,7 @@ index 4286c29a9b2a703f951159b1a407c3cd5bc4c5cc..8dce1a7868e2bd14b570823fbdcd9f71
|
|||||||
+ // Slice end
|
+ // Slice end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||||
index 5b5109e942b18418b3a3a0e2109fe4ef15045fe5..507519c75fabe8991cddbc1aa7813cec25dee01b 100644
|
index f9b8e2bc039f1a37e47f84909c8785f3ef530284..bfa02a3698a347c55f0fff351ac24e831403cb56 100644
|
||||||
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||||
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
|
||||||
@@ -271,6 +271,7 @@ public class SpigotWorldConfig
|
@@ -271,6 +271,7 @@ public class SpigotWorldConfig
|
||||||
@@ -68,7 +68,7 @@ index 5b5109e942b18418b3a3a0e2109fe4ef15045fe5..507519c75fabe8991cddbc1aa7813cec
|
|||||||
this.monsterTrackingRange = this.getInt( "entity-tracking-range.monsters", this.monsterTrackingRange );
|
this.monsterTrackingRange = this.getInt( "entity-tracking-range.monsters", this.monsterTrackingRange );
|
||||||
this.miscTrackingRange = this.getInt( "entity-tracking-range.misc", this.miscTrackingRange );
|
this.miscTrackingRange = this.getInt( "entity-tracking-range.misc", this.miscTrackingRange );
|
||||||
diff --git a/src/main/java/org/spigotmc/TrackingRange.java b/src/main/java/org/spigotmc/TrackingRange.java
|
diff --git a/src/main/java/org/spigotmc/TrackingRange.java b/src/main/java/org/spigotmc/TrackingRange.java
|
||||||
index 172d231adecf043f9f06b7f5e0365ae82327998d..e8a6c5f3f6208bc539e913eab47a14e2258817d7 100644
|
index ed8378ad022c375b0d18172aeccf65cb026d9d68..f5acd0f9ed0a4936257a96971b995ec62ec2906d 100644
|
||||||
--- a/src/main/java/org/spigotmc/TrackingRange.java
|
--- a/src/main/java/org/spigotmc/TrackingRange.java
|
||||||
+++ b/src/main/java/org/spigotmc/TrackingRange.java
|
+++ b/src/main/java/org/spigotmc/TrackingRange.java
|
||||||
@@ -26,9 +26,9 @@ public class TrackingRange
|
@@ -26,9 +26,9 @@ public class TrackingRange
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ index a6f58b3457b7477015c5c6d969e7d83017dd3fa1..7f2070bd2d7eb7f0256a96df00103d20
|
|||||||
|
|
||||||
public BlockUpdates blockUpdates;
|
public BlockUpdates blockUpdates;
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 6684f4f4b9aff1c2f3037feb7bcdee55a9d21f93..4ecd1f7d7c5889fb58553333d095716386448860 100644
|
index d91ad3622592ece58877f975cdcbf984e61219d7..67a16d32e73099b5b6e1e406341fc6b982cceaa6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -2,6 +2,7 @@ package net.minecraft.server;
|
@@ -2,6 +2,7 @@ package net.minecraft.server;
|
||||||
@@ -82,10 +82,10 @@ index 6684f4f4b9aff1c2f3037feb7bcdee55a9d21f93..4ecd1f7d7c5889fb58553333d0957163
|
|||||||
this.isSaving = false;
|
this.isSaving = false;
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 03e5981d62ff2e4bd81bccf0ab6d8373dfe661d2..7645eb4bfcee85331770c040477f47ea21a3ef95 100644
|
index aad0d7662d530eaa9256de635401bbcde3263286..dae340cdc03bc48de22944675edb443d00a4e807 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -2101,7 +2101,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -2102,7 +2102,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@Override
|
@Override
|
||||||
public MapItemSavedData getMapData(String id) {
|
public MapItemSavedData getMapData(String id) {
|
||||||
// Paper start - Call missing map initialize event & set id
|
// Paper start - Call missing map initialize event & set id
|
||||||
@@ -94,7 +94,7 @@ index 03e5981d62ff2e4bd81bccf0ab6d8373dfe661d2..7645eb4bfcee85331770c040477f47ea
|
|||||||
|
|
||||||
final net.minecraft.world.level.saveddata.SavedData existing = storage.cache.get(id);
|
final net.minecraft.world.level.saveddata.SavedData existing = storage.cache.get(id);
|
||||||
if (existing == null && !storage.cache.containsKey(id)) {
|
if (existing == null && !storage.cache.containsKey(id)) {
|
||||||
@@ -2122,12 +2122,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -2123,12 +2123,22 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@Override
|
@Override
|
||||||
public void setMapData(String id, MapItemSavedData state) {
|
public void setMapData(String id, MapItemSavedData state) {
|
||||||
state.id = id; // CraftBukkit
|
state.id = id; // CraftBukkit
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ index 97dbcb6f527bd5c567e77200d7f6cbc1abb15792..248a4af1b9c6684502570c879efae20a
|
|||||||
|
|
||||||
if (!this.entity.getPassengers().isEmpty()) {
|
if (!this.entity.getPassengers().isEmpty()) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index cad14a4e7e39982c0df779a67c2e735c0186678f..39a69334c9bea26228a428b3db7e7a2bd021e44b 100644
|
index 1625dea60a5880b04b34d36732370e65ab86e528..e7d7d2db99cac771ebf20755911ed8e78df93af1 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -263,6 +263,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -263,6 +263,8 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
@@ -71,7 +71,7 @@ index cad14a4e7e39982c0df779a67c2e735c0186678f..39a69334c9bea26228a428b3db7e7a2b
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getBukkitYaw() {
|
public float getBukkitYaw() {
|
||||||
@@ -3108,6 +3110,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -3105,6 +3107,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
if (map != null) {
|
if (map != null) {
|
||||||
this.handleHandSwap(map);
|
this.handleHandSwap(map);
|
||||||
if (!map.isEmpty()) {
|
if (!map.isEmpty()) {
|
||||||
@@ -79,7 +79,7 @@ index cad14a4e7e39982c0df779a67c2e735c0186678f..39a69334c9bea26228a428b3db7e7a2b
|
|||||||
this.handleEquipmentChanges(map);
|
this.handleEquipmentChanges(map);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3200,7 +3203,25 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -3197,7 +3200,25 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -106,7 +106,7 @@ index cad14a4e7e39982c0df779a67c2e735c0186678f..39a69334c9bea26228a428b3db7e7a2b
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Paper start - hide unnecessary item meta
|
// Paper start - hide unnecessary item meta
|
||||||
@@ -4527,4 +4548,74 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -4531,4 +4552,74 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
public static record Fallsounds(SoundEvent small, SoundEvent big) {
|
public static record Fallsounds(SoundEvent small, SoundEvent big) {
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -182,7 +182,7 @@ index cad14a4e7e39982c0df779a67c2e735c0186678f..39a69334c9bea26228a428b3db7e7a2b
|
|||||||
+ // Slice end
|
+ // Slice end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
index fe2124694eb080cab685a1ce1f6a66e2fcdf6a17..fa70fae582a9415322d967996458902f5aea3e01 100644
|
index 030fd330b13197d752a2d4c48628b9efd2c2c776..ecb39b5d3b8c96bb019fdd5b4977f7e22a8ebdcc 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||||
@@ -1099,4 +1099,14 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
@@ -1099,4 +1099,14 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Change KeepAlive interval
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||||
index 231150bac0ae61e9722c2cdfd70d6f7d254681e4..75e9c680979d9e6e8605db800f2d5d35bf32f212 100644
|
index 598f807f0d0caac98b81e0e2991f1bd497c4534e..8530ab430704243caafe3ca311e05597f20f5167 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java
|
||||||
@@ -210,7 +210,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
@@ -202,7 +202,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack
|
||||||
this.disconnect(ServerCommonPacketListenerImpl.TIMEOUT_DISCONNECTION_MESSAGE, org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); // Paper - kick event cause
|
this.disconnect(ServerCommonPacketListenerImpl.TIMEOUT_DISCONNECTION_MESSAGE, org.bukkit.event.player.PlayerKickEvent.Cause.TIMEOUT); // Paper - kick event cause
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
37
patches/server/0038-Light-fix.patch
Normal file
37
patches/server/0038-Light-fix.patch
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Cryptite <cryptite@gmail.com>
|
||||||
|
Date: Mon, 6 Nov 2023 08:13:50 -0600
|
||||||
|
Subject: [PATCH] Light fix
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java
|
||||||
|
index cbedb6f002bc01daa16d349421c4ef04d4bcbcb2..b332eb3e9daf9d04cc2e03979dff9074438d7b0f 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java
|
||||||
|
@@ -800,9 +800,8 @@ public abstract class DelegatedGeneratorAccess implements WorldGenLevel {
|
||||||
|
return this.handle.setBlock(pos, state, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
- @Override
|
||||||
|
public boolean setBlock(BlockPos pos, BlockState state, int flags, int maxUpdateDepth) {
|
||||||
|
- return this.handle.setBlock(pos, state, flags, maxUpdateDepth);
|
||||||
|
+ return this.handle.setBlock(pos, state, flags, maxUpdateDepth, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/util/TransformerGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/TransformerGeneratorAccess.java
|
||||||
|
index b4b297945fb601701aac845d09e88fb74b09c3fa..26aba6fc86f66b38f6b2349df74d9c988a3fed57 100644
|
||||||
|
--- a/src/main/java/org/bukkit/craftbukkit/util/TransformerGeneratorAccess.java
|
||||||
|
+++ b/src/main/java/org/bukkit/craftbukkit/util/TransformerGeneratorAccess.java
|
||||||
|
@@ -89,6 +89,11 @@ public class TransformerGeneratorAccess extends DelegatedGeneratorAccess {
|
||||||
|
return this.setCraftBlock(pos, (CraftBlockState) CraftBlockStates.getBlockState(pos, state, null), flags, maxUpdateDepth);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ @Override
|
||||||
|
+ public boolean setBlock(BlockPos pos, BlockState state, int flags, int maxUpdateDepth, boolean checkLight) {
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
@Override
|
||||||
|
public boolean setBlock(BlockPos pos, BlockState state, int flags) {
|
||||||
|
return this.setBlock(pos, state, flags, 512);
|
||||||
32
patches/server/0039-Do-not-save-Persistent-Entities.patch
Normal file
32
patches/server/0039-Do-not-save-Persistent-Entities.patch
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Cryptite <cryptite@gmail.com>
|
||||||
|
Date: Mon, 6 Nov 2023 08:17:46 -0600
|
||||||
|
Subject: [PATCH] Do not save Persistent Entities
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
|
||||||
|
index 7e8dc9e8f381abfdcce2746edc93122d623622d1..985fb335be637190c56d6aed2047ef20fc635b58 100644
|
||||||
|
--- a/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
|
||||||
|
+++ b/src/main/java/io/papermc/paper/world/ChunkEntitySlices.java
|
||||||
|
@@ -118,7 +118,7 @@ public final class ChunkEntitySlices {
|
||||||
|
// removed by us below
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
- if (entity.shouldBeSaved()) {
|
||||||
|
+ if (entity.shouldBeSaved() || !entity.persist) { // Slice - Ensure non-persisting entities are still removed
|
||||||
|
entity.setRemoved(Entity.RemovalReason.UNLOADED_TO_CHUNK);
|
||||||
|
if (entity.isVehicle()) {
|
||||||
|
// we cannot assume that these entities are contained within this chunk, because entities can
|
||||||
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
index 6f60cadb034de8bbe52351a100916879ca98d977..05a883a556d35423b22087f88ca12d252e5081bf 100644
|
||||||
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
|
@@ -4756,7 +4756,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean shouldBeSaved() {
|
||||||
|
- return this.removalReason != null && !this.removalReason.shouldSave() ? false : (this.isPassenger() ? false : !this.isVehicle() || !this.hasAnyPlayerPassengers()); // Paper - rewrite chunk system - it should check if the entity has ANY player passengers
|
||||||
|
+ return this.persist && this.removalReason != null && !this.removalReason.shouldSave() ? false : (this.isPassenger() ? false : !this.isVehicle() || !this.hasAnyPlayerPassengers()); // Paper - rewrite chunk system - it should check if the entity has ANY player passengers // Slice - add persists check
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
Reference in New Issue
Block a user