13761 Commits

Author SHA1 Message Date
Dylan K. Taylor
994a2c9eb9
Clean up entity/tile data loading from world providers 2021-08-29 23:11:18 +01:00
Dylan K. Taylor
533b0d0724
Updated convert-world CLI tool 2021-08-29 21:04:59 +01:00
Dylan K. Taylor
b4e23a57d2
CraftingDataCache: Replace hardcoded recipe block names with constants from BedrockProtocol 2021-08-29 16:26:18 +01:00
Dylan K. Taylor
510b75ef38
Use tagged version of BedrockProtocol 2021-08-29 16:23:56 +01:00
Dylan K. Taylor
8847aa2d7f
LegacyStringToItemParser: mark as deprecated, and point people towards StringToItemParser, which is much nicer 2021-08-29 16:13:19 +01:00
Dylan K. Taylor
dee2062b1b
CraftingManager: Reduce footprint of recipe keys
this was using json before, which is horribly inefficient.
This saved about 200 KB of memory on initial startup (which isn't much, but for more complex recipes, it might have been significantly worse.
2021-08-29 15:49:18 +01:00
Rush2929
c2558573e2
Fix offhand pickup (#4412) 2021-08-29 12:45:23 +01:00
Colin
2139171a55
added BlockItemPickupEvent class (#4402) 2021-08-29 00:40:09 +01:00
Dylan K. Taylor
3fe6ce7d1f
[ci skip] changelog: mention StructureGrowEvent 2021-08-27 21:02:52 +01:00
Dylan K. Taylor
43d90d621d
[ci skip] update changelog 2021-08-27 20:55:19 +01:00
Dylan K. Taylor
938e430b0f
Convert Populator into an interface 2021-08-27 20:41:54 +01:00
Dylan K. Taylor
c7f78bec15
Added missing change to complete beba0ffe1578e0632e98b2c38f3c446f2ee0266c 2021-08-27 20:33:17 +01:00
Dylan K. Taylor
6c1fec8a29
Tree: renamed generateChunkHeight to generateTrunkHeight
I guess it must have been late at night when I originally wrote this code.
2021-08-27 20:32:07 +01:00
Dylan K. Taylor
beba0ffe15
Remove circular dependency between Tree and its children 2021-08-27 20:25:21 +01:00
Dylan K. Taylor
4778c1483a
Tree: fixed formatting error 2021-08-27 20:14:31 +01:00
Colin
8f89c04c51
Refactor Tree classes (#4407) 2021-08-27 20:11:05 +01:00
marshall
ee16a00c57
World: do not attempt placement of itemblock if stack size is zero (#4410)
This doesn't make any sense, and also caused a crash.
2021-08-27 13:14:56 +01:00
Dylan K. Taylor
d9b9aed2cc
Fixed CS 2021-08-26 15:31:28 +01:00
Dylan K. Taylor
7919a1a1c5
Drop support for commands with spaces in the names
the use case for this is basically zero, since the community prefers implementing their own subcommand systems instead (which are much more flexible).
In addition, allowing spaces in command names makes it extra complicated to display helpful information to the user, such as the command that was actually accepted by the command map (which would be useful for identifying accidental invisible characters / control characters when sending commands).
2021-08-26 15:24:35 +01:00
Dylan K. Taylor
e140614a63
Localize /gc 2021-08-26 15:06:43 +01:00
Dylan K. Taylor
239534995f
Update preprocessor submodule to pmmp/PreProcessor@8a3163aad6 2021-08-26 13:32:50 +01:00
Dylan K. Taylor
47120022c2
Localize messages for /op and /deop 2021-08-26 13:31:19 +01:00
Colin
4189fbdaef
Added StructureGrowEvent (#4354)
This event is currently fired for tree and bamboo growth. Its intended use is for any plant growth that affects multiple blocks at once.

TODO: We could explore using this for cacti and sugarcane?
2021-08-25 14:05:30 +01:00
marshall
6e68e99ec0
Added PlayerEntityInteractEvent (#4374) 2021-08-24 11:56:10 +01:00
Colin
224d71f272
World: renamed getChunks() to getLoadedChunks() (#4393) 2021-08-23 21:23:35 +01:00
Dylan K. Taylor
2d025bf02f
Populate StringToItemParser with some names from VanillaBlocks
this makes just about everything easily accessible via commands.
There are some stuff that shouldn't be here due to not being actual items (e.g. door blocks, bed blocks, wall coral fans) but since there were legacy aliases for all those things already, I figured what the heck - it's more effort to exclude them, so whatever.
2021-08-23 14:49:30 +01:00
Dylan K. Taylor
78b0275a6c
StringToItemParser: added a bunch of nice new aliases
this should especially make potions less cancerous to /give.
2021-08-23 14:25:00 +01:00
SalmonDE
7fd712c1ff
Refactor Block & Tile: getPos() to getPosition() (#4395)
this also changes the name of the class property 'pos' to 'position' as well as Block->getPosOffset() to Block->getPositionOffset()
2021-08-23 14:01:32 +01:00
Dylan K. Taylor
22316976fa
Introduce next-generation StringToItemParser
this isn't specced up with some of the finer features of LegacyStringToItemParser such as metadata parsing, but those are still a work in progress (and probably limited to specific items like durable stuff).
The goal is to unbind these aliases from legacy internal IDs, while also providing a nice flexible way for plugins to add their own items and aliases to the existing system.

This system allows mapping a string to any item at all, irrespective of state, internal IDs, or any of that nonsense. This means it's finally possible to have stuff like lapis_lazuli and bone_meal aliases in commands.
2021-08-23 00:39:20 +01:00
Dylan K. Taylor
044b2f54ac
Fixed build 2021-08-22 23:13:25 +01:00
Dylan K. Taylor
270ee5c085
Simplify registry method generation 2021-08-22 23:02:36 +01:00
Rush2929
1ce9474fce
Picked up items can now be added to offhand slots. (#4360) 2021-08-22 20:36:12 +01:00
Dylan K. Taylor
cd9af7f9f6
Utils: be explicit about class existence checking in testValidInstance() 2021-08-21 15:57:57 +01:00
Dylan K. Taylor
4d73c93886
fix CS 2021-08-21 15:54:11 +01:00
Dylan K. Taylor
7d9f8ff4ed
World: do not use static:: for private property access 2021-08-21 15:46:19 +01:00
Dylan K. Taylor
5f3c9e6f19
Timezone: fix some implicit boolean type conversions 2021-08-21 15:43:30 +01:00
Dylan K. Taylor
686bf398d5
BlockFactory: simplify get() code 2021-08-21 15:41:00 +01:00
Dylan K. Taylor
4023a024ce
[ci skip] update changelog 2021-08-21 00:15:38 +01:00
Dylan K. Taylor
14577daae3
fixed build 2021-08-20 23:52:34 +01:00
Dylan K. Taylor
668df85e3f
Merge branch 'stable' 2021-08-20 23:08:17 +01:00
Dylan K. Taylor
f5a4baf3cf
AsyncTask: regroup some methods into more sensible places
how the fuck is anyone supposed to find anything??
2021-08-20 23:00:39 +01:00
Rush2929
eb9188c309
Replace InventoryPickup*Event with EntityItemPickupEvent (#4384)
The rationale here is that inventories don't actually pick items up - their holders do.
It's especially misleading to say that an inventory is picking up an item in creative mode when the picked-up item can't actually be added to the target inventory in the first place.

This change allows a range of new functionality, such as:
- Allowing survival players to pick items up even when their inventories are full, similarly to creative players
- Changing the destination inventory of collected items (e.g. items could be redirected to the offhand or ender chest inventory, while still allowing other plugins to understand what's happening)

As an added bonus, this obsoletes one more use case for Inventory->getHolder(), bringing us one step closer to removing the cyclic reference nightmare from inventories.

The choice of naming (EntityItemPickup, instead of EntityPickupItem) is to be consistent with other events, where the word order is SubjectObjectActionEvent.
2021-08-20 22:59:35 +01:00
alvin0319
34a7405820
Player: fixed player can fly after respawn (#4388) 2021-08-20 22:51:36 +01:00
Dylan K. Taylor
ff4aa148ef
phpstan 0.12.95 2021-08-20 22:47:29 +01:00
Dylan K. Taylor
e43d39c0bc
UpdateChecker: improve type handling 2021-08-20 20:06:09 +01:00
Dylan K. Taylor
e113981750
UpdateChecker: be less wordy 2021-08-20 19:59:55 +01:00
Dylan K. Taylor
950dadab0c
UpdateChecker: be less noisy
we already have a log prefix, so there's no need for this spam as well.
2021-08-20 19:56:55 +01:00
Dylan K. Taylor
d488c25a1a
Rename AutoUpdater -> UpdateChecker 2021-08-20 19:54:08 +01:00
Dylan K. Taylor
63e86fe806
Config: fixed incorrect fluent @return annotations 2021-08-20 14:44:59 +01:00
Dylan K. Taylor
ab05bc7379
Replace some references to Pocket Edition with Bedrock Edition
closes #4387
2021-08-20 14:23:11 +01:00