Go to file
Zach Brown 6d9375d222 Fix race condition with chunks, dead tile entities
Fixes PaperMC/Paper#883 same issue as MinecraftForge/MinecraftForge#4386

A more detailed anaylsis of what is probably going on, courtesy of
@bs2609 and the MCForge Issue Tracker is:

When a chunk is unloaded, the entities and tile entities it contains are
marked for removal. The actual removal (from the world) occurs later,
when the world ticks its entities.
Conversely, when a chunk is loaded, it generally adds its entities to
the world promptly, without queuing.

Here's the normal sequence of events:

Chunk unloaded
Old entities removed
Chunk loaded
New entities added

However, what can happen:

Chunk unloaded
Chunk loaded
New entities added
Old entities removed

This occurs when an unloaded chunk is reloaded before its corresponding
entities have been removed.
2017-09-11 22:21:57 -04:00
.github Update ISSUE_TEMPLATE.md 2016-03-26 14:00:59 +01:00
Spigot-API-Patches Update CB/S 2017-09-09 08:17:12 +01:00
Spigot-Server-Patches Fix race condition with chunks, dead tile entities 2017-09-11 22:21:57 -04:00
scripts Update paperclip script for folder move 2017-08-13 15:44:27 -05:00
work Update CB/S 2017-09-09 08:17:12 +01:00
.gitignore Move mc decompile source to its own folder 2017-08-12 18:56:59 -05:00
.gitmodules Cleanup and restructure the project 2016-04-01 23:15:41 -05:00
.travis.yml Move mc decompile source to its own folder 2017-08-12 18:56:59 -05:00
CONTRIBUTING.md [CI-SKIP] Fix CONTRIBUTING.md formatting 2016-09-06 15:01:46 -05:00
README.md [CI-SKIP] Add javadocs to readme (#427) 2016-09-21 23:50:38 -04:00
paper fix shell match to account for /usr/local for homebrew installs of zsh on macOS 2017-03-17 23:44:58 +00:00
pom.xml Improve console implementation 2017-06-11 14:31:21 +02:00

README.md

Paper CI Status

High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.

IRC Support and Project Discussion

Documentation

Access the Paper docs here: paper.readthedocs.io
Access the Paper API javadocs here: paperdocs.emc.gs

How To (Server Admins)

Paperclip is a jar file that you can download and run just like a normal jar file.

Download a copy of paperclip.jar from our build server, here.

Run the Paperclip jar directly from your server. Just like old times

Paper requires Java 8 or above.

How To (Compiling Jar From Source)

To compile Paper, you need JDK 8, maven, and an internet connection.

Clone this repo, run ./paper jar from bash, get files.

How To (Pull Request)

See Contributing

Special Thanks To:

YourKit-Logo

YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers. We thank them for granting Paper an OSS license so that we can make our software the best it can be.