11850 Commits

Author SHA1 Message Date
Dylan K. Taylor
e6ecacbb2b
World: do not access chunks for light if they aren't yet light-populated 2021-04-15 21:21:34 +01:00
Dylan K. Taylor
ab9615fb9c
World: fixed documentation for getHighestAdjacentPotentialBlockSkyLight()
[ci skip]
2021-04-15 21:19:58 +01:00
Dylan K. Taylor
9655cb819d
World: Remove duplicated code 2021-04-15 19:41:03 +01:00
Dylan K. Taylor
99ed87bc29
NetworkSession: changed misleading debug message in beginSpawnSequence() 2021-04-15 19:27:51 +01:00
Dylan K. Taylor
a0c3102b05
FormatConverter: add @phpstan-param for newProvider ctor parameter 2021-04-15 19:14:52 +01:00
Dylan K. Taylor
8e3f5737a0
RegionWorldProvider: fix CS 2021-04-15 15:39:08 +01:00
Dylan K. Taylor
32c4a165cf
Removed RegionLoader::open()
this is nothing but a source of bugs.
2021-04-15 15:38:18 +01:00
Dylan K. Taylor
edb590f681
missed one ... 2021-04-15 15:23:15 +01:00
Dylan K. Taylor
08f0c9a244
Separate writable parts of RegionWorldProvider into WritableRegionWorldProvider 2021-04-15 15:20:57 +01:00
Dylan K. Taylor
e6fb6b1f27
BaseLevelProvider: Remove obsolete proxy methods 2021-04-15 15:15:16 +01:00
Dylan K. Taylor
dc5b1efa66
Merge remote-tracking branch 'origin/stable' 2021-04-15 14:04:27 +01:00
Dylan K. Taylor
8af6b112d2
WorldManager: log after first chunk's generation has been completed
this is as close as we can get to the actual start of generation.
2021-04-15 14:01:28 +01:00
Dylan K. Taylor
7b21fc8e9d
WorldCreationOptions are now mandatory during creation of worlds 2021-04-15 13:54:58 +01:00
Dylan K. Taylor
203cc7fcef
World: Removed noisy debug message 2021-04-13 22:32:00 +01:00
Dylan K. Taylor
ecf6de3430
WorldManager: Pre-generate a radius of 8 chunks
3 is absurdly small. 8 is a more realistic estimation of what the average player's render distance will be (it's also the default server.properties limit).
3 doesn't even fill the default spawn-radius setting, meaning that delays during player connection would occur anyway due to generation.
2021-04-13 22:15:47 +01:00
Dylan K. Taylor
0f3147f49b
WorldManager: Log progress of spawn terrain generation 2021-04-13 21:28:17 +01:00
Dylan K. Taylor
c90ca37ea3
Fix CS 2021-04-13 21:10:18 +01:00
Dylan K. Taylor
ab176264b4
... 2021-04-13 21:06:37 +01:00
Dylan K. Taylor
9c1b274499
WorldManager::createWorld() now accepts WorldCreationOptions instead of mixed[] 2021-04-13 21:03:25 +01:00
Dylan K. Taylor
6ce15854af
Clean up generator preset handling 2021-04-13 20:19:53 +01:00
TheShermanTanker
547503e8f4
Normal: Fixed bug that never lets mountainous terrain generate (#4170) 2021-04-13 17:56:57 +01:00
Dylan K. Taylor
666670bc6f
PermissionAttachment may now reference zero or more permissibles
this makes PermissionAttachment more and more like Permission, except that it doesn't have a name.
Right now, the only value of this API change is that it allows breaking references to dead Permissibles, but in the future it should be possible to reuse a single PermissionAttachment on multiple Permissibles.
2021-04-12 15:57:24 +01:00
Dylan K. Taylor
e720c001a9
ConsoleCommandSender: ensure that PermissibleBase doesn't leak
if recalculatePermissions() was called, the PermissionManager will reference it, preventing it from being GC'd.
2021-04-11 17:21:29 +01:00
Dylan K. Taylor
66622defae
PacketSerializer: fix merge error 2021-04-11 16:49:57 +01:00
Dylan K. Taylor
74d103a56f
Merge remote-tracking branch 'origin/stable' 2021-04-11 16:36:39 +01:00
Dylan K. Taylor
6c351357ab
NetworkBinaryStream: bail if finding unexpected trailing data on item extradata
this may help to discover additional bugs and/or missing data on items that we don't know about yet.
2021-04-11 16:02:41 +01:00
Dylan K. Taylor
0312b62c8a
DataPacket no longer keeps its own serializer
since a while ago, we're anyway just discarding the internal buffer anyway when the packet is repeatedly encoded, so this doesn't serve any advantage anymore.
We do need a system to be able to reuse encoded packet buffers, but right now we're not reusing them anyway.
2021-04-09 15:37:58 +01:00
Dylan K. Taylor
19f536d68a
... 2021-04-07 21:54:21 +01:00
Dylan K. Taylor
1e6d97a157
Merge branch 'stable' 2021-04-07 21:25:39 +01:00
Dylan K. Taylor
7578bca006
Merge tag '3.18.2' 2021-04-07 19:41:57 +01:00
Dylan K. Taylor
3433406cff
3.19.1 is next 2021-04-07 19:03:36 +01:00
Dylan K. Taylor
b307cd0aa1
Release 3.19.0 2021-04-07 19:03:36 +01:00
Dylan K. Taylor
c9b83d7276
Protocol changes for 1.16.220 2021-04-07 18:59:01 +01:00
Dylan K. Taylor
e22b6ff566
Revert "Revert "Backport InventoryTransactionPacket impl from PM4""
This reverts commit c7cdaeae8569c766df7db9f889c67f4e65a38d15.
2021-04-07 18:42:07 +01:00
Dylan K. Taylor
af88f49a21
3.18.3 is next 2021-04-07 18:32:14 +01:00
Dylan K. Taylor
599d5253db
Release 3.18.2 2021-04-07 18:32:10 +01:00
Dylan K. Taylor
54cb5ee0fa
ItemTranslator: ensure that the correct meta value is returned after translation
-1 is a PM-specific thing. Right now there is a hack in the NetworkBinaryStream which prevents this from becoming a problem, but that might not be the case in future.
2021-04-07 13:10:29 +01:00
Ali
a45a4a91ae
Call InventoryCloseEvent in Player::removeWindow() (#4142)
closes #4130
2021-04-04 01:07:58 +01:00
Dylan K. Taylor
1898d4b42c
Fixed corner case with player spawning in ungenerated terrain
we can't get the safe spawn location of a set of coordinates if the coordinates are in an ungenerated chunk. This can happen if doing /setworldspawn <somewhere ungenerated> and then having a new player join the server.
2021-04-03 22:20:19 +01:00
Dylan K. Taylor
125837324f
Player: don't dump cursor contents on mouseover interaction
this can fire while the player has the inventory window open, because it also gets sent when the player swaps their held itemstack for something new.

We already had a special-case for mouseover with entity ID 0, but since
this isn't just a zero problem, a more general fix suits better
(particularly since we might need to handle the 0 case anyway).

closes #4140
closes #4141
2021-04-02 21:35:38 +01:00
Ali
609dff1aae
Player: Revert invalid attempts to toggle flight, instead of kicking (#4139)
If allowFlight was toggled by the server (e.g. due to gamemode change), a race could occur due to network latency where the client could try to enable flight, and then get kicked for cheating.

Since this can happen in legitimate, non-cheating cases, we can't make any assumptions about whether a player is cheating, so instead we just revert it, like we do with every other bad input.
2021-04-01 17:57:26 +01:00
Dylan K. Taylor
cd71fec53d
fucking phpstorm 2020.3 and its broken autocomplete 2021-03-31 21:41:50 +01:00
Dylan K. Taylor
5e8078f3dd
PacketSerializer: Improved performance of item serialize/deserialize 2021-03-31 21:39:55 +01:00
Dylan K. Taylor
b7a6c9dc17
Renamed BadPacketException -> PacketHandlingException
this better describes the intent, instead of just vaguely describing a packet as 'bad'.
2021-03-30 01:15:28 +01:00
Dylan K. Taylor
b03212053c
3.18.2 is next 2021-03-28 21:24:07 +01:00
Dylan K. Taylor
fd4ac885bb
Release 3.18.1 2021-03-28 21:24:03 +01:00
Dylan K. Taylor
25998720ce
Fixed server crash on invalid gamemode in SetPlayerGameTypePacket
this really ought to be detected at the decode layer, but right now that's a bit difficult ...
2021-03-28 21:11:07 +01:00
Dylan K. Taylor
b032d49722
Merge branch 'stable' 2021-03-28 19:41:23 +01:00
Dylan K. Taylor
34c2b62ffe
Remove unused import 2021-03-28 19:12:18 +01:00
Dylan K. Taylor
e42a691da9
Strip trailing whitespace 2021-03-28 19:02:51 +01:00