Commit Graph

326 Commits

Author SHA1 Message Date
Spottedleaf
5833269c4c Update Paper 2024-11-04 11:15:46 -08:00
Spottedleaf
06d719d57d Do not show end credits
Fixes end portalling not working correctly when the player has
not seen the end credits.
2024-10-21 10:03:18 -07:00
Spottedleaf
7b534ef0bd Update Paper 2024-10-21 09:30:58 -07:00
Spottedleaf
88e0907cad Do not create raids in positions not owned
If a player moves away before the raid is created, then we would
possibly trigger the raid cross-region.

Considering Vanilla doesn't trigger the raid cross-dimension, this
doesn't seem like an important behavior to break.

Fixes https://github.com/PaperMC/Folia/issues/264
2024-08-30 20:04:09 -07:00
Spottedleaf
99ba4bd7be Store projectile owner as CraftEntity
CraftEntity properly tracks the underlying entity handle
when the entity teleports. This resolves a race condition
where if an enderpearl was ticked while its owner was teleporting,
the owner reference would be lost.

Fixes https://github.com/PaperMC/Folia/issues/279
2024-08-30 19:13:44 -07:00
Spottedleaf
2e88b1680f Add watchdog thread
When regions take too long, having the server print the stacktrace
of the ticking region should help debug the cause.
2024-08-30 18:36:46 -07:00
Spottedleaf
d8461e8ec5 Remove toProcessTrackingUnloading
This field is covered by the entity tracker optimisations in Paper,
but currently was not properly maintained - resulting in memory leaks.

Fixes https://github.com/PaperMC/Folia/issues/283
2024-08-30 12:58:17 -07:00
Spottedleaf
11e6f61697 Update Paper 2024-08-28 21:52:48 -07:00
Spottedleaf
bfa3106e76 Update Paper 2024-08-24 13:13:45 -07:00
Spottedleaf
9203a7a887 Update Paper 2024-08-16 15:43:38 -07:00
Spottedleaf
053b04c7a1 Update Paper 2024-08-14 12:34:45 -07:00
Spottedleaf
6a6c933b81 Update Paper 2024-08-10 08:34:42 -07:00
Spottedleaf
e402f963b5 Update to 1.21.1 2024-08-08 18:46:31 -07:00
Spottedleaf
2b8c879897 Update Paper for ConcurrentUtil fix 2024-08-01 17:00:50 -07:00
Spottedleaf
177c892d77 Force prefer spark plugin
This allows the spark plugin to be loaded without setting
the startup flag
2024-08-01 05:51:20 -07:00
Spottedleaf
dafae4f54a Properly merge/split tracker entities
Fixes https://github.com/PaperMC/Folia/issues/256 https://github.com/PaperMC/Folia/issues/255
2024-07-31 19:15:49 -07:00
Spottedleaf
61dcc07256 Disable spark profiler
It's not thread-safe. The plugin instead needs to be used.

Fixes https://github.com/PaperMC/Folia/issues/254
2024-07-31 11:30:22 -07:00
Spottedleaf
13e5373076 Move chunk lists and nearby players to region data
Fixes https://github.com/PaperMC/Folia/issues/253
2024-07-31 08:40:17 -07:00
Spottedleaf
388cdacd1b Initial pass of 1.21
Most significant changes are to portal/teleport logic, there may
be some bugs there. Not really concerned about the passenger
teleport, as Folia had already added support for that.

Not sure how the spark changes are going to work.
2024-07-30 20:09:52 -07:00
Spottedleaf
d79708296e Update Paper 2024-06-19 14:42:39 -07:00
Jason Penilla
36e5e836e8 Build updates
fixes bundler/paperclip
2024-05-30 17:17:04 -07:00
Spottedleaf
151264ebf9 Update Paper 2024-05-30 17:17:04 -07:00
Spottedleaf
509de1c265 Properly use WorldGenRegion structure manager for swamp hut cat generation
Fixes a crash when attempting to retrieve the chunk data,
as Folia does not support off-region sync chunk loads.

Fixes https://github.com/PaperMC/Folia/issues/221
2024-05-30 17:17:04 -07:00
Spottedleaf
1f3ff5ee61 Update Paper 2024-05-30 17:17:04 -07:00
Spottedleaf
087c6ae12a Update Paper 2024-05-30 17:17:04 -07:00
Spottedleaf
e11cf545b9 Update Paper 2024-05-30 17:17:04 -07:00
Spottedleaf
9a9dbd2188 Fix compile errors 2024-05-30 17:17:04 -07:00
Spottedleaf
7c75e53c65 Update to Paper 1.20.6 2024-05-30 17:17:02 -07:00
Jason Penilla
ec6b1729ec
Sync build dependencies with Paper 2024-05-10 15:24:16 -07:00
Spottedleaf
46d3ab50b4 Update to latest Paper 1.20.4 2024-05-09 16:36:04 -07:00
Spottedleaf
25ee657a82 Add missing synchronisation for map data
Fixes possible CME when accessing the map data storage
2024-04-11 17:07:12 -07:00
Spottedleaf
6b9a96f604 Update Paper 2024-04-11 17:03:29 -07:00
Spottedleaf
ef2c697189 Properly handle unticked hopper tick adjustment
For unticked hoppers, we should use MIN_VALUE as a marker
so that they compare equivalently regardless of whether they've
been through a region merge.
2024-03-28 18:43:02 -07:00
Spottedleaf
e50d09b67b Use redstone time in a few appropriate areas
1. Moving piston last tick
2. Living entity last damage stamp
3. Entity piston deltas

This should resolve primarily timing problems using pistons.
2024-03-28 18:38:09 -07:00
Spottedleaf
a9e9e5f7e0 Use ThreadLocal for SignItem#openSign
This fixes cross-region data access where there shouldn't be any
2024-03-28 18:38:09 -07:00
Spottedleaf
e73566fdc2 Use redstone game time for hopper tickedGameTime
This should fix timing inconsistencies for hoppers
2024-03-28 18:38:09 -07:00
Jason Penilla
7bc84f49be
Add missing remove event cause (fixes tests) 2024-03-27 12:17:09 -07:00
Spottedleaf
3a91a4a5cf Allow off-region access to entities not added to world
This should allow worldgen threads to interact with the entity.

Fixes https://github.com/PaperMC/Folia/issues/204
2024-03-24 14:14:51 -07:00
Spottedleaf
b843a3512d Fix incorrect max player slot check
Using the total number of users in the connection set
is not correct since those users may not be logged in
yet. Instead, track separately the number of users
who have passed the slot check.

Fixes https://github.com/PaperMC/Folia/issues/205
2024-03-24 14:01:03 -07:00
Spottedleaf
ad2ef004b9 Update Paper 2024-03-24 13:44:25 -07:00
Spottedleaf
035f8e33c5 Make RedStoneWireBlock.isSignalSource return true if off-region
This may be invoked by a worldgen thread, in which case the
region data would be null and cause a crash. Returning true
is the default state of shouldSignal, so this should maintain
expected behavior.
2024-03-24 13:10:56 -07:00
Spottedleaf
e97b1eee63 Move Connection tick to after world tick
The world tick will synchronise block data to clients. If
the connection tick is ran before, then the server will
send the block ack before the block updates - which causes
the client to think that any blocks it broke/placed
were rejected.

Fixes https://github.com/PaperMC/Folia/issues/194
2024-02-21 16:23:51 -08:00
Spottedleaf
7f0a317854 Update Paper 2024-02-20 18:42:54 -08:00
Spottedleaf
5652259e1a Fix entity tracker desync when new players are added to the tracker
The delta position packet instructs the client to update
the entity position by a position difference. However, this position
difference is relative to the last position in the entity tracker
state, not the last position which has been sent to the player. As
a result, if the last position the player has recorded is different
than the one stored in the entity tracker (which occurs when a new
player is added to an existing entity tracker state) then the sent
position difference will cause a position desync for the client.

We can resolve this problem by either tracking the last position
sent per-player, or by simply resetting the last sent position
in the entity tracker state every time a new player is added.
Resetting the last sent position every time a new player is
added to the tracker is just easier to do, so that is what
this patch does.

Fixes https://github.com/PaperMC/Folia/issues/197
2024-02-20 18:30:53 -08:00
Spottedleaf
0265fdd4f4 Make endermite spawn at original thrower position
This is how Vanilla does it, and we don't have any reason to change
this other than an oversight in copying the code.
2024-02-20 17:25:53 -08:00
Spottedleaf
e22501a8e3 Remove pending connections for login VERIFYING state
The login state PROTOCOL_SWITCHING is only set once the player
passes initial login checks during the VERIFYING state
(ban,whitelist,slots,login event), but we add to pending during
the VERIFYING state.

Fixes https://github.com/PaperMC/Folia/issues/201 https://github.com/PaperMC/Folia/issues/200
2024-02-20 16:26:42 -08:00
Spottedleaf
7a3dea9038 Add support for Eigen/Alternate current
The data both store are caches which are cleared after updates,
which means that there is no block/position data being tracked
across ticks. As long as each region has its own instance, there
should be no cross-region data access.

Fixes https://github.com/PaperMC/Folia/issues/202
2024-02-20 16:16:18 -08:00
Spottedleaf
8939611bb5 No longer plan to add tick rate manager support
It doesn't really make sense to use this as most of the features
involve stopping/stepping the world, which do not make much sense
given the nature of multiple parallel ticking regions.
2024-02-13 16:20:21 -08:00
Spottedleaf
d3d0df309c Update Paper 2024-02-13 16:20:10 -08:00
Spottedleaf
32ff12e4dc Update Paper
Also included is a fix to Connection#handleDisconnection
using the wrong login state for removing pending login
2024-02-05 11:41:39 -08:00