14344 Commits

Author SHA1 Message Date
Dylan K. Taylor
27324a3aeb
Protocol changes for 1.17.30 2021-09-22 00:26:39 +01:00
Dylan K. Taylor
133398c69a
changelog: add newline
[ci skip]
2021-09-19 22:57:22 +01:00
Dylan K. Taylor
52b6952771
changelog: baseline for 4.0.0-BETA3
[ci skip]
2021-09-19 22:55:48 +01:00
Dylan K. Taylor
1ce388ca0b
Liquid: add getMinAdjacentSourcesToFormSource(), remove circular dependency between Liquid and Water
this unpleasantly-named method allows controlling the source-forming behaviour of liquids by changing the required number of adjacent sources that must be present in order for a new source to form. This allows stuff like non-infinite water.
2021-09-19 15:59:16 +01:00
Dylan K. Taylor
971cbe3929
Liquid: restore mistakenly removed check 2021-09-19 15:42:17 +01:00
Dylan K. Taylor
18de35ffc7
Liquid: use facing instead of hardcoded integers 2021-09-19 15:37:03 +01:00
Dylan K. Taylor
576c33ee8f
Liquid: make flow vector calculation less cancerous to read 2021-09-18 23:04:28 +01:00
Dylan K. Taylor
6b2ab15ea1
MinimumCostFlowCalculator: fix bug caused by recent change 2021-09-18 16:20:01 +01:00
Dylan K. Taylor
027f7e249b
MinimumCostFlowCalculator: Use match statements where possible
coincidentally, this also fixes the build.
2021-09-18 16:17:08 +01:00
Dylan K. Taylor
a9c4238c59
Liquid: Extract a big chunk of code to MinimumCostFlowCalculator 2021-09-18 16:13:38 +01:00
Dylan K. Taylor
34e1b244fa
Liquid: split canFlowInto() over multiple lines
the original version is very hard to read.
2021-09-18 15:53:54 +01:00
Dylan K. Taylor
b047100719
Liquid: improve minimum cost calculation handling 2021-09-18 15:52:16 +01:00
Dylan K. Taylor
1b5071e074
Liquid: make some code slightly less cancerous to read 2021-09-18 15:28:45 +01:00
Dylan K. Taylor
3836a57ba6
Player: add getPlayerInfo(), closes #4450 2021-09-17 22:17:36 +01:00
Dylan K. Taylor
87dc763d92
actions: test that generated code is consistent 2021-09-17 16:46:27 +01:00
Dylan K. Taylor
43b2e1a0e8
tools/convert-world: improve error messages and exit codes
die with a string exits with zero? wtf?
2021-09-16 15:28:20 +01:00
Dylan K. Taylor
05e2bef5ce
ItemFactory: fix crash when checking if blockitem IDs are registered 2021-09-16 14:53:19 +01:00
Dylan K. Taylor
6cf181b579
LevelDB: Use arrow functions for better readability 2021-09-16 14:44:56 +01:00
Dylan K. Taylor
9490b78640
Move packet handler default implementations to BedrockProtocol
in many cases this will now require zero changes to PM at all to be compatible with a new protocol version.
2021-09-15 22:27:49 +01:00
Mini S
59f3622f69
changelog: mention PluginLoadOrder changes (#4458)
[ci skip]
2021-09-15 17:18:53 +01:00
Dylan K. Taylor
a1c82da2f2
Liquid: remove useless continue 2021-09-12 16:03:52 +01:00
Dylan K. Taylor
84170ad3e1
Furnace: fixed deactivation after being reloaded from disk (regression from PM3)
closes #4430
2021-09-12 15:49:33 +01:00
Dylan K. Taylor
ace8841d5d
Explosion: allow the normal blockupdate mechanism to deal with explosions
in PM4, all blockupdates are buffered, so the old 7x performance penalty that used to be incurred by doing this is no longer a problem.
Also, this actually reduces the overhead of explosions themselves by moving the onNearbyBlockChange() burden off explodeB() and into the main world ticking function.
2021-09-12 15:45:02 +01:00
Dylan K. Taylor
5ddd94b7e8
Remove redundant World->isChunkGenerated() calls
isChunkGenerated() merely checks if the chunk can be loaded from disk, if it's not in the runtime cache already.
This is pointless in all of these cases, because the check is prefaced by an isChunkLoaded() check, which already limits the possibility anyway. If the chunk is not generated, it'll also be considered not loaded.
2021-09-12 15:21:09 +01:00
Dylan K. Taylor
f0fa561c2f
World: use arrow functions in useBreakOn() 2021-09-12 15:16:55 +01:00
Dylan K. Taylor
33a7c05425
Updated PHPStan baselines 2021-09-11 23:12:43 +01:00
Dylan K. Taylor
273aa8ab42
Drop useless usage translation strings for commands with no parameters 2021-09-11 17:06:26 +01:00
Dylan K. Taylor
3b7580688c
Stop auto-translating string descriptions/usages for commands
Require usage of Translatable for translations.
2021-09-11 16:46:40 +01:00
Dylan K. Taylor
b65e3c69b1
4.0.0-BETA3 is next 2021-09-10 17:18:32 +01:00
Dylan K. Taylor
26e3280fea
Release 4.0.0-BETA2 4.0.0-BETA2 2021-09-10 17:18:31 +01:00
Dylan K. Taylor
fa45d1cdb5
Merge branch 'stable' 2021-09-10 17:13:51 +01:00
Dylan K. Taylor
33b5da3749
3.22.6 is next 2021-09-10 17:09:51 +01:00
Dylan K. Taylor
40e88f1686
Release 3.22.5 3.22.5 2021-09-10 17:09:50 +01:00
Dylan K. Taylor
c995c2de37
updated changelog
[ci skip]
2021-09-10 17:04:35 +01:00
Dylan K. Taylor
7701e1ff98
InGamePacketHandler: fix regression in movement handling since 82c8fa696a2e8609d8ae086c52f96abe7c7705b6
fixes #4291
fixes #4398
2021-09-10 16:52:46 +01:00
Dylan T
4111d92b98
Stop hardcoding chunk dimensions everywhere (#4443) 2021-09-10 16:13:25 +01:00
Dylan K. Taylor
9d5a86fe53
Revert "World: make the second parameter for getCollidingEntities() mandatory and non-nullable"
This reverts commit e1b7bf31bbbf8a0c679bdf238cf7594881d0842b.

fixes #4447
2021-09-10 16:06:08 +01:00
Dylan K. Taylor
cf762d345d
Player: Log debug messages when canInteract() prevents block interaction 2021-09-10 15:58:38 +01:00
Dylan K. Taylor
f5c9c02e09
Improve documentation of Thread and Worker 2021-09-10 15:57:45 +01:00
Dylan K. Taylor
32588d79c8
ConsoleReaderThread: remove useless code 2021-09-10 13:54:42 +01:00
Dylan K. Taylor
1cc57afd25
Stop the ConsoleReaderThread explicitly, instead of letting ThreadManager do it
this hack dates back to the days when the console reader would get stuck on shutdown on some platforms.
2021-09-10 13:48:01 +01:00
Dylan K. Taylor
334bf1277d
BlockTransaction: Return failure if no blocks were changed
fixes #2813
2021-09-10 00:32:46 +01:00
Dylan K. Taylor
082f0f2d57
Player: Generate an InventoryTransaction (with event) for crafting grid/cursor evacuation
this fixes the crack in the armour that allows creative players to drop items even when all drops are being cancelled by plugins.

closes #3284
2021-09-09 17:11:59 +01:00
Dylan K. Taylor
5d4f14b388
Added TransactionBuilderInventory for server-side inventory transaction generation 2021-09-09 17:10:04 +01:00
Dylan K. Taylor
4a787769bf
Merge branch 'stable' 2021-09-09 16:06:16 +01:00
Dylan K. Taylor
4c65a0cdaa
LegacySkinAdapter: Use 64x64 for persona polyfilled skins
64x32 has some corruption issues and generally just looks really bad.
2021-09-09 16:04:43 +01:00
Dylan K. Taylor
e0e19c67ef
World: do not warn about leaked Player entities during world unload
this raises false-positives during shutdown if players were online.
The fact that the player entity leans on the World to clean up after it is slightly problematic, but I'm not sure what else to do about it for now.
2021-09-09 15:55:37 +01:00
Dylan K. Taylor
6f8261f26a
Added changelog so far for beta2 2021-09-09 01:32:39 +01:00
Dylan K. Taylor
34f01a3ce3
World: Track entities separately from chunks
this allows entities to exist outside of generated chunks, with one caveat: they won't be saved in such cases.
Obviously, for player entities, this doesn't matter.

fixes #3947
2021-09-09 01:17:41 +01:00
Dylan K. Taylor
ba2bfe0e11
World: depopulate neighbourBlockUpdateQueueIndex sooner
this fixes 2 problems:
1) Blocks which set themselves to something else during onNearbyBlockChange() would not receive any block update
2) A memory leak when blocks in unloaded chunks were scheduled for an update.

I'm a little uneasy about this change, because there must have been some reason why I put this at the end of the block and not at the start, but whatever it is, I can't reason about it, and there's reasons not to put it at the end too.
2021-09-08 22:11:17 +01:00