12008 Commits

Author SHA1 Message Date
Dylan K. Taylor
ecbf21acea Utils: added OS constants, remove hardcoded OS strings everywhere 2020-05-23 11:05:58 +01:00
Dylan K. Taylor
c9af5ce7a9 Convert GeneratorManager to singleton 2020-05-23 10:13:03 +01:00
Dylan K. Taylor
640428c415 Convert WorldProviderManager to singleton 2020-05-23 10:02:09 +01:00
Dylan K. Taylor
e2232dd8d4 WorldManager: reduce code duplication for world path discovery 2020-05-23 09:50:25 +01:00
Dylan K. Taylor
8d9759288c WorldManager: don't hard-depend on server configuration for autosave settings 2020-05-23 09:43:59 +01:00
Dylan K. Taylor
fcea7da183 WorldManager: allow dataPath to be injected via constructor 2020-05-23 09:37:37 +01:00
Dylan K. Taylor
6257f717b1 Entity: make networkProperties private
this reduces the temptation to use it in high-level code, as well as making syncNetworkData() more useful (now it can export to many data collections, which means we can start to think about having a property cache per network session, which is more flexible)
2020-05-21 20:29:06 +01:00
Dylan K. Taylor
1aa92bd6a8 Living: Do not rely on attribute map for moveSpeed attribute access 2020-05-21 20:13:24 +01:00
Dylan K. Taylor
f77eea8c44 Living: set SPRINTING flag when it's needed, close #3521 2020-05-21 20:01:37 +01:00
Dylan K. Taylor
ec8ee29291 moving sneak & sprint properties to Living 2020-05-21 19:55:58 +01:00
Dylan K. Taylor
74e1f6320a Store attributes as local vars, reduce usage of AttributeMap
ideally we want attribute map to only be used for properties that need synchronization.
2020-05-21 19:18:00 +01:00
Dylan K. Taylor
f93bc0739c Force types of RegistryTrait usages to shut PHPStan up
we need generic traits to solve this problem properly.
2020-05-21 19:12:48 +01:00
Dylan K. Taylor
8e2b9b686b Block: Invert default behaviour of silk touch (more logical)
Now, blocks do not respond to silk touch unless specifically opted into. Since this always involves custom drops in one way or another, it's easy enough to figure out which blocks need to be marked for silk touch - anything that overrides getDrops, getDropsForCompatibleTool or getSilkTouchDrops is a block which _might_ need to be flagged. Using these criteria to reduce the number of blocks needing to be checked, I was able to manually invert the behaviour as needed.

This fixes reoccurring bugs with blocks erroneously dropping themselves whenever new blocks are added and someone forgot to set that flag, granting players access to internal blocks with strange behaviour.
2020-05-21 13:02:36 +01:00
Dylan K. Taylor
72f59eca3c Slab: ignore silk touch on breaking tools, closes #2794 2020-05-21 11:46:43 +01:00
Dylan K. Taylor
8ec2ba79de Unhackify Registry member cloning, fixes #3519 2020-05-21 11:38:02 +01:00
XenialDan
45c89d084c TimeCommand: add time aliases "noon", "sunset", "midnight", "sunrise"
closes #3508
2020-05-20 20:42:21 +01:00
Dylan K. Taylor
7aca41a530 Living: do not loop downwards searching for collision block, closes #3517 2020-05-20 20:33:25 +01:00
Dylan K. Taylor
64bb126bf5 ignore some more l8 errors (architectural issue in NetworkSession) 2020-05-20 20:25:32 +01:00
Dylan K. Taylor
3d0e47a86f Merge branch 'next-minor'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/network/mcpe/protocol/StartGamePacket.php
2020-05-20 20:22:18 +01:00
Dylan K. Taylor
12f53f0ae0 Merge commit 'a29424f5b'
# Conflicts:
#	resources/vanilla
2020-05-20 20:21:29 +01:00
Dylan K. Taylor
f992c35b68 Merge commit 'ff3af492f'
# Conflicts:
#	resources/vanilla
2020-05-20 20:20:47 +01:00
Dylan K. Taylor
0d9703c774 Merge commit '80b804f7a' 2020-05-20 20:20:08 +01:00
Dylan K. Taylor
9421308f73 Merge commit '3a7873598'
# Conflicts:
#	resources/vanilla
2020-05-20 20:19:42 +01:00
Dylan K. Taylor
1318cfbe29 Merge commit 'ab32784c7'
# Conflicts:
#	resources/vanilla
2020-05-20 20:18:57 +01:00
Dylan K. Taylor
c14069c42b Merge commit '816234a37'
# Conflicts:
#	resources/vanilla
#	src/network/mcpe/protocol/UpdateBlockSyncedPacket.php
2020-05-20 20:16:45 +01:00
Dylan K. Taylor
14c7ab50d8 Merge commit 'b7bf92a5e'
# Conflicts:
#	resources/vanilla
2020-05-20 20:15:15 +01:00
Dylan K. Taylor
b6209ffe71 Merge commit 'dcca000ea'
# Conflicts:
#	resources/vanilla
2020-05-20 20:14:58 +01:00
Dylan K. Taylor
ca4f8501f6 Merge commit 'c4ea51f98'
# Conflicts:
#	resources/vanilla
2020-05-20 20:14:33 +01:00
Dylan K. Taylor
d2ee2d42f9 Merge commit '8202bb1cd'
# Conflicts:
#	resources/vanilla
2020-05-20 20:14:01 +01:00
Dylan K. Taylor
a34fbba4c8 Merge commit 'b75758e35'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/network/mcpe/protocol/MoveActorDeltaPacket.php
2020-05-20 20:13:28 +01:00
Dylan K. Taylor
82bc59f480 Merge commit '38a06f76f'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/network/mcpe/protocol/LoginPacket.php
2020-05-20 20:11:43 +01:00
Dylan K. Taylor
73495f303e Merge commit '84f99ed41'
# Conflicts:
#	resources/vanilla
2020-05-20 20:10:30 +01:00
Dylan K. Taylor
8f6ccb17fd Merge commit 'fd63f1919'
# Conflicts:
#	resources/vanilla
#	src/network/mcpe/protocol/serializer/NetworkBinaryStream.php
#	src/pocketmine/network/mcpe/protocol/StartGamePacket.php
2020-05-20 20:09:54 +01:00
Dylan K. Taylor
3bf52b3977 Merge commit '66d44aa81'
# Conflicts:
#	resources/vanilla
2020-05-20 20:06:58 +01:00
Dylan K. Taylor
5caae278cf Merge commit 'f3089f577'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/network/mcpe/protocol/StartGamePacket.php
2020-05-20 20:05:48 +01:00
Dylan K. Taylor
56f90a2901 Merge branch 'stable' into next-minor 2020-05-20 20:05:00 +01:00
Dylan K. Taylor
bf6af269c8 StartGamePacket: use PUBLIC visibility by default 2020-05-20 20:04:39 +01:00
Dylan K. Taylor
c5c1db1bc9 Merge commit '9516ef163'
# Conflicts:
#	resources/vanilla
2020-05-20 20:00:56 +01:00
Dylan K. Taylor
64f0b2deb6 Merge commit 'e982a57cb'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/network/mcpe/protocol/StartGamePacket.php
2020-05-20 19:59:46 +01:00
Dylan K. Taylor
d33ccf4edc Merge commit 'f57fa2252b6b7aa3667da5bb1e09fb716b951402'
# Conflicts:
#	resources/vanilla
2020-05-20 19:57:50 +01:00
Dylan K. Taylor
b5a74fe3c7 Merge commit '02cc370855e543e64e34388c99fb439d206323ae'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/network/mcpe/protocol/StartGamePacket.php
2020-05-20 19:56:38 +01:00
Dylan K. Taylor
72761503cd Merge commit '0a5d14a840a03564dcbc1d97deb91a92a00477b0'
# Conflicts:
#	resources/vanilla
2020-05-20 19:53:23 +01:00
Dylan K. Taylor
570a709059 Merge commit '3ec2994d7f05f30e2519430379ae0f3106be5074'
# Conflicts:
#	resources/vanilla
#	src/pocketmine/Player.php
2020-05-20 19:52:03 +01:00
Dylan K. Taylor
73d1f84072 Merge branch 'stable' into next-minor 2020-05-20 19:36:20 +01:00
Dylan K. Taylor
a29424f5b3 UIProfile: name constants as they appear in the MC user-facing settings
I think these names are stupid, but it'll be easier for people to figure out what they refer to if they match the client-sided naming.
2020-05-20 15:06:50 +01:00
Dylan K. Taylor
ff3af492f8 Random: remove multiline formatting in nextSignedInt()
I'm sick to death of formatting tools messing with this...
2020-05-20 14:34:29 +01:00
Dylan K. Taylor
80b804f7aa automated imports cleanup 2020-05-20 14:31:31 +01:00
Dylan K. Taylor
3a78735982 added UIProfile protocol constants
these are only used in the LoginPacket, but plugin devs will probably find them useful anyway
2020-05-20 14:27:50 +01:00
Dylan K. Taylor
ab32784c74 UpdateBlockSyncedPacket: remove default values for fields 2020-05-20 13:58:36 +01:00
Dylan K. Taylor
816234a379 UpdateBlockSyncedPacket: populate missing information for second field 2020-05-20 13:57:08 +01:00