Spottedleaf
6d18e8e9b6
Make uses of SimpleDateFormat thread-safe
...
Turns out, the utility is not thread-safe to use for whatever
reason. So, we need to use ThreadLocal to create instances
per thread.
2023-04-03 18:41:09 -07:00
Spottedleaf
33d2aa8cf7
Make sign update executor use the EntityScheduler
...
The MinecraftServer executor will throw, and thanks
to CompletableFuture's awful exception handling
the exception was not logged or handled. Add
exception handling as well.
Fixes https://github.com/PaperMC/Folia/issues/27
2023-04-01 07:24:36 -07:00
Spottedleaf
7072994557
Acquire scheduling lock in NewChunkHolder#onFullChunkLoadChange
...
It modifies data that should be held by the lock: pending
chunk status
2023-04-01 00:53:27 -07:00
Spottedleaf
700d3c580c
Always process specialCaseUnload during ticket level updates
...
It is not guaranteed that ticket levels are updated, so we need to
to move the logic so that it always runs whether or not tickets
update.
2023-03-31 21:20:53 -07:00
Spottedleaf
76b06a1260
Do not call getGameTime when portalling Villagers
...
The code to stop all brain tasks is required to pass the current
game time to the tasks it stops. But, when a villager is being
portalled, the copied entity does not have any running tasks. So,
we can simply return early before invoking getGameTime if there
are no running tasks.
Fixes https://github.com/PaperMC/Folia/issues/23
2023-03-31 20:48:20 -07:00
Spottedleaf
3f377072d8
Make move event location update use teleportAsync
...
Additionally, make the teleportAsync call immediately teleport
if the current caller owns the entity.
Fixes https://github.com/PaperMC/Folia/issues/18
2023-03-31 19:13:19 -07:00
Jason
32417a23f2
[ci skip] Add foojay-resolver-conventions plugin ( #21 )
2023-03-31 18:26:08 -07:00
Jake Potrebic
9c8863a490
Fix enchant command feedback messages ( #22 )
...
* Fix enchant command feedback messages
2023-03-31 18:25:55 -07:00
Jake Potrebic
508a6688e5
Fix 2 incorrect threading checks ( #17 )
...
* Fix 2 incorrect threading checks
* Fix bad catcher methods, fix missing async catcher
---------
Co-authored-by: Spottedleaf <Spottedleaf@users.noreply.github.com>
2023-03-31 17:15:16 -07:00
Jason
fbf832bc05
Log traces of tick threads that fail to shut down ( #10 )
...
* Log traces of threads that fail to shut down in SchedulerThreadPool
2023-03-31 16:51:55 -07:00
Noah van der Aa
ed7a5c57f4
fix: fix build number check in version fetcher ( #16 )
2023-03-30 14:13:55 -07:00
Riley Park
00cfbaa1c2
[ci skip] lol woops
2023-03-30 13:06:58 -07:00
Riley Park
ccc5bdb92f
Point to PaperMC documentation for most things - the rest needs moving over.
2023-03-30 13:02:43 -07:00
powercas_gamer
051d489a95
[ci skip] add issue templates ( #15 )
...
* [ci skip] add issue templates
* mention paper plugins might not work
* change name
* typo
2023-03-30 12:53:49 -07:00
Nassim Jahnke
5b74945159
Fix class name reference in readme
2023-03-30 08:20:54 +02:00
Riley Park
f3e6529d49
Notify users that Timings cannot be enabled on Folia
2023-03-29 19:41:21 -07:00
Riley Park
00864ac5b1
Update Upstream ( PaperMC/Paper@cbcdfd03e7 )
2023-03-29 19:41:15 -07:00
Spottedleaf
f34a20c36a
Fix incorrect error handling in off-main chunk load task
...
Now that there is no on-main task, the completion logic
for the status task is completed with the results passed
by the off-main task. Thus, the chunk system saw a non-null
throwable and assumed a fatal crash. The old on-main task
did not pass the throwable through in this case, which allowed
the chunk to re-generate.
Fixes https://github.com/PaperMC/Folia/issues/7
2023-03-29 17:11:39 -07:00
Spottedleaf
749480c7ec
Fix getCenterChunk not returning the center chunk
...
Before, it returned the center chunk section. Also, now instead
of approximating the center chunk from the allocated sections,
actually retrieve all chunks inside the region directly.
2023-03-29 16:58:33 -07:00
Spottedleaf
b3e1b06c07
Fix compilation of TestPluginMeta
...
Needed to implement isFoliaSupported()
2023-03-29 14:33:48 -07:00
Spottedleaf
9998ecd60d
Make ActivationRange#activateEntities use non-checked getEntities
...
We can do this because we thread-check the entities retrieved,
we want to do this because a large activation range may violate
thread-checks
2023-03-29 14:22:15 -07:00
Owen1212055
32f79c415e
Support paper plugin meta marking plugins as Folia supported
2023-03-29 14:12:30 -07:00
Spottedleaf
7ce0308bdb
Add maven artifact and repo information
2023-03-29 13:55:45 -07:00
Spottedleaf
4c79bb4878
Expand a bit on added api and thread contexts in README
2023-03-29 13:16:32 -07:00
Spottedleaf
f42c61aba6
Folia Metrics page
...
https://bstats.org/plugin/server-implementation/Folia/18084
2023-03-29 12:53:55 -07:00
Jason Penilla
b3d994fb9b
add version print tasks
2023-03-29 11:56:33 -07:00
Jason Penilla
fca2eba2f8
fix build
2023-03-29 10:18:38 -07:00
Jason Penilla
df6b444946
configure publishing
2023-03-29 09:19:05 -07:00
Spottedleaf
e35a734744
Add basic FAQ in README
2023-03-29 08:55:25 -07:00
Spottedleaf
7de5c541b3
Nerf default tick thread allocation
...
Allocates too many threads by default
2023-03-29 08:12:27 -07:00
Josh Roy
88167d59d2
Add Server#isGlobalTickThread ( #5 )
2023-03-28 18:59:19 -07:00
Spottedleaf
ae66537bdc
Add project overview doc
...
Explains most important concepts, like data management,
tick count handling, and teleportations
2023-03-28 18:08:37 -07:00
Spottedleaf
108dc2358b
Use chunk coords for thread check for CraftWorld#getHighestBlockYAt
...
Not block coords
2023-03-28 16:13:18 -07:00
Spottedleaf
1c5e9be7fd
Force prevent moving into unloaded chunks
...
Not safe to allow this anymore
2023-03-28 15:59:41 -07:00
Spottedleaf
d113346b6d
Fix isTickThread(world, blockX, blockZ)
...
Need to convert the Z to chunk, not block...
Also throw for CraftPlayer#teleport and friends
2023-03-27 20:29:16 -07:00
Spottedleaf
1175350400
Fix failure to initialise CraftWorld
...
Directly access spawn category limits rather than go through
the method
2023-03-27 16:06:19 -07:00
Josh Roy
5fa0556869
Use longs for scheduler delays/periods ( #4 )
2023-03-25 21:48:28 -07:00
Spottedleaf
75e3cdbc61
Rebase fixups
2023-03-25 16:29:07 -07:00
Spottedleaf
6df8272abf
Deprecate bukkit scheduler
...
Every method on that should basically throw, so the API should
reflect that
2023-03-25 16:27:55 -07:00
Spottedleaf
66c77fb573
Add more thread checks to API
...
Most of the World methods, and for updating captured TEs
2023-03-25 16:26:54 -07:00
Spottedleaf
c435aaae96
Add world checks to retrieval of regionised world data
...
This is to mirror behavior of RegionizedData's world check.
2023-03-25 15:27:50 -07:00
Spottedleaf
7eea12b9e4
Kenny momentos
...
Random newline?
2023-03-25 11:55:44 -07:00
Nassim Jahnke
3c62932250
Fix player disconnect call in PlayerList removAll
2023-03-25 19:44:11 +01:00
Nassim Jahnke
5e7b4f0185
Fix tests by removing them
2023-03-25 19:06:35 +01:00
Nassim Jahnke
836dc75b65
Replace Vector with Position in isOwnedByCurrentRegion methods
...
Closes #3
2023-03-25 18:50:36 +01:00
Nassim Jahnke
8d15f3e23d
Add methods taking world, chunkX, chunkZ to RegionScheduler
2023-03-25 18:40:20 +01:00
Nassim Jahnke
dfc157075a
Renames for consistency
2023-03-25 00:22:47 +01:00
Nassim Jahnke
64f7932ed0
Fix building on case sensitive fs
2023-03-24 16:06:48 +01:00
Spottedleaf
6a5fff3caa
Make ClickCallbackProviderImpl thread-safe
...
Can no longer process tasks from the main thread like that anymore,
it just needs to be concurrent.
2023-03-23 07:55:26 -07:00
Spottedleaf
d5b837c457
Make Damagecommand safe, and remove RideCommand
2023-03-23 07:36:44 -07:00