Dylan K. Taylor
61c59be299
Replace hardcoded block metadata shifts and masks with constants
...
we might want to make these bigger than 4 bits in the future.
2021-06-16 12:48:09 +01:00
Dylan K. Taylor
2bbb24fab7
Merge branch 'stable'
2021-06-08 20:00:08 +01:00
Dylan K. Taylor
8171b18002
Separate ItemTypeDictionary implementation from initialization
...
we're not going to want implementation details like how it's setup getting in the way when we separate protocol from the core.
2021-05-29 14:24:05 +01:00
Dylan K. Taylor
593a8ac529
Added Loom blocks
...
these don't support doing patterns yet, but their inventories work.
2021-04-29 19:51:09 +01:00
Dylan K. Taylor
8d2ee516f0
Merge branch 'stable'
2021-04-16 18:26:33 +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
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
6d622c4020
Merge branch 'stable'
2021-03-14 23:32:09 +00:00
Dylan K. Taylor
3fe0adbd7f
Merge branch 'stable'
2021-03-14 20:14:08 +00:00
Dylan K. Taylor
a5315991d5
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/network/mcpe/protocol/serializer/PacketSerializer.php
# src/world/biome/Biome.php
# tests/phpstan/configs/l8-baseline.neon
2020-12-05 01:30:39 +00:00
Dylan K. Taylor
af1fe7c293
Merge branch 'stable'
2020-11-21 21:13:48 +00:00
Dylan K. Taylor
f2bdbb0c35
TypeConverter: fix using singleton to get its own context
...
I guess this must have been refactored from some other class?...
2020-11-20 21:31:06 +00:00
Dylan K. Taylor
15a2fd6e4f
LegacySkinAdapter: check return value of json_encode() for resource patch
2020-10-08 21:42:07 +01:00
Dylan K. Taylor
01b44ab0bc
protocol: moved skin data types to their own namespace
2020-10-08 21:20:57 +01:00
Dylan K. Taylor
3b4e9eea96
RuntimeBlockMapping: drop useless doc comment
2020-09-25 17:43:00 +01:00
Dylan K. Taylor
5661d0496f
RuntimeBlockMapping::toRuntimeId() now accepts a single integer instead of id/meta
...
the expectation is that eventually this will receive arbitrary internal runtime IDs instead of static id/meta, and RuntimeBlockMapping doesn't really care about this crap anyway.
2020-09-20 12:16:11 +01:00
Dylan K. Taylor
1525001565
protocol ItemStack: added equals() method to compare net itemstacks directly
...
this will be needed for more than just this little check once item NBT gets cleaned out properly, since we'll need to compare object equality by network layer stuff instead of internals (where different network objects might deserialize to the same internal items).
2020-08-02 23:22:39 +01:00
Dylan K. Taylor
279abb871d
Remove all usages of CompoundTag->hasTag()
...
in pretty much every case, these usages really wanted to read the tag's contents anyway, which can be combined with a getTag() and instanceof call for more concise and static analysis friendly code.
In the few cases where the tag contents wasn't needed, it still wanted to check the type, which, again, can be done in a more static analysis friendly way by just using getTag() and instanceof.
2020-07-10 21:01:43 +01:00
Dylan K. Taylor
ae179e5039
fix interacting with anvil & enchanting table inventories
2020-07-04 23:46:26 +01:00
Dylan K. Taylor
c35a596079
Merge commit '8ce0022de'
...
# Conflicts:
# resources/vanilla
# src/network/mcpe/protocol/types/inventory/NetworkInventoryAction.php
2020-07-04 22:34:01 +01:00
Dylan K. Taylor
7e6adc41f0
Merge 1.16 support into PM4 (with changes)
2020-06-26 22:21:09 +01:00
Dylan K. Taylor
64e9647334
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/network/mcpe/convert/LegacySkinAdapter.php
# tests/phpstan/configs/check-explicit-mixed-baseline.neon
# tests/phpstan/configs/phpstan-bugs.neon
2020-06-19 10:48:27 +01:00
Dylan K. Taylor
e6a3f7baa2
Merge branch 'stable'
...
# Conflicts:
# resources/vanilla
# src/pocketmine/Player.php
2020-06-17 22:23:17 +01:00
Dylan K. Taylor
a686840e5e
RuntimeBlockMapping: fixed palette cache never being initialized
...
I must have been very tired when I wrote this code
2020-06-17 21:33:56 +01:00
Dylan K. Taylor
333ed8ed2f
RuntimeBlockMapping: remove unnecessary nullable flag
2020-06-17 21:32:51 +01:00
Dylan K. Taylor
465285b3c2
do not rely on GameMode::getMagicNumber() to match protocol IDs
2020-06-13 12:26:17 +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
07f979fbde
RuntimeBlockMapping: bedrockKnownStates is never null
2020-05-18 17:54:27 +01:00
Dylan K. Taylor
6b037d6a4c
RuntimeBlockMapping: these IDs are not static any more
2020-05-11 12:40:55 +01:00
Dylan K. Taylor
dbd51610c3
TypeConverter: use SingletonTrait
2020-05-05 19:22:20 +01:00
Dylan K. Taylor
f9a587d40e
imports cleanup
2020-04-28 17:27:38 +01:00
Dylan K. Taylor
a97cafd4f6
moving serializers into protocol namespace
2020-04-27 13:54:39 +01:00
Dylan K. Taylor
0397204c68
network/mcpe: imports cleanup
2020-04-27 12:56:28 +01:00
Muqsit Rayyan
b1eff87ad1
fix incorrect conversion of CreateItemAction, close #3436 ( #3437 )
2020-04-25 10:21:40 +01:00
Dylan K. Taylor
a75241ef03
RuntimeBlockMapping: use SingletonTrait
2020-04-24 21:32:47 +01:00
Dylan K. Taylor
3a42c21cc1
wrap up block_id_map in a class
2020-04-24 21:28:27 +01:00
Dylan K. Taylor
ff915b829c
StartGamePacket: remove hardcoded cache, move to RuntimeBlockMapping
2020-04-24 20:50:56 +01:00
Dylan K. Taylor
287bf4274f
move RuntimeBlockMapping to convert package
2020-04-24 12:42:43 +01:00
Dylan K. Taylor
5a94af40e2
Convert ItemFactory to singleton
2020-04-24 00:18:31 +01:00
Dylan K. Taylor
f3d7c320a1
move SkinAdapter stuff to convert package
2020-04-23 15:46:37 +01:00
Dylan K. Taylor
ebcfab4b61
NetworkInventoryAction: move type translation to TypeConverter
2020-04-23 15:40:23 +01:00
Dylan K. Taylor
18d48869a0
the great airgapping of recipes and itemstacks
2020-04-23 14:11:48 +01:00