summaryrefslogtreecommitdiffstats
path: root/nms-patches/ChunkRegionLoader.patch
Commit message (Collapse)AuthorAgeLines
* Update to Minecraft 1.13md_52018-07-22-34/+49
|
* Fix issues converting certain chunksmd_52018-07-19-17/+58
|
* Update to Minecraft 1.13-pre7md_52018-07-15-122/+162
|
* Fix a few chunk saving race conditionsGeoff Crossland2017-08-11-17/+70
| | | | | * ChunkRegionLoader.c() picks an entry in the save queue, removes that entry from the save queue and then actually writes the entry to the region file. So, between the last two steps, the entry is neither in the save queue nor is it in the region file; if somebody loads the chunk again (with ChunkRegionLoader.loadChunk()) in that gap, they'll get old data. I've delayed the removal until the saving is done. * ChunkRegionLoader.c() also records the coords of the chunks it's currently saving in this.c. ChunkRegionLoader.a(ChunkCoordIntPair, NBTTagCompound), which adds an entry to the save queue, stops the addition of an entry if its coords are in this.c. Now, I'm guessing that Mojang's intended purpose for this mechanism was to prevent multiple parallel writes for the same chunk. The "stops the addition" bit above should then be something like "block until it's no longer in c"; in fact, the vanilla implementation is "discard the new state of the chunk". I've taken the easy route to solving this, by just making ChunkRegionLoader.c() synchronized (since, in normal use, only the chunk saving thread is in here).
* Update to Minecraft 1.12md_52017-06-08-1/+1
|
* Update to Minecraft 1.12-pre2md_52017-05-14-14/+7
|
* Drop RegionFile.chunkExists() in favour of Mojang's own versionGeoff Crossland2017-04-27-24/+17
|
* Update to Minecraft 1.11md_52016-11-17-14/+16
|
* SPIGOT-2634: Concurrency issue in FileIOThreadmd_52016-08-27-6/+37
|
* Fix infinite loop when saving chunksJadon Fowler2016-06-18-4/+12
| | | | | Running `/save-all flush` would start an infinite loop that prints: ThreadedAnvilChunkStorage (world): All chunks are saved
* SPIGOT-2385: RegionFileCache synchronization issuesmd_52016-06-12-7/+37
|
* Update to Minecraft 1.10md_52016-06-09-6/+28
|
* Minecraft 1.9.4md_52016-05-10-8/+9
|
* Update to Minecraft 1.9md_52016-03-01-35/+24
|
* Update to Minecraft 1.8.8 (Pre-)Release.md_52015-07-27-6/+6
|
* Cut fluff from patch headers.md_52015-05-25-2/+2
|
* Update to 1.8.4Thinkofdeath2015-05-17-21/+16
|
* SPIGOT-729: Revert the entity slice moveThinkofdeath2015-03-22-8/+4
|
* Move the entity slice loadingThinkofdeath2015-03-16-4/+8
|
* Update to Minecraft 1.8.3Thinkofdeath2015-03-04-75/+46
|
* Optimize the invalid block fixingThinkofdeath2014-11-29-11/+6
|
* Improve the invalid block handlingThinkofdeath2014-11-29-8/+17
|
* Fix a vanilla issue which causes invalid data values on blocks to turn to airThinkofdeath2014-11-29-6/+32
| | | | | Worlds already loaded in 1.8 can still be saved by this but tile entities will be lost
* Revert "Remove patch headers"Thinkofdeath2014-11-28-0/+2
| | | | This reverts commit d6e3dff7d88b3b4275108071704a1ef18d8484c5.
* Remove patch headersGunfighterJ2014-11-28-2/+0
|
* Use the right name for the AsyncPlayerPreLoginEventThinkofdeath2014-11-28-2/+2
|
* Fix eating food whilst not facing a blockThinkofdeath2014-11-28-2/+2
|
* Update to Minecraft 1.8Thinkofdeath2014-11-28-0/+131
For more information please see http://www.spigotmc.org/