MrPowerGamerBR
4b63f11e5a
Make CraftBlockEntityState's DISABLE_SNAPSHOT thread safe
2023-11-21 01:02:49 -03:00
MrPowerGamerBR
8043704bb0
Only check for farm block moisture if the crop growth event wasn't cancelled
2023-11-21 00:50:26 -03:00
MrPowerGamerBR
0d0706ff13
Blazingly Simple Farm Checks
2023-11-20 23:07:10 -03:00
MrPowerGamerBR
5a10e7d710
Merge branch 'ver/1.20.2' of https://github.com/SparklyPower/SparklyPaper into ver/1.20.2
2023-11-20 14:51:49 -03:00
MrPowerGamerBR
3f75b842ed
[ci skip] README changes
2023-11-20 14:50:58 -03:00
Loritta Morenitta
7633ca89e6
Updated Upstream (Paper)
2023-11-20 00:22:35 +00:00
MrPowerGamerBR
8bd484c287
Patch changes
2023-11-19 20:39:51 -03:00
MrPowerGamerBR
27b4f21dfc
Fix Warriorrrr's item frame track rewrite patch due to server changes
2023-11-19 14:23:57 -03:00
MrPowerGamerBR
82aee81eac
[ci skip] Derp
2023-11-19 14:19:16 -03:00
MrPowerGamerBR
339d27f15c
Replace item frame patch
2023-11-19 14:17:46 -03:00
MrPowerGamerBR
e028bd5157
Skip EntityScheduler's executeTick checks if there isn't any tasks to be run
...
On each tick, Paper runs EntityScheduler's executeTick of each entity. This is a bit expensive, due to ArrayDeque's size() call because it ain't a simple "get the current queue size" function, and due to the thread checks.
To avoid the hefty ArrayDeque's size() call, we check if we *really* need to execute the executeTick, by checking if currentlyExecuting is not empty or if oneTimeDelayed is not empty.
Most entities won't have any scheduled tasks, so this is a nice performance bonus. These optimizations, however, wouldn't work in a Folia environment, but because in SparklyPaper executeTick is always executed on the main thread, it ain't an issue for us (yay).
2023-11-19 13:41:45 -03:00
MrPowerGamerBR
06a52899fa
Change optimization patch because we have commented this out
2023-11-19 03:06:24 -03:00
MrPowerGamerBR
205834a750
Merge branch 'ver/1.20.2' of https://github.com/SparklyPower/SparklyPaper into ver/1.20.2
2023-11-18 21:35:50 -03:00
MrPowerGamerBR
3e549c4903
New optimization patches
2023-11-18 21:32:54 -03:00
Loritta Morenitta
2c2653ff45
Updated Upstream (Paper)
2023-11-19 00:23:51 +00:00
Loritta Morenitta
d5f32bb838
Updated Upstream (Paper)
2023-11-18 00:21:27 +00:00
MrPowerGamerBR
4bf4b3c60a
[ci skip] Improve wording
2023-11-17 19:42:09 -03:00
MrPowerGamerBR
f7a3b8585c
[ci skip] Add small "locked" map performance tip
2023-11-17 19:31:51 -03:00
MrPowerGamerBR
7907eb6a8f
[ci skip] Whoops
2023-11-17 19:22:29 -03:00
MrPowerGamerBR
4098309e79
Refactor MapItem update skip, add synchornized to CraftMapColorCache's "isCached" function
2023-11-17 19:13:56 -03:00
MrPowerGamerBR
d0b69c2306
Make the new map data skip optimization configurable per world
2023-11-17 18:30:03 -03:00
MrPowerGamerBR
eed11e38b2
Skip "MapItem#update()" if the map does not have the CraftMapRenderer present
...
Optimizes "image in map" maps, without requiring the map to be locked, which some old map plugins may not do
This has the disadvantage that the vanilla map data will never be updated while the CraftMapRenderer is not present, but that's not a huuuge problem for us
2023-11-17 15:02:07 -03:00
MrPowerGamerBR
a5a401b566
[ci skip] More readme changes
2023-11-17 12:49:04 -03:00
MrPowerGamerBR
8ae4d41f96
[ci skip] Improve wording
2023-11-17 12:44:30 -03:00
MrPowerGamerBR
30bd3d6baa
Update docs
2023-11-17 12:42:08 -03:00
MrPowerGamerBR
cc5a154eec
Upload Paperclip JAR to the GitHub Workflow run
2023-11-17 12:23:26 -03:00
MrPowerGamerBR
5d46676859
Skip "distanceToSqr" call in "ServerEntity#sendChanges" if the delta movement hasn't changed
...
The "distanceToSqr" call is a bit expensive, so avoiding it is pretty nice, around ~15% calls are skipped with this check
We could also check if the x,y,z coordinates are equal, but for now, let's just keep the identity check, which also helps us since Minecraft's code does reuse the original delta movement Vec3 object
2023-11-15 23:59:00 -03:00
MrPowerGamerBR
483056c151
Add "Optimize entity coordinate key" patch from Pufferfish
...
"getCoordinateKey"'s "fastFloor" call is using a lot of CPU in "getPlayersInTrackRange", so let's borrow this patch from Pufferfish
2023-11-15 21:59:33 -03:00
Loritta Morenitta
626799a648
Updated Upstream (Paper)
2023-11-14 00:21:23 +00:00
MrPowerGamerBR
30d0833820
Fix world MSPT calculation affecting the server's global MSPT, use a single thread per world
...
The single thread per world is actually better because now we can profile each world separately. We still mimick the original thread pool by using a semaphore, this way we don't end up saturating all cores
2023-11-12 23:53:55 -03:00
MrPowerGamerBR
7b92cb8f66
Experimental Parallel World Ticking
2023-11-12 20:18:51 -03:00
MrPowerGamerBR
049a8e50ae
Track how much MSPT each world used
2023-11-06 22:02:49 -03:00
MrPowerGamerBR
f6c64b641f
Update Upstream
2023-11-05 20:57:07 -03:00
Loritta Morenitta
2335c3d73d
Updated Upstream (Paper)
2023-11-05 00:23:04 +00:00
MrPowerGamerBR
be4eb65cee
Update Upstream
2023-11-03 12:05:45 -03:00
Loritta Morenitta
af230bf6d9
Updated Upstream (Paper)
2023-11-02 00:20:40 +00:00
MrPowerGamerBR
4e105d3f9f
Let's start from scratch, shall we?
2023-10-31 00:53:47 -03:00
MrPowerGamerBR
c022a42c8a
Update Upstream
2023-10-29 01:46:10 -03:00
MrPowerGamerBR
c5730fafa4
Optimize heavy EntityLookup.ArrayIterable.<init>() calls on tickChunks
2023-10-28 20:18:25 -03:00
MrPowerGamerBR
5663ab9158
Update Upstream and Update Patches
2023-10-27 13:33:43 -03:00
Loritta Morenitta
aa2b448b50
Updated Upstream (Paper)
2023-10-27 00:20:09 +00:00
Loritta Morenitta
cdc3518f44
Updated Upstream (Paper)
2023-10-24 00:20:43 +00:00
MrPowerGamerBR
aa295c78bc
Update upstream, add new cherry-picked patches from other forks
2023-10-23 01:40:30 -03:00
MrPowerGamerBR
41a9628f7f
More performance optimizations and patches
2023-10-22 15:39:29 -03:00
MrPowerGamerBR
12ada64542
First commit! 🎉
2023-10-22 11:17:21 -03:00