14651 Commits

Author SHA1 Message Date
Dylan K. Taylor
1c5d3b43be
5.6.2 is next 2023-10-20 10:30:50 +01:00
Dylan K. Taylor
decc188302
Release 5.6.1 2023-10-20 10:30:50 +01:00
Dylan K. Taylor
8fa5c7cdab
World: do not apply fake state properties from tile if the block doesn't expect this tile type
This was causing a variety of crashes due to incorrect tiles, presumably from PM3 worlds.
2023-10-20 10:28:46 +01:00
Dylan K. Taylor
7dd3a70d2e
Revert "World: discard tiles on load if they aren't the correct type or no tile is expected"
This reverts commit 8f804f6f342e650156767372bac2d42b55297361.

This change is too disruptive, since popular plugins like
ExtendedBlocks and ExtendedBlocksConverter relied on custom tiles.
Deleting them at this stage would prevent these plugins from working,
making it impossible to upgrade old data.

An alternative solution to this problem will need to be developed.
2023-10-20 10:16:49 +01:00
Javier León
b4d55e4384
Fixed dirt and grass block interactions when clicking on sides other than the top (#6071) 2023-10-18 10:40:01 +01:00
Dylan K. Taylor
932116fa52
Server: re-added @see reference that somehow got deleted
this is useful when clicking through references in the call stack.
2023-10-18 10:23:02 +01:00
Hugo_
7b5c30bc2c
WoodenDoor can be a fuel (#6101) 2023-10-17 22:10:08 +01:00
Hugo_
c14eb63f9b
Wooden Button can be a fuel (#6099) 2023-10-17 16:30:35 +01:00
Hugo_
224a69b11a
Sign can be a fuel (#6095) 2023-10-17 12:22:20 +01:00
Dylan K. Taylor
7d200247f8
Cactus: do not update if only age changed
I'd prefer a smarter solution for this that automatically disables updates depending on which type of property was changed, but for now, this will significantly improve the performance of cactus farms.
The newly placed cactus block at the top cannot have updates disabled, though, since it needs to check its surroundings in case it grew into a space with a solid block next to it.

Thanks @KingOfTurkey38 for bringing this to light.
2023-10-13 12:45:11 +01:00
Doge
94a17f59d2
fix(Entity): broadcastSound() not firing WorldSoundEvent (#6069) 2023-10-08 19:25:19 +01:00
Dylan K. Taylor
8f804f6f34
World: discard tiles on load if they aren't the correct type or no tile is expected
in many instances, remnants of improperly removed blocks from PM3 have been causing problems, such as flower pot tiles where there are no flower pots.

this change might break some plugins which are using tiles for custom purposes, but this is a misuse that was never supported properly in the first place.
2023-09-27 14:57:06 +01:00
Dylan K. Taylor
d138a15a32
Merge branch 'legacy/pm4' into stable 2023-09-21 13:27:04 +01:00
Dylan K. Taylor
912fd3f5c6
PHPStan 1.10.35, plus workarounds 2023-09-21 13:22:14 +01:00
Dylan K. Taylor
5eca90d478
5.6.1 is next 2023-09-20 19:00:51 +01:00
Dylan K. Taylor
338bb3fe6d
Release 5.6.0 2023-09-20 19:00:51 +01:00
Dylan K. Taylor
914eb62e94
4.24.1 is next 2023-09-20 18:40:07 +01:00
Dylan K. Taylor
a85814d0c9
Release 4.24.0 2023-09-20 18:40:07 +01:00
Dylan K. Taylor
6553852d99
Updated for 1.20.30 release 2023-09-20 18:34:12 +01:00
Dylan K. Taylor
540476365f
Updated for 1.20.30 release 2023-09-20 18:14:59 +01:00
Dylan K. Taylor
efafc2c6ca
DeadBush: updated support requirements
since 1.20 they can now be placed on grass and mud.
2023-09-08 16:41:06 +01:00
Dylan K. Taylor
d7f69c5e24
CaveVines: fixed incorrect support condition 2023-09-08 12:47:46 +01:00
Dylan K. Taylor
0e87ee1e0e
ÂHangingRoots: fixed incorrect support face 2023-09-08 12:22:00 +01:00
Dylan K. Taylor
03ecc98a24
HangingRoots: fixed support conditions 2023-09-08 12:16:45 +01:00
Dylan K. Taylor
a5aeabd836
RegistryTrait: fixed mishandling of self::$members
Since PHPStan doesn't warn about potential nulls on untyped properties, this flew under the radar.
2023-09-08 12:16:16 +01:00
Dylan K. Taylor
fe94379a93
Fixed connection requirements for fences, glass, bars and walls
these connect to the back faces of stairs and to glass, for example.
2023-09-06 12:56:47 +01:00
Dylan K. Taylor
79acc4fed4
5.5.1 is next 2023-09-06 12:13:26 +01:00
Dylan K. Taylor
c8d357f4eb
Release 5.5.0 2023-09-06 12:13:26 +01:00
Dylan K. Taylor
ec1cd5967d
Added private constructors for new internal classes 2023-09-06 12:12:11 +01:00
Dylan K. Taylor
5a010e8213
Merge branch 'minor-next' into stable 2023-09-06 12:06:15 +01:00
Dylan K. Taylor
73a44d50ee
5.4.5 is next 2023-09-06 11:53:04 +01:00
Dylan K. Taylor
6aab07debd
Release 5.4.4 2023-09-06 11:53:01 +01:00
Dylan K. Taylor
b160b87e24
Server: stop discriminating against crashes caused by folder plugins
these are the de facto standard, which means that a lot of crashes aren't getting reported from servers with folder plugins.
2023-09-06 11:34:03 +01:00
Dylan K. Taylor
690ee4c574
CrashDump: fixed empty elements in lastError trace
as shown by #6010
2023-09-06 11:24:08 +01:00
Dylan K. Taylor
857c2edc2c
Server: update obsoletion notice with new announcement and cutoff date 2023-09-06 10:58:41 +01:00
Jonathan B
ce04478395
Fix SmithingTableInventory size (#6035)
Since 1.20 SmithingTable has a new Template slot, size is now 3

Fix debug error from InventoryManager
2023-09-06 08:15:27 +01:00
ねらひかだ
19e3d339f6
InGamePacketHandler: subtract from raw position before rounding it (#6022)
This allows better compensation for floating point errors introduced by the subtraction of the 1.62 height offset.

For example, if the player is at y=7 exactly, their Y coordinate will be reported as 8.62, which, because of floating point errors, will be something like `8.619999999`. Subtracting `1.62` from this (really something like `1.62000000000005...`) leads to the calculated Y coordinate being slightly below 7.

Rounding after subtracting this offset allows this to be rounded to 7 sharp. Similar errors appear in various other coordinates.
2023-08-29 11:43:21 +01:00
Dylan K. Taylor
9fdb6ba5aa
Mark some new things as internal 2023-08-25 14:02:49 +01:00
Dylan K. Taylor
31d8cc1cb5
Generate and use constants for pocketmine.yml constant names
a couple of usages of properties that no longer exist couldn't be migrated.
in addition, this revealed a couple of dead properties in the default file.

this is not an ideal solution (I'd much rather model the configs using classes and map them) but in the absence of a good and reliable library to do that, this is the next best thing.
2023-08-25 13:23:38 +01:00
Dylan K. Taylor
506d8d1064
CS 2023-08-25 12:49:56 +01:00
Dylan K. Taylor
d1a7c1d453
Constify server.properties references 2023-08-25 12:49:39 +01:00
Dylan K. Taylor
b56f1b679e
Deduplicate a bunch of repeated type ID map code 2023-08-25 12:30:54 +01:00
Dylan K. Taylor
ce53a221a5
5.5.0-BETA2 is next 2023-08-23 17:09:34 +01:00
Dylan K. Taylor
c8100480ac
Release 5.5.0-BETA1 2023-08-23 17:09:34 +01:00
Dylan K. Taylor
8814d06dfd
Fix CS 2023-08-23 17:00:18 +01:00
Dylan K. Taylor
923f7561fb
Enchantment: added @see tags to @deprecated methods 2023-08-23 16:53:09 +01:00
Dylan K. Taylor
f4e1c31dcf
Change some weird constant names 2023-08-23 16:52:47 +01:00
Dylan K. Taylor
998fcf20db
Remove useless Cancellable from PressurePlateUpdateEvent 2023-08-23 16:52:22 +01:00
Dylan K. Taylor
1504fdca24
Use 'enchanting' terminology
'enchant' just didn't feel right, being a verb.
All these things pertain to the act of enchanting.

This is now also consistent with CraftingTransaction etc. The ship already sailed on EnchantInventory, which will have to be renamed at a later datte. However, that was already inconsistent with 'enchanting table', so that's the odd one out here.
2023-08-23 16:14:17 +01:00
Dylan K. Taylor
bf668c0f6c
Rename EnchantHelper related stuff
Perhaps this and EnchantOption should be called EnchantingHelper and EnchantingOption respectively. The terminology used is rather inconsistent, but 'enchantment' definitely isn't the right word here.
2023-08-23 16:07:02 +01:00