94 Commits

Author SHA1 Message Date
Dylan K. Taylor
5a94af40e2 Convert ItemFactory to singleton 2020-04-24 00:18:31 +01:00
Dylan K. Taylor
13d784cd0c Convert BlockFactory to singleton 2020-04-23 23:45:13 +01:00
Dylan K. Taylor
1b26cf1df9 break the hard cycle between mcpe\handler and mcpe\protocol
preparing to move mcpe\protocol to a separate library
2020-04-23 15:38:11 +01:00
Dylan K. Taylor
78394a336c Merge branch 'stable' 2020-02-25 20:45:39 +00:00
Dylan K. Taylor
7aa8bd18d3 Revert "Item: restrict bounds of count to 0-255"
This reverts commit 10317527e4012fb1dbb1661f2f7fc33b05a7a6d1.

this breaks user code which exceeds stack limits in legitimate
circumstances. For example, it should be OK to add 6000x diamond to a
player's inventory without being forced to manually split the count up
for addItem().
2020-02-25 20:42:03 +00:00
Dylan K. Taylor
5c2ae0257c DataPacket: inject buffer via parameter instead of class field (packet & stream separation, step 2)
this is not complete yet, but the final change (having the binarystream actually come from outside) is a little more disruptive, and some extra changes need to be made. This will grant some sanity in the meantime without breaking too much stuff.
2020-02-25 16:19:11 +00:00
Dylan K. Taylor
bd00ee5038 Merge branch 'stable' 2020-02-24 22:11:13 +00:00
Dylan K. Taylor
04581e2700 DataPacket: account for splitscreen header when decoding 2020-02-24 21:20:25 +00:00
Dylan K. Taylor
8a770d837e Merge branch 'stable' 2020-02-24 20:32:43 +00:00
Dylan K. Taylor
10317527e4 Item: restrict bounds of count to 0-255 2020-02-23 17:23:53 +00:00
Dylan K. Taylor
31405f7587 EnumTraitTest: use @doesNotPerformAssertions 2020-02-07 18:35:55 +00:00
Dylan K. Taylor
31fcd8e5fa ItemTest: use the proper method to explicitly fail a test 2020-02-07 18:35:26 +00:00
Dylan K. Taylor
95896eb911 tests/phpunit: fill in some phpstan types 2020-02-07 18:34:57 +00:00
Dylan K. Taylor
091873ca51 HandlerListManagerTest: fix phpunit 8.x compatibility 2020-02-07 18:14:43 +00:00
Dylan K. Taylor
fb1126797a Merge branch 'stable' 2020-02-07 18:13:55 +00:00
Dylan K. Taylor
a1622fa345 UtilsTest: silence a phpstan-strict-rules warning 2020-02-06 18:53:05 +00:00
Dylan K. Taylor
5ad66c3c9b BlockTest: throw exception instead of always-false assert 2020-02-06 13:21:39 +00:00
Dylan K. Taylor
532dc0fb6f tests/phpunit: populate iterable types for phpstan 2020-02-06 13:11:56 +00:00
Dylan K. Taylor
e12618c705 tests/phpunit: added missing native typehints 2020-02-06 12:13:42 +00:00
Dylan K. Taylor
269066b2d0 added unit test for Enum lazy initialization 2020-02-01 20:42:04 +00:00
Dylan K. Taylor
464b2116a6 Merge remote-tracking branch 'origin/stable' 2019-10-01 14:41:54 +01:00
Dylan K. Taylor
8a6381c3fa StupidJsonDecodeTest: add some extra test vectors 2019-10-01 13:25:20 +01:00
Dylan K. Taylor
735efeaa13 Merge branch 'stable' 2019-09-26 11:30:36 +01:00
Dylan K. Taylor
d0d61597c7 StupidJsonDecodeTest: use getClosure() instead of traditional mess
this is faster and requires less code.
2019-09-26 11:28:40 +01:00
Dylan K. Taylor
15694279c7 Merge branch 'stable' 2019-09-18 13:30:58 +01:00
Dylan T
d724374d1a
StupidJsonDecodeTest: add failing test case for #3113 2019-09-16 15:53:00 +01:00
Dylan K. Taylor
d1a8bef1e6 fix test 2019-08-25 17:52:39 +01:00
Dylan K. Taylor
e5b02ee5e0 make logic for fetching handler lists more consistent 2019-08-23 17:16:07 +01:00
Dylan K. Taylor
b543744534 Rename Solid -> Opaque
the old naming was misleading, particularly in conjunction with isSolid().
2019-07-22 19:56:01 +01:00
Dylan K. Taylor
a9c6489e08 updated consistency check for e388ac9c8b133fbf0382ef56f6ab75f04249a670 2019-07-21 13:11:59 +01:00
Dylan K. Taylor
1fee70abfb Item no longer implements ItemIds 2019-07-19 17:43:06 +01:00
Muqsit
a8fa3ba434 Add test for whether item retains it's display properties after deserialization (#3047) 2019-07-19 13:06:07 +01:00
Dylan K. Taylor
08e1f6405c implemented Carved Pumpkin 2019-07-09 17:56:09 +01:00
Dylan K. Taylor
4a6d4953f2 updated consistency check for previous commit 2019-07-03 16:19:24 +01:00
Dylan K. Taylor
e82a40b2ba forgot to stage this for b18bd4f33ce606ad594b56dd4785b650d21cd695 2019-06-18 17:37:38 +01:00
Dylan K. Taylor
f30cee15ca added Dried Kelp block 2019-06-07 18:03:17 +01:00
Dylan K. Taylor
9d42bc3c0c updated consistency check for ad79e6cd8e121ae3db02a10b7e86bc1bba8287f7 2019-06-01 12:12:55 +01:00
Dylan K. Taylor
c29523baf4 added a bunch of new blocks 2019-05-24 19:59:03 +01:00
Dylan K. Taylor
54216c2fee Block: Blow away a bunch of useless classes 2019-05-24 19:38:43 +01:00
Dylan K. Taylor
57219abc9d fix test failure 2019-05-18 20:20:33 +01:00
Dylan K. Taylor
dd914e0752 Block: move all legacy metadata constants into a dedicated class
this makes it easier to see what is using metadata (and makes it easier to get rid of later).
2019-05-16 16:55:44 +01:00
Dylan K. Taylor
5024de38b8 added more types of stone slab 2019-05-15 18:15:25 +01:00
Dylan K. Taylor
9e72bc91a2 Separate block break-info to a separate dynamic unit 2019-05-10 16:24:59 +01:00
Dylan T
3cd6e12e71
Renaming "Level" -> "World" (#2907)
This has been a pain point for a long time due to the misleading nature of the name "level". It's also confusing when trying to do things like getting the XP level of the player or such, and also does not translate well to other languages.

This transition was already executed on the UI some time ago (language strings) and now it's time for the same change to occur on the API.

This will burn a lot of plugins, but they'll acclimatize. Despite the scary size of this PR, there isn't actually so many changes to make. Most of this came from renaming `Position->getLevel()` to `Position->getWorld()`, or cosmetic changes like changing variable names or doc comments.
2019-05-07 14:47:28 +01:00
Dylan K. Taylor
810bdeb965 Test one extra case for LevelProviderManager 2019-04-26 12:01:12 +01:00
Dylan K. Taylor
c4b4575c74 Refuse to load plugins with ambiguous minAPI versions
closes #2381
2019-04-12 19:51:43 +01:00
Dylan K. Taylor
bf2851f324 Move API checking to its own class so it can be unit-tested 2019-04-12 19:45:41 +01:00
Dylan K. Taylor
2a3e6dcf00 Rename BlockIds -> BlockLegacyIds 2019-03-23 19:46:31 +00:00
Dylan K. Taylor
79ef8e0803 Replace all legacy blockID references with BlockIds:: 2019-03-23 19:44:33 +00:00
Dylan K. Taylor
be0436b2a0 fix consistency check (again) 2019-03-23 19:20:52 +00:00