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.
40 lines
1.8 KiB
40 lines
1.8 KiB
--- ../src-base/minecraft/net/minecraft/world/chunk/storage/RegionFile.java |
|
+++ ../src-work/minecraft/net/minecraft/world/chunk/storage/RegionFile.java |
|
@@ -16,7 +16,7 @@ |
|
|
|
public class RegionFile |
|
{ |
|
- private static final byte[] emptySector = new byte[4096]; |
|
+ private static final byte[] emptySector = new byte[4096]; // Spigot - note: if this ever changes to not be 4096 bytes, update constructor! |
|
private final File fileName; |
|
private RandomAccessFile dataFile; |
|
private final int[] offsets = new int[1024]; |
|
@@ -43,16 +43,10 @@ |
|
|
|
if (this.dataFile.length() < 4096L) |
|
{ |
|
- for (i = 0; i < 1024; ++i) |
|
- { |
|
- this.dataFile.writeInt(0); |
|
- } |
|
+ // Spigot - more effecient chunk zero'ing |
|
+ this.dataFile.write(RegionFile.emptySector); // Spigot |
|
+ this.dataFile.write(RegionFile.emptySector); // Spigot |
|
|
|
- for (i = 0; i < 1024; ++i) |
|
- { |
|
- this.dataFile.writeInt(0); |
|
- } |
|
- |
|
this.sizeDelta += 8192; |
|
} |
|
|
|
@@ -209,7 +203,7 @@ |
|
|
|
public DataOutputStream getChunkDataOutputStream(int p_76710_1_, int p_76710_2_) |
|
{ |
|
- return this.outOfBounds(p_76710_1_, p_76710_2_) ? null : new DataOutputStream(new DeflaterOutputStream(new RegionFile.ChunkBuffer(p_76710_1_, p_76710_2_))); |
|
+ return this.outOfBounds(p_76710_1_, p_76710_2_) ? null : new DataOutputStream(new java.io.BufferedOutputStream(new DeflaterOutputStream(new RegionFile.ChunkBuffer(p_76710_1_, p_76710_2_)))); // Spigot - use a BufferedOutputStream to greatly improve file write performance |
|
} |
|
|
|
protected synchronized void write(int p_76706_1_, int p_76706_2_, byte[] p_76706_3_, int p_76706_4_)
|
|
|