You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

34 lines
1.4 KiB

--- ../src-base/minecraft/net/minecraft/world/chunk/storage/RegionFileCache.java
+++ ../src-work/minecraft/net/minecraft/world/chunk/storage/RegionFileCache.java
@@ -10,11 +10,15 @@
public class RegionFileCache
{
- private static final Map regionsByFilename = new HashMap();
+ public static final Map regionsByFilename = new HashMap(); // CraftBukkit - private -> public
private static final String __OBFID = "CL_00000383";
public static synchronized RegionFile createOrLoadRegionFile(File p_76550_0_, int p_76550_1_, int p_76550_2_)
{
+ return createOrLoadRegionFile(p_76550_0_, p_76550_1_, p_76550_2_, true);
+ }
+ public static synchronized RegionFile createOrLoadRegionFile(File p_76550_0_, int p_76550_1_, int p_76550_2_, boolean create)
+ {
File file2 = new File(p_76550_0_, "region");
File file3 = new File(file2, "r." + (p_76550_1_ >> 5) + "." + (p_76550_2_ >> 5) + ".mca");
RegionFile regionfile = (RegionFile)regionsByFilename.get(file3);
@@ -25,6 +29,7 @@
}
else
{
+ if (!create && !file2.exists()) { return null; } // PaperSpigot
if (!file2.exists())
{
file2.mkdirs();
@@ -76,4 +81,4 @@
RegionFile regionfile = createOrLoadRegionFile(p_76552_0_, p_76552_1_, p_76552_2_);
return regionfile.getChunkDataOutputStream(p_76552_1_ & 31, p_76552_2_ & 31);
}
-}
+}