mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 07:48:53 +01:00
Allow reading of oversized region files
This commit is contained in:
parent
ae68db1f0e
commit
058e4efb41
58 changed files with 361 additions and 92 deletions
|
@ -0,0 +1,267 @@
|
|||
From 2ab5173dc339abee40e5e7619906d1dd6710a3d5 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 15 Feb 2019 01:08:19 -0500
|
||||
Subject: [PATCH] Allow Saving of Oversized Chunks
|
||||
|
||||
The Minecraft World Region File format has a hard cap of 1MB per chunk.
|
||||
This is due to the fact that the header of the file format only allocates
|
||||
a single byte for sector count, meaning a maximum of 256 sectors, at 4k per sector.
|
||||
|
||||
This limit can be reached fairly easily with books, resulting in the chunk being unable
|
||||
to save to the world. Worse off, is that nothing printed when this occured, and silently
|
||||
performed a chunk rollback on next load.
|
||||
|
||||
This leads to security risk with duplication and is being actively exploited.
|
||||
|
||||
This patch catches the too large scenario, falls back and moves any large Entity
|
||||
or Tile Entity into a new compound, and this compound is saved into a different file.
|
||||
|
||||
On Chunk Load, we check for oversized status, and if so, we load the extra file and
|
||||
merge the Entities and Tile Entities from the oversized chunk back into the level to
|
||||
then be loaded as normal.
|
||||
|
||||
Once a chunk is returned back to normal size, the oversized flag will clear, and no
|
||||
extra data file will exist.
|
||||
|
||||
This fix maintains compatability with all existing Anvil Region Format tools as it
|
||||
does not alter the save format. They will just not know about the extra entities.
|
||||
|
||||
This fix also maintains compatability if someone switches server jars to one without
|
||||
this fix, as the data will remain in the oversized file. Once the server returns
|
||||
to a jar with this fix, the data will be restored.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java b/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java
|
||||
index db66d4ac7..2322c0c8c 100644
|
||||
--- a/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java
|
||||
+++ b/src/main/java/net/minecraft/server/NBTCompressedStreamTools.java
|
||||
@@ -69,6 +69,7 @@ public class NBTCompressedStreamTools {
|
||||
|
||||
}
|
||||
|
||||
+ public static NBTTagCompound readNBT(DataInputStream datainputstream) throws IOException { return a(datainputstream); } // Paper - OBFHELPER
|
||||
public static NBTTagCompound a(DataInputStream datainputstream) throws IOException {
|
||||
return a((DataInput) datainputstream, NBTReadLimiter.a);
|
||||
}
|
||||
@@ -89,6 +90,7 @@ public class NBTCompressedStreamTools {
|
||||
}
|
||||
}
|
||||
|
||||
+ public static void writeNBT(NBTTagCompound nbttagcompound, DataOutput dataoutput) throws IOException { a(nbttagcompound, dataoutput); } // Paper - OBFHELPER
|
||||
public static void a(NBTTagCompound nbttagcompound, DataOutput dataoutput) throws IOException {
|
||||
a((NBTBase) nbttagcompound, dataoutput);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index 877fc4be6..ebb1b6b8b 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -17,6 +17,8 @@ import java.nio.file.Files;
|
||||
import java.nio.file.LinkOption;
|
||||
import java.nio.file.StandardCopyOption;
|
||||
import java.nio.file.StandardOpenOption;
|
||||
+import java.util.zip.InflaterInputStream; // Paper
|
||||
+
|
||||
import javax.annotation.Nullable;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
@@ -32,13 +34,17 @@ public class RegionFile implements AutoCloseable {
|
||||
private final IntBuffer g;
|
||||
private final IntBuffer h;
|
||||
private final RegionFileBitSet freeSectors;
|
||||
+ public final File file;
|
||||
|
||||
public RegionFile(File file, File file1) throws IOException {
|
||||
this(file.toPath(), file1.toPath(), RegionFileCompression.b);
|
||||
}
|
||||
|
||||
public RegionFile(java.nio.file.Path java_nio_file_path, java.nio.file.Path java_nio_file_path1, RegionFileCompression regionfilecompression) throws IOException {
|
||||
+ this.file = java_nio_file_path.toFile(); // Paper
|
||||
+ System.out.println(file.toString());
|
||||
this.f = ByteBuffer.allocateDirect(8192);
|
||||
+ initOversizedState();
|
||||
this.freeSectors = new RegionFileBitSet();
|
||||
this.e = regionfilecompression;
|
||||
if (!Files.isDirectory(java_nio_file_path1, new LinkOption[0])) {
|
||||
@@ -88,7 +94,7 @@ public class RegionFile implements AutoCloseable {
|
||||
return this.d.resolve(s);
|
||||
}
|
||||
|
||||
- @Nullable
|
||||
+ @Nullable public synchronized DataInputStream getReadStream(ChunkCoordIntPair chunkCoordIntPair) { return a(chunkCoordIntPair);} // Paper - OBFHELPER
|
||||
public synchronized DataInputStream a(ChunkCoordIntPair chunkcoordintpair) throws IOException {
|
||||
int i = this.getOffset(chunkcoordintpair);
|
||||
|
||||
@@ -379,6 +385,74 @@ public class RegionFile implements AutoCloseable {
|
||||
void run() throws IOException;
|
||||
}
|
||||
|
||||
+ private final byte[] oversized = new byte[1024];
|
||||
+ private int oversizedCount = 0;
|
||||
+
|
||||
+ private synchronized void initOversizedState() throws IOException {
|
||||
+ File metaFile = getOversizedMetaFile();
|
||||
+ if (metaFile.exists()) {
|
||||
+ final byte[] read = java.nio.file.Files.readAllBytes(metaFile.toPath());
|
||||
+ System.arraycopy(read, 0, oversized, 0, oversized.length);
|
||||
+ for (byte temp : oversized) {
|
||||
+ oversizedCount += temp;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static int getChunkIndex(int x, int z) {
|
||||
+ return (x & 31) + (z & 31) * 32;
|
||||
+ }
|
||||
+ synchronized boolean isOversized(int x, int z) {
|
||||
+ return this.oversized[getChunkIndex(x, z)] == 1;
|
||||
+ }
|
||||
+ synchronized void setOversized(int x, int z, boolean oversized) throws IOException {
|
||||
+ final int offset = getChunkIndex(x, z);
|
||||
+ boolean previous = this.oversized[offset] == 1;
|
||||
+ this.oversized[offset] = (byte) (oversized ? 1 : 0);
|
||||
+ if (!previous && oversized) {
|
||||
+ oversizedCount++;
|
||||
+ } else if (!oversized && previous) {
|
||||
+ oversizedCount--;
|
||||
+ }
|
||||
+ if (previous && !oversized) {
|
||||
+ File oversizedFile = getOversizedFile(x, z);
|
||||
+ if (oversizedFile.exists()) {
|
||||
+ oversizedFile.delete();
|
||||
+ }
|
||||
+ }
|
||||
+ if (oversizedCount > 0) {
|
||||
+ if (previous != oversized) {
|
||||
+ writeOversizedMeta();
|
||||
+ }
|
||||
+ } else if (previous) {
|
||||
+ File oversizedMetaFile = getOversizedMetaFile();
|
||||
+ if (oversizedMetaFile.exists()) {
|
||||
+ oversizedMetaFile.delete();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private void writeOversizedMeta() throws IOException {
|
||||
+ java.nio.file.Files.write(getOversizedMetaFile().toPath(), oversized);
|
||||
+ }
|
||||
+
|
||||
+ private File getOversizedMetaFile() {
|
||||
+ return new File(this.file.getParentFile(), this.file.getName().replaceAll("\\.mca$", "") + ".oversized.nbt");
|
||||
+ }
|
||||
+
|
||||
+ private File getOversizedFile(int x, int z) {
|
||||
+ return new File(this.file.getParentFile(), this.file.getName().replaceAll("\\.mca$", "") + "_oversized_" + x + "_" + z + ".nbt");
|
||||
+ }
|
||||
+
|
||||
+ synchronized NBTTagCompound getOversizedData(int x, int z) throws IOException {
|
||||
+ File file = getOversizedFile(x, z);
|
||||
+ try (DataInputStream out = new DataInputStream(new BufferedInputStream(new InflaterInputStream(new java.io.FileInputStream(file))))) {
|
||||
+ return NBTCompressedStreamTools.readNBT(out);
|
||||
+ }
|
||||
+
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
class ChunkBuffer extends ByteArrayOutputStream {
|
||||
|
||||
private final ChunkCoordIntPair b;
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
index 57ce53cfd..b3d1bb5fd 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
@@ -42,10 +42,84 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
}
|
||||
}
|
||||
|
||||
+ // Paper start
|
||||
+ private static void printOversizedLog(String msg, File file, int x, int z) {
|
||||
+ org.apache.logging.log4j.LogManager.getLogger().fatal(msg + " (" + file.toString().replaceAll(".+[\\\\/]", "") + " - " + x + "," + z + ") Go clean it up to remove this message. /minecraft:tp " + (x<<4)+" 128 "+(z<<4) + " - DO NOT REPORT THIS TO PAPER - You may ask for help on Discord, but do not file an issue. These error messages can not be removed.");
|
||||
+ }
|
||||
+
|
||||
+ private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
|
||||
+ private static final int OVERZEALOUS_TOTAL_THRESHOLD = 1024 * 64;
|
||||
+ private static final int OVERZEALOUS_THRESHOLD = 1024;
|
||||
+ private static int SIZE_THRESHOLD = DEFAULT_SIZE_THRESHOLD;
|
||||
+ private static void resetFilterThresholds() {
|
||||
+ SIZE_THRESHOLD = Math.max(1024 * 4, Integer.getInteger("Paper.FilterThreshhold", DEFAULT_SIZE_THRESHOLD));
|
||||
+ }
|
||||
+ static {
|
||||
+ resetFilterThresholds();
|
||||
+ }
|
||||
+
|
||||
+ static boolean isOverzealous() {
|
||||
+ return SIZE_THRESHOLD == OVERZEALOUS_THRESHOLD;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ private static NBTTagCompound readOversizedChunk(RegionFile regionfile, ChunkCoordIntPair chunkCoordinate) throws IOException {
|
||||
+ synchronized (regionfile) {
|
||||
+ try (DataInputStream datainputstream = regionfile.getReadStream(chunkCoordinate)) {
|
||||
+ NBTTagCompound oversizedData = regionfile.getOversizedData(chunkCoordinate.x, chunkCoordinate.z);
|
||||
+ NBTTagCompound chunk = NBTCompressedStreamTools.readNBT(datainputstream);
|
||||
+ if (oversizedData == null) {
|
||||
+ return chunk;
|
||||
+ }
|
||||
+ NBTTagCompound oversizedLevel = oversizedData.getCompound("Level");
|
||||
+ NBTTagCompound level = chunk.getCompound("Level");
|
||||
+
|
||||
+ mergeChunkList(level, oversizedLevel, "Entities");
|
||||
+ mergeChunkList(level, oversizedLevel, "TileEntities");
|
||||
+
|
||||
+ chunk.set("Level", level);
|
||||
+
|
||||
+ return chunk;
|
||||
+ } catch (Throwable throwable) {
|
||||
+ throwable.printStackTrace();
|
||||
+ throw throwable;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static void mergeChunkList(NBTTagCompound level, NBTTagCompound oversizedLevel, String key) {
|
||||
+ NBTTagList levelList = level.getList(key, 10);
|
||||
+ NBTTagList oversizedList = oversizedLevel.getList(key, 10);
|
||||
+
|
||||
+ if (!oversizedList.isEmpty()) {
|
||||
+ levelList.addAll(oversizedList);
|
||||
+ level.set(key, levelList);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static int getNBTSize(NBTBase nbtBase) {
|
||||
+ DataOutputStream test = new DataOutputStream(new org.apache.commons.io.output.NullOutputStream());
|
||||
+ try {
|
||||
+ nbtBase.write(test);
|
||||
+ return test.size();
|
||||
+ } catch (IOException e) {
|
||||
+ e.printStackTrace();
|
||||
+ return 0;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ // Paper End
|
||||
+
|
||||
@Nullable
|
||||
public NBTTagCompound read(ChunkCoordIntPair chunkcoordintpair) throws IOException {
|
||||
RegionFile regionfile = this.getFile(chunkcoordintpair, false); // CraftBukkit
|
||||
DataInputStream datainputstream = regionfile.a(chunkcoordintpair);
|
||||
+ // Paper start
|
||||
+ if (regionfile.isOversized(chunkcoordintpair.x, chunkcoordintpair.z)) {
|
||||
+ printOversizedLog("Loading Oversized Chunk!", regionfile.file, chunkcoordintpair.x, chunkcoordintpair.z);
|
||||
+ return readOversizedChunk(regionfile, chunkcoordintpair);
|
||||
+ }
|
||||
+ // Paper end
|
||||
Throwable throwable = null;
|
||||
|
||||
NBTTagCompound nbttagcompound;
|
||||
@@ -86,6 +160,7 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
|
||||
try {
|
||||
NBTCompressedStreamTools.a(nbttagcompound, (DataOutput) dataoutputstream);
|
||||
+ regionfile.setOversized(chunkcoordintpair.x, chunkcoordintpair.z, false); // We don't do this anymore
|
||||
} catch (Throwable throwable1) {
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
--
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From eb331fa777642613a299d6f552419119f496b88b Mon Sep 17 00:00:00 2001
|
||||
From bdd7d6a947e30a7134f904b33ce6403821bf6989 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
|
||||
Date: Wed, 13 Mar 2019 20:08:09 +0200
|
||||
Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled
|
|
@ -1,4 +1,4 @@
|
|||
From fda262dd9b992959add9d37072e8ca5b23c75f9a Mon Sep 17 00:00:00 2001
|
||||
From c1513403d09c44b7bfae1d234148767584907e80 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 22 Sep 2018 00:33:08 -0500
|
||||
Subject: [PATCH] Add LivingEntity#getTargetEntity
|
|
@ -1,4 +1,4 @@
|
|||
From 8bf37391928514c6346d1f8bc0c7453fecce0746 Mon Sep 17 00:00:00 2001
|
||||
From 16b1e0a58ce97d724e3050460eef23dcab50b4d8 Mon Sep 17 00:00:00 2001
|
||||
From: kashike <kashike@vq.lc>
|
||||
Date: Wed, 20 Mar 2019 21:19:29 -0700
|
||||
Subject: [PATCH] Use proper max length when serialising BungeeCord text
|
|
@ -1,4 +1,4 @@
|
|||
From b75ffe98136f18b12833b85396623dd3f66b421d Mon Sep 17 00:00:00 2001
|
||||
From 236f26380b33310cff61b7424b6560529ecce8a9 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 24 Mar 2019 00:24:52 -0400
|
||||
Subject: [PATCH] Entity#getEntitySpawnReason
|
|
@ -1,4 +1,4 @@
|
|||
From 077d7c29117573df85c77b5aa71d54f66ee94684 Mon Sep 17 00:00:00 2001
|
||||
From 95d4a9a7e592b91b0e1337b8bde1a801eda42039 Mon Sep 17 00:00:00 2001
|
||||
From: AgentTroll <woodyc40@gmail.com>
|
||||
Date: Fri, 22 Mar 2019 22:24:03 -0700
|
||||
Subject: [PATCH] Update entity Metadata for all tracked players
|
|
@ -1,4 +1,4 @@
|
|||
From 6b8d1c804d7bcb659c31061330a031032d71c2a7 Mon Sep 17 00:00:00 2001
|
||||
From d9a672f6244bc86e3389a9968fa8aa962ab874ae Mon Sep 17 00:00:00 2001
|
||||
From: Mark Vainomaa <mikroskeem@mikroskeem.eu>
|
||||
Date: Sun, 17 Mar 2019 21:46:56 +0200
|
||||
Subject: [PATCH] Fire event on GS4 query
|
|
@ -1,4 +1,4 @@
|
|||
From 80f6b71d88fd3e543e30dd3f8b5be133ae925d35 Mon Sep 17 00:00:00 2001
|
||||
From f45d0df3f43b34fb59b7fc477ffe642f9e934fa8 Mon Sep 17 00:00:00 2001
|
||||
From: MisterVector <whizkid3000@hotmail.com>
|
||||
Date: Fri, 26 Oct 2018 21:31:00 -0700
|
||||
Subject: [PATCH] Implement PlayerPostRespawnEvent
|
|
@ -1,4 +1,4 @@
|
|||
From 69bf21627466c0f99fe7a6f3acb17c13a5926a5d Mon Sep 17 00:00:00 2001
|
||||
From 9cab8df420787a6200fca4c9c3faa86ceac87075 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 24 Mar 2019 18:09:20 -0400
|
||||
Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items
|
|
@ -1,4 +1,4 @@
|
|||
From dd55113d530d2bb27380c70856539f37a0c50f41 Mon Sep 17 00:00:00 2001
|
||||
From 33048cf98234031f12f492f1c84d0f6099767873 Mon Sep 17 00:00:00 2001
|
||||
From: BillyGalbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 6 Oct 2018 20:54:23 -0500
|
||||
Subject: [PATCH] Implement getters and setters for EntityItem owner and
|
|
@ -1,4 +1,4 @@
|
|||
From 8274ef9fa1e61024cc18be25d3d0c7e549229617 Mon Sep 17 00:00:00 2001
|
||||
From 86a54e33b960ae1e787bda711cc696ef090b3415 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 27 Mar 2019 22:48:45 -0400
|
||||
Subject: [PATCH] Server Tick Events
|
|
@ -1,4 +1,4 @@
|
|||
From f99fd489c3c0c983412fe5588269d8e2a8b58ecf Mon Sep 17 00:00:00 2001
|
||||
From 737e70fa2923a0b94fe8e6ab6835d1538450c1dd Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Wed, 27 Mar 2019 23:01:33 -0400
|
||||
Subject: [PATCH] PlayerDeathEvent#getItemsToKeep
|
||||
|
@ -8,7 +8,7 @@ Exposes a mutable array on items a player should keep on death
|
|||
Example Usage: https://gist.github.com/aikar/5bb202de6057a051a950ce1f29feb0b4
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index cc9e69651..ca2398386 100644
|
||||
index 65b6051cf..72938a2e2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -510,6 +510,46 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
@ -1,4 +1,4 @@
|
|||
From 5e9eff1f0169179c20855dfdb4f0129b00180e09 Mon Sep 17 00:00:00 2001
|
||||
From 2e6b199a401dd9269326b4892869c566b0279da9 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 6 Apr 2019 10:16:48 -0400
|
||||
Subject: [PATCH] Optimize Captured TileEntity Lookup
|
||||
|
@ -31,5 +31,5 @@ index 77db1b73d..7d39a8fbc 100644
|
|||
if (this.tickingTileEntities) {
|
||||
tileentity = this.e(blockposition);
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 2bd3daff08c36cebcfb7c1f1a7eb3718d771daa6 Mon Sep 17 00:00:00 2001
|
||||
From c0110825b0e7532a885d2c488434f96c17942005 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Tue, 1 Jan 2019 02:22:01 -0800
|
||||
Subject: [PATCH] Add Heightmap API
|
||||
|
@ -20,7 +20,7 @@ index 7d39a8fbc..9889b0543 100644
|
|||
|
||||
if (i >= -30000000 && j >= -30000000 && i < 30000000 && j < 30000000) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 578fe8d19..12362d560 100644
|
||||
index aec657952..38f61fddf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -340,6 +340,29 @@ public class CraftWorld implements World {
|
||||
|
@ -54,5 +54,5 @@ index 578fe8d19..12362d560 100644
|
|||
public Location getSpawnLocation() {
|
||||
BlockPosition spawn = world.getSpawn();
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 30d0d58e6914e05dbcb03e73d6d87c8848013bfc Mon Sep 17 00:00:00 2001
|
||||
From e01d52625f08e8115a1145fe158643465a5d8fb0 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Fri, 19 Apr 2019 12:41:13 -0500
|
||||
Subject: [PATCH] Mob Spawner API Enhancements
|
|
@ -1,4 +1,4 @@
|
|||
From 64338f14b0ce74b1b8d53d996cb08ca4ba984966 Mon Sep 17 00:00:00 2001
|
||||
From 30724313dcf4a3ba4a4ecf9596a09247f4a93fd7 Mon Sep 17 00:00:00 2001
|
||||
From: Zach Brown <zach@zachbr.io>
|
||||
Date: Mon, 6 May 2019 01:29:25 -0400
|
||||
Subject: [PATCH] Per-Player View Distance API placeholders
|
||||
|
@ -39,7 +39,7 @@ index 2e95069c1..8977c3516 100644
|
|||
double deltaX = this.locX() - player.locX();
|
||||
double deltaZ = this.locZ() - player.locZ();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index b176b2346..5603ed126 100644
|
||||
index 10c653e8e..712056cad 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1965,6 +1965,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
@ -60,5 +60,5 @@ index b176b2346..5603ed126 100644
|
|||
|
||||
// Spigot start
|
||||
--
|
||||
2.17.1
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 84cd561af5130ce02ebfdbe04339b9e1765fe28d Mon Sep 17 00:00:00 2001
|
||||
From 0cebabccd9505b15af3be4913a9f447e4e245a55 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Fri, 10 May 2019 18:38:19 +0100
|
||||
Subject: [PATCH] Fix CB call to changed postToMainThread method
|
|
@ -1,4 +1,4 @@
|
|||
From 81e5cb6c7eadf2b99c00fca4c658e92efb7ca794 Mon Sep 17 00:00:00 2001
|
||||
From 2024b1c830efb09fba218fc8abf4aabffda1799d Mon Sep 17 00:00:00 2001
|
||||
From: Phoenix616 <mail@moep.tv>
|
||||
Date: Sat, 27 Apr 2019 20:00:43 +0100
|
||||
Subject: [PATCH] Fix sounds when item frames are modified (MC-123450)
|
|
@ -1,4 +1,4 @@
|
|||
From 80988fcf00fd1246ec08ce046e879c533490e166 Mon Sep 17 00:00:00 2001
|
||||
From 975d2b4732210ce8a1e1c1a06a1675fffd37c6c3 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Mon, 13 May 2019 21:10:59 -0700
|
||||
Subject: [PATCH] Fix CraftServer#isPrimaryThread and MinecraftServer
|
|
@ -1,4 +1,4 @@
|
|||
From 81e442b2df9ec4a2067421826002e569cb0f0ddd Mon Sep 17 00:00:00 2001
|
||||
From c4766ed3acccded07f6705146ce1ae56d6fa7c16 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Fri, 28 Sep 2018 21:49:53 -0400
|
||||
Subject: [PATCH] Fix issues with entity loss due to unloaded chunks
|
|
@ -1,4 +1,4 @@
|
|||
From 6e44f48dc3266fee79360c7400a2f371543c7de8 Mon Sep 17 00:00:00 2001
|
||||
From 40ef22f09f6cde352f44083fab5aeb50a3ff8659 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 21 Jul 2018 14:27:34 -0400
|
||||
Subject: [PATCH] Duplicate UUID Resolve Option
|
|
@ -1,4 +1,4 @@
|
|||
From 5c3534a9d83d87e197cb35ab9b6bd5c6ba667e2d Mon Sep 17 00:00:00 2001
|
||||
From a59b1080bb3fa6936ada204bf1ea7257ac629071 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Tue, 21 May 2019 02:34:04 +0100
|
||||
Subject: [PATCH] improve CraftWorld#isChunkLoaded
|
||||
|
@ -9,7 +9,7 @@ waiting for the execution queue to get to our request; We can just query
|
|||
the chunk status and get a response now, vs having to wait
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index 12362d560..29c14c707 100644
|
||||
index 38f61fddf..f773534d9 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -404,14 +404,13 @@ public class CraftWorld implements World {
|
|
@ -1,4 +1,4 @@
|
|||
From d60538b85a1cf56b3c823f0aad268c335d243775 Mon Sep 17 00:00:00 2001
|
||||
From 362d0c2ad0362a3d5646d98ad8d8e3583245b2c7 Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sat, 13 Sep 2014 23:14:43 -0400
|
||||
Subject: [PATCH] Configurable Keep Spawn Loaded range per world
|
|
@ -1,11 +1,11 @@
|
|||
From 49c037cf9446052db43e1254b2f02850c5d5f9ef Mon Sep 17 00:00:00 2001
|
||||
From f0195eee180708b96f8cc291406a6a14db60a68c Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Fri, 24 May 2019 07:53:16 +0100
|
||||
Subject: [PATCH] Fix some generation concurrency issues
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 10bb06489..9ad76ab32 100644
|
||||
index 9889b0543..e80cb3b97 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -100,6 +100,23 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
@ -1,4 +1,4 @@
|
|||
From 6e461a1d9d95e3f023050c86cf602b587c5ab9f5 Mon Sep 17 00:00:00 2001
|
||||
From fccbe5248ff52daf32ff59119244aebf5d418073 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Mon, 27 May 2019 17:35:39 -0500
|
||||
Subject: [PATCH] MC-114618 - Fix EntityAreaEffectCloud from going negative
|
|
@ -1,4 +1,4 @@
|
|||
From b138edb74998577db55d22d2f38ebd72a698fda2 Mon Sep 17 00:00:00 2001
|
||||
From d6f1614afe2775c5b94a7fd8839714a466dd1c97 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Wed, 29 May 2019 04:01:22 +0100
|
||||
Subject: [PATCH] ChunkMapDistance CME
|
|
@ -1,4 +1,4 @@
|
|||
From 5fa8829e572213f79c592d335e8d5b435ae998ff Mon Sep 17 00:00:00 2001
|
||||
From ed3224e4158f46de0018aff479b8e46ad364724e Mon Sep 17 00:00:00 2001
|
||||
From: simpleauthority <jacob@algorithmjunkie.com>
|
||||
Date: Tue, 28 May 2019 03:48:51 -0700
|
||||
Subject: [PATCH] Implement CraftBlockSoundGroup
|
|
@ -1,4 +1,4 @@
|
|||
From 7aeff3196542cd822a56ef1006e087cf48cacbaa Mon Sep 17 00:00:00 2001
|
||||
From 5226daa6f5a0861263a8ba5a60928d688edf6c82 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sat, 1 Jun 2019 13:00:55 -0700
|
||||
Subject: [PATCH] Chunk debug command
|
|
@ -1,4 +1,4 @@
|
|||
From 9dff654d99e1c5c0d31a9974dfe1b2b8314ae3dc Mon Sep 17 00:00:00 2001
|
||||
From dfa233ab3d70f5560824d0f36842edf2049f1587 Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sun, 9 Jun 2019 03:53:22 +0100
|
||||
Subject: [PATCH] incremental chunk saving
|
||||
|
@ -207,5 +207,5 @@ index c28c0431a..4bfa6ea0e 100644
|
|||
this.checkSession();
|
||||
this.worldProvider.i();
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
From d10bee4a09233c43f6d1f101d41dc95f26b8de53 Mon Sep 17 00:00:00 2001
|
||||
From 1c282ade14f186ac9e11f5ce36aab5d9f2d5a03e Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Mon, 10 Jun 2019 09:36:40 +0100
|
||||
Subject: [PATCH] Catch exceptions from dispenser entity spawns
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IDispenseBehavior.java b/src/main/java/net/minecraft/server/IDispenseBehavior.java
|
||||
index 8c4a8b4ba..83877d672 100644
|
||||
index abc0cd346..9a8be1474 100644
|
||||
--- a/src/main/java/net/minecraft/server/IDispenseBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/server/IDispenseBehavior.java
|
||||
@@ -163,7 +163,14 @@ public interface IDispenseBehavior {
|
|
@ -1,4 +1,4 @@
|
|||
From 6b1cddcc1971812cc32743d91d699a91261d839c Mon Sep 17 00:00:00 2001
|
||||
From ac0af46097c78d7fbe69ef67655e5b7f34a2c058 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sat, 15 Jun 2019 08:54:33 -0700
|
||||
Subject: [PATCH] Fix World#isChunkGenerated calls
|
||||
|
@ -200,12 +200,12 @@ index 4379434f6..8e2208422 100644
|
|||
boolean isOutsideOfRange(ChunkCoordIntPair chunkcoordintpair) {
|
||||
// Spigot start
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index 5d2cbbad2..7eb87c517 100644
|
||||
index ebb1b6b8b..e28fea44e 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -33,6 +33,30 @@ public class RegionFile implements AutoCloseable {
|
||||
private final IntBuffer h;
|
||||
@@ -36,6 +36,30 @@ public class RegionFile implements AutoCloseable {
|
||||
private final RegionFileBitSet freeSectors;
|
||||
public final File file;
|
||||
|
||||
+ // Paper start - Cache chunk status
|
||||
+ private final ChunkStatus[] statuses = new ChunkStatus[32 * 32];
|
||||
|
@ -234,7 +234,7 @@ index 5d2cbbad2..7eb87c517 100644
|
|||
public RegionFile(File file, File file1) throws IOException {
|
||||
this(file.toPath(), file1.toPath(), RegionFileCompression.b);
|
||||
}
|
||||
@@ -344,11 +368,13 @@ public class RegionFile implements AutoCloseable {
|
||||
@@ -350,11 +374,13 @@ public class RegionFile implements AutoCloseable {
|
||||
return this.getOffset(chunkcoordintpair) != 0;
|
||||
}
|
||||
|
||||
|
@ -249,7 +249,7 @@ index 5d2cbbad2..7eb87c517 100644
|
|||
this.c();
|
||||
} finally {
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
index 57ce53cfd..1a6be7c6d 100644
|
||||
index b3d1bb5fd..e07ae9854 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
@@ -18,7 +18,14 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
|
@ -268,16 +268,18 @@ index 57ce53cfd..1a6be7c6d 100644
|
|||
long i = ChunkCoordIntPair.pair(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ());
|
||||
RegionFile regionfile = (RegionFile) this.cache.getAndMoveToFirst(i);
|
||||
|
||||
@@ -86,6 +93,7 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
@@ -160,7 +167,8 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
|
||||
try {
|
||||
NBTCompressedStreamTools.a(nbttagcompound, (DataOutput) dataoutputstream);
|
||||
- regionfile.setOversized(chunkcoordintpair.x, chunkcoordintpair.z, false); // We don't do this anymore
|
||||
+ regionfile.setStatus(chunkcoordintpair.x, chunkcoordintpair.z, ChunkRegionLoader.getStatus(nbttagcompound)); // Paper - cache status on disk
|
||||
+ regionfile.setOversized(chunkcoordintpair.x, chunkcoordintpair.z, false);
|
||||
} catch (Throwable throwable1) {
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index b1ae19be7..7d509856b 100644
|
||||
index ceb638c98..b824518a2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -18,6 +18,7 @@ import java.util.Objects;
|
|
@ -1,4 +1,4 @@
|
|||
From f2e3f2bd5e5df98d49b2da4acf61f4556185d3ef Mon Sep 17 00:00:00 2001
|
||||
From 552c90cb14a0f1f872e74cf543950d3a531958b0 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sat, 15 Jun 2019 10:28:25 -0700
|
||||
Subject: [PATCH] Show blockstate location if we failed to read it
|
|
@ -1,4 +1,4 @@
|
|||
From 538fc4cb63c6281c1424dbb1c161e5a8f9f9e0b6 Mon Sep 17 00:00:00 2001
|
||||
From 36dd09d5ac15db202dbc8cb0c826ecb7bd5a398d Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Fri, 21 Jun 2019 14:42:48 -0700
|
||||
Subject: [PATCH] Log other thread in DataPaletteBlock lock failure
|
|
@ -1,4 +1,4 @@
|
|||
From 1520f4ce0ecc7afa9db856bc7ab16923dbe51d4d Mon Sep 17 00:00:00 2001
|
||||
From 79638ebade63eda20f529d12b40bca871cbe13dc Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sat, 22 Jun 2019 04:20:47 -0700
|
||||
Subject: [PATCH] Use ChunkStatus cache when saving protochunks
|
|
@ -1,4 +1,4 @@
|
|||
From d46c3f2175e3fe28a373540a9e5f7a668fb4817a Mon Sep 17 00:00:00 2001
|
||||
From 27052884845edb46e052c30c3dcd0297977dd951 Mon Sep 17 00:00:00 2001
|
||||
From: stonar96 <minecraft.stonar96@gmail.com>
|
||||
Date: Mon, 20 Aug 2018 03:03:58 +0200
|
||||
Subject: [PATCH] Anti-Xray
|
||||
|
@ -1710,5 +1710,5 @@ index 7772d5900..4570ed999 100644
|
|||
return section;
|
||||
}
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 7167eb52225425a7247cb5afc746f3c5e0902847 Mon Sep 17 00:00:00 2001
|
||||
From 4cf94d91c42943eca03ece8a100df94430b38f4a Mon Sep 17 00:00:00 2001
|
||||
From: Aikar <aikar@aikar.co>
|
||||
Date: Sun, 24 Mar 2019 01:01:32 -0400
|
||||
Subject: [PATCH] Only count Natural Spawned mobs towards natural spawn mob
|
||||
|
@ -56,5 +56,5 @@ index 4bfa6ea0e..733f3e10e 100644
|
|||
}
|
||||
}
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From fe80434c15e830414fa1dd4ff75dbe4ac61da0b0 Mon Sep 17 00:00:00 2001
|
||||
From 6354f2fb43806dd2601d2aad018a7a38c295e825 Mon Sep 17 00:00:00 2001
|
||||
From: Lucavon <lucavonlp@gmail.com>
|
||||
Date: Tue, 23 Jul 2019 20:29:20 -0500
|
||||
Subject: [PATCH] Configurable projectile relative velocity
|
|
@ -1,4 +1,4 @@
|
|||
From 9a39e60db93fde594b0819fcf31c8ad7bde4ffa0 Mon Sep 17 00:00:00 2001
|
||||
From 4bfbfba672c3290f49714b7dbd62f946dcec1d8e Mon Sep 17 00:00:00 2001
|
||||
From: Shane Freeder <theboyetronic@gmail.com>
|
||||
Date: Sun, 28 Jul 2019 00:51:11 +0100
|
||||
Subject: [PATCH] Mark entities as being ticked when notifying navigation
|
||||
|
@ -25,5 +25,5 @@ index 733f3e10e..049d4ef4e 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 48db1f915770a15bad559a4d889daf1c9c8a7bb1 Mon Sep 17 00:00:00 2001
|
||||
From 2dc8fc34cd68da22615790515c021597e08e2d86 Mon Sep 17 00:00:00 2001
|
||||
From: kickash32 <kickash32@gmail.com>
|
||||
Date: Tue, 30 Jul 2019 03:17:16 +0500
|
||||
Subject: [PATCH] offset item frame ticking
|
|
@ -1,4 +1,4 @@
|
|||
From 804237b1d74d70816cc3b2d5defe825ecfd8feb8 Mon Sep 17 00:00:00 2001
|
||||
From 7b83f4c1645525d25e9a6adce9f9575f2f0410be Mon Sep 17 00:00:00 2001
|
||||
From: CullanP <cullanpage@gmail.com>
|
||||
Date: Thu, 3 Mar 2016 02:13:38 -0600
|
||||
Subject: [PATCH] Avoid hopper searches if there are no items
|
|
@ -1,4 +1,4 @@
|
|||
From 3b24ccb35b244f98490f2bcef8e3737ea63ce55e Mon Sep 17 00:00:00 2001
|
||||
From bf98ce4258d47881008bc8e668ce476e3654c150 Mon Sep 17 00:00:00 2001
|
||||
From: TheGreatKetchup <TheGreatKetchup@users.noreply.github.com>
|
||||
Date: Thu, 1 Aug 2019 21:24:30 -0400
|
||||
Subject: [PATCH] Fixed MC-156852
|
|
@ -1,4 +1,4 @@
|
|||
From 39e9ae754b5cdd63c29990b615635ffd5f763318 Mon Sep 17 00:00:00 2001
|
||||
From 0a43667cab1c015aa9134e539b38305b1e276a60 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Sat, 13 Jul 2019 09:23:10 -0700
|
||||
Subject: [PATCH] Asynchronous chunk IO and loading
|
||||
|
@ -3542,10 +3542,10 @@ index 6a54ccb86..fce37d0d6 100644
|
|||
return this.m;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFile.java b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
index 5cb19b105..be3726a83 100644
|
||||
index e28fea44e..1d74a59b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFile.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFile.java
|
||||
@@ -218,7 +218,7 @@ public class RegionFile implements AutoCloseable {
|
||||
@@ -224,7 +224,7 @@ public class RegionFile implements AutoCloseable {
|
||||
return (i + 4096 - 1) / 4096;
|
||||
}
|
||||
|
||||
|
@ -3554,7 +3554,7 @@ index 5cb19b105..be3726a83 100644
|
|||
int i = this.getOffset(chunkcoordintpair);
|
||||
|
||||
if (i == 0) {
|
||||
@@ -373,7 +373,7 @@ public class RegionFile implements AutoCloseable {
|
||||
@@ -379,7 +379,7 @@ public class RegionFile implements AutoCloseable {
|
||||
return chunkcoordintpair.j() + chunkcoordintpair.k() * 32;
|
||||
}
|
||||
|
||||
|
@ -3564,7 +3564,7 @@ index 5cb19b105..be3726a83 100644
|
|||
try {
|
||||
this.c();
|
||||
diff --git a/src/main/java/net/minecraft/server/RegionFileCache.java b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
index 1a6be7c6d..386f47dc8 100644
|
||||
index e07ae9854..d927f9321 100644
|
||||
--- a/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/RegionFileCache.java
|
||||
@@ -9,7 +9,7 @@ import java.io.File;
|
||||
|
@ -3591,7 +3591,7 @@ index 1a6be7c6d..386f47dc8 100644
|
|||
long i = ChunkCoordIntPair.pair(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ());
|
||||
RegionFile regionfile = (RegionFile) this.cache.getAndMoveToFirst(i);
|
||||
|
||||
@@ -126,7 +126,7 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
@@ -201,7 +201,7 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
// Paper end
|
||||
}
|
||||
|
||||
|
@ -3600,7 +3600,7 @@ index 1a6be7c6d..386f47dc8 100644
|
|||
ObjectIterator objectiterator = this.cache.values().iterator();
|
||||
|
||||
while (objectiterator.hasNext()) {
|
||||
@@ -138,7 +138,7 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
@@ -213,7 +213,7 @@ public final class RegionFileCache implements AutoCloseable {
|
||||
}
|
||||
|
||||
// CraftBukkit start
|
|
@ -1,4 +1,4 @@
|
|||
From 74d4e0d23d00c6094227c4af53d951b7db41866a Mon Sep 17 00:00:00 2001
|
||||
From bb113160b19d4ae7a6e962497dae973c2aaa2905 Mon Sep 17 00:00:00 2001
|
||||
From: kickash32 <kickash32@gmail.com>
|
||||
Date: Mon, 3 Jun 2019 02:02:39 -0400
|
||||
Subject: [PATCH] Implement alternative item-despawn-rate
|
|
@ -1,4 +1,4 @@
|
|||
From 55f4e65820156e476cff0bfa265f30573860ca87 Mon Sep 17 00:00:00 2001
|
||||
From 8eb3cc62754bcef5fac4aac09ddfed3720f02872 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Sauve <paul@burngames.net>
|
||||
Date: Sun, 14 Jul 2019 21:05:03 -0500
|
||||
Subject: [PATCH] Do less work if we have a custom Bukkit generator
|
||||
|
@ -7,7 +7,7 @@ If the Bukkit generator already has a spawn, use it immediately instead
|
|||
of spending time generating one that we won't use
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 657f0e024..1d750eba5 100644
|
||||
index 59b2fc629..3283fb49e 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -782,12 +782,13 @@ public class WorldServer extends World {
|
||||
|
@ -45,5 +45,5 @@ index 657f0e024..1d750eba5 100644
|
|||
WorldServer.LOGGER.warn("Unable to find spawn biome");
|
||||
}
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 1d6c2900cc2fd68d9a667492a50bf5b9a4fc925f Mon Sep 17 00:00:00 2001
|
||||
From 9cf49598ac9227f8a6dde12d613d4c34e336a854 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Tue, 13 Aug 2019 06:35:17 -0700
|
||||
Subject: [PATCH] Fix MC-158900
|
|
@ -1,4 +1,4 @@
|
|||
From 1dfb1d7424222fe141edd78433a2f79225570544 Mon Sep 17 00:00:00 2001
|
||||
From 96e036179387cef7e9628599de3ae2af7fb04077 Mon Sep 17 00:00:00 2001
|
||||
From: kickash32 <kickash32@gmail.com>
|
||||
Date: Mon, 19 Aug 2019 01:27:58 +0500
|
||||
Subject: [PATCH] implement optional per player mob spawns
|
||||
|
@ -599,7 +599,7 @@ index 1f6b1c4f1..cbe4b23e1 100644
|
|||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index fc3cb17e6..c9492ed37 100644
|
||||
index 72938a2e2..1b0ef1442 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -80,6 +80,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
@ -643,7 +643,7 @@ index d49ad0308..2fb04e3e9 100644
|
|||
return this.bb;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
index 66bd402e9..041fedcfa 100644
|
||||
index fce37d0d6..b37c1161d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
|
||||
@@ -78,7 +78,8 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
|
||||
|
@ -682,7 +682,7 @@ index 66bd402e9..041fedcfa 100644
|
|||
|
||||
private static double a(ChunkCoordIntPair chunkcoordintpair, Entity entity) {
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index e168c528c..56dabbc15 100644
|
||||
index fdac5bb3a..58bbf2f9d 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -3,6 +3,7 @@ package net.minecraft.server;
|
||||
|
@ -755,7 +755,7 @@ index e168c528c..56dabbc15 100644
|
|||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index b9e37d630..25a1ef134 100644
|
||||
index 3283fb49e..4da34b6dd 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -999,7 +999,20 @@ public class WorldServer extends World {
|
||||
|
@ -800,5 +800,5 @@ index b9e37d630..25a1ef134 100644
|
|||
|
||||
@Override
|
||||
--
|
||||
2.24.0
|
||||
2.24.1
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 7c80dba0d3a274a5f604ad236f1f12aa13449e31 Mon Sep 17 00:00:00 2001
|
||||
From 4a61144b6be959ff1948fe9c1dbe82445f0c4d6f Mon Sep 17 00:00:00 2001
|
||||
From: kickash32 <kickash32@gmail.com>
|
||||
Date: Mon, 19 Aug 2019 19:42:35 +0500
|
||||
Subject: [PATCH] Prevent consuming the wrong itemstack
|
|
@ -1,4 +1,4 @@
|
|||
From 8ff3bafc29dfc11e923bb86432794bfd106b6c8f Mon Sep 17 00:00:00 2001
|
||||
From 10109b634bf143461fd790eac110deb9830c4831 Mon Sep 17 00:00:00 2001
|
||||
From: kickash32 <kickash32@gmail.com>
|
||||
Date: Wed, 21 Aug 2019 23:57:32 +0500
|
||||
Subject: [PATCH] only add passanger entities once from spawners
|
|
@ -1,4 +1,4 @@
|
|||
From 828a7c3535eb0e5f5b5200743c8e542b1395c238 Mon Sep 17 00:00:00 2001
|
||||
From 0f2ffd7ebb3495dcda379c586a0069ec782fc5a9 Mon Sep 17 00:00:00 2001
|
||||
From: Michael Himing <mhiming@gmail.com>
|
||||
Date: Mon, 9 Sep 2019 13:21:17 +1000
|
||||
Subject: [PATCH] Fix nether portal creation
|
|
@ -1,4 +1,4 @@
|
|||
From 4ea9cf8cd97ba06ad09271b7f139293726ab61df Mon Sep 17 00:00:00 2001
|
||||
From d68a253b65cf8d1ade79d29176abd91db9a7f1db Mon Sep 17 00:00:00 2001
|
||||
From: Byteflux <byte@byteflux.net>
|
||||
Date: Wed, 2 Mar 2016 02:17:54 -0600
|
||||
Subject: [PATCH] Generator Settings
|
|
@ -1,4 +1,4 @@
|
|||
From 3c9973d39ac3b4fd3fbe7fb79de0e48e93ae9de1 Mon Sep 17 00:00:00 2001
|
||||
From eff04147cfad9b318341b9d02643ae8301b5da8e Mon Sep 17 00:00:00 2001
|
||||
From: Phoenix616 <mail@moep.tv>
|
||||
Date: Sun, 15 Sep 2019 11:32:32 -0500
|
||||
Subject: [PATCH] Fix zero-tick instant grow farms MC-113809
|
||||
|
@ -81,7 +81,7 @@ index 55b07444e..3bc3c5aa2 100644
|
|||
|
||||
for (i = 1; worldserver.getType(blockposition.down(i)).getBlock() == this; ++i) {
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 4da5c8982..b15fb2b63 100644
|
||||
index 4da34b6dd..722384a91 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -678,7 +678,9 @@ public class WorldServer extends World {
|
|
@ -1,4 +1,4 @@
|
|||
From d3111a6f265a2e5c00d8ad2af14ee199ab1af5d4 Mon Sep 17 00:00:00 2001
|
||||
From e03778a0f694dc74313b55669b6ad2dfd368bc46 Mon Sep 17 00:00:00 2001
|
||||
From: Spottedleaf <Spottedleaf@users.noreply.github.com>
|
||||
Date: Tue, 24 Sep 2019 16:03:00 -0700
|
||||
Subject: [PATCH] Fix MC-161754
|
|
@ -1,4 +1,4 @@
|
|||
From 7249cb6d35502af578c780638266144a4cfffd84 Mon Sep 17 00:00:00 2001
|
||||
From f7a31c785e4dc744d39a0bfba127dee6fea5a98d Mon Sep 17 00:00:00 2001
|
||||
From: wea_ondara <wea_ondara@alpenblock.net>
|
||||
Date: Thu, 10 Oct 2019 11:29:42 +0200
|
||||
Subject: [PATCH] Performance improvement for Chunk.getEntities
|
|
@ -1,4 +1,4 @@
|
|||
From a543776f740a0ac50f9c9ec79952b3e429a3e693 Mon Sep 17 00:00:00 2001
|
||||
From a2595c7103cbe5705c94c5854fd1d457eec370db Mon Sep 17 00:00:00 2001
|
||||
From: MisterErwin <git@askarian.net>
|
||||
Date: Wed, 30 Oct 2019 16:57:54 +0100
|
||||
Subject: [PATCH] Fix spawning of hanging entities that are not ItemFrames and
|
|
@ -1,4 +1,4 @@
|
|||
From 60e3e0eea1101a1051eae557cf50ae777180319a Mon Sep 17 00:00:00 2001
|
||||
From 3f291428ad21d00a3785ef3422ff3d0dacb824cf Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Sat, 20 Apr 2019 19:47:34 -0500
|
||||
Subject: [PATCH] Expose the internal current tick
|
|
@ -1,11 +1,11 @@
|
|||
From e6a5a6c1ab381478ddf24920052cdfeb4c66498d Mon Sep 17 00:00:00 2001
|
||||
From 416668f709bea9550515b44abf783db0b077591c Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Wed, 9 Oct 2019 21:51:43 -0500
|
||||
Subject: [PATCH] Fix stuck in sneak when changing worlds (MC-10657)
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index c9492ed37..95a5643a6 100644
|
||||
index 1b0ef1442..30380c8db 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -946,6 +946,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
|
@ -1,4 +1,4 @@
|
|||
From 70cde0b9dac1d0a9adca3a68c8d3eca49831aca4 Mon Sep 17 00:00:00 2001
|
||||
From a1bcd539c6db7a63b45cf5265a1fbdcf72cd772b Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Wed, 9 Oct 2019 21:46:15 -0500
|
||||
Subject: [PATCH] Add option to disable pillager patrols
|
|
@ -1,4 +1,4 @@
|
|||
From 5857af2aa8c422db22152f0324220fda65d63092 Mon Sep 17 00:00:00 2001
|
||||
From 99a440f1da1f1952e75bbebc63def8d69d35594a Mon Sep 17 00:00:00 2001
|
||||
From: Lukasz Derlatka <toranktto@gmail.com>
|
||||
Date: Mon, 11 Nov 2019 16:08:13 +0100
|
||||
Subject: [PATCH] Fix AssertionError when player hand set to empty type
|
Loading…
Reference in a new issue