14911 Commits

Author SHA1 Message Date
ipad54
13f5cc9f87
ChiseledBookshelf: fixed function visibility (#6421) 2024-08-13 16:11:22 +01:00
Dylan K. Taylor
ee17ac5246
Merge branch 'stable' of github.com:pmmp/PocketMine-MP into minor-next 2024-08-09 13:32:07 +01:00
zSALLAZAR
c4a2b6494d
Implement Aqua Affinity enchantment (#6408) 2024-08-06 09:12:47 -05:00
dependabot[bot]
237677c028
Bump phpstan/phpstan from 1.11.2 to 1.11.8 in the development-patch-updates group (#6410) 2024-07-30 06:47:56 +00:00
IvanCraft623
787afb6b00
Implement all new 1.21 tuff blocks (#6391) 2024-07-23 11:34:46 -05:00
Aleksey
df4ada81e5
BedrockWorldData: Update version constants to 1.21.2 (#6399)
Co-authored-by: Dylan T <14214667+dktapps@users.noreply.github.com>
2024-07-16 00:51:06 -05:00
IvanCraft623
d6c48fd3a2
Implement new 1.21 paintings (#6393) 2024-07-12 13:24:43 +01:00
Dylan T
85606925a1
BlockStateData: add a note about CURRENT_VERSION
this is not the same as current game version, as the revision is determined by some Mojang internal factors.
2024-07-12 11:26:51 +01:00
Dylan T
ef9791eaed
Merge pull request #6397 from pmmp/stable
Merge branch 'stable' into minor-next
2024-07-10 18:56:52 +01:00
ipad54
accaa0acce
Implement ICopper interface for blocks with common properties (#6390) 2024-07-10 11:15:06 -05:00
IvanCraft623
824e270041
5.17.1 is next 2024-07-09 21:16:13 -05:00
IvanCraft623
37bf4bc0b0
Release 5.17.0 2024-07-09 21:15:18 -05:00
IvanCraft623
5d60ba36b7
Support for 1.21.2 2024-07-09 21:07:47 -05:00
Arie1906
68d2e2915e
Bells always drops themselves (#4802) 2024-07-07 15:20:45 -05:00
ipad54
2ffc38c835
Implement campfire & soul campfire (#4696) 2024-07-07 15:01:34 -05:00
Hugo_
20f5741ed7
Bowl: Add fuel return value (#6384) 2024-07-05 17:41:22 -05:00
ipad54
b342c497d1 Added 1.21 banner patterns. 2024-06-23 13:27:52 +03:00
IvanCraft623
5ae13209c0
Merge branch 'stable' into merge-stable 2024-06-20 19:21:33 -05:00
Dylan K. Taylor
433bd6a8aa
5.16.1 is next 2024-06-13 18:55:21 +01:00
Dylan K. Taylor
22a1549998
Release 5.16.0 2024-06-13 18:55:18 +01:00
Dylan K. Taylor
f121654452
Assemble 1.21.0 2024-06-13 18:41:41 +01:00
Vega Nicholas S
4c418b4318
Remove unnecessary return statement (#6350) 2024-05-31 16:54:50 +01:00
Hugo_
f772bb7384
WoodenStairs can be a fuel (#6345) 2024-05-13 09:34:18 +01:00
Dylan K. Taylor
1b082f99e9
DefaultPermissions: fixed typo 2024-05-07 12:34:42 +01:00
Max
371eccd007
Make access modifier consistent with parent abstract class (#6341) 2024-05-07 12:02:50 +01:00
Dylan K. Taylor
ed158f8a1b
Server: include uptime in crash restart throttle message
this makes it clearer why the wait duration is chosen instead of it looking random.
2024-04-29 16:36:14 +01:00
Dylan K. Taylor
d70a7d34a7
Living: don't knockback or do hurt FX when attacked during cooldown
players were switching from a weaker tool to a stronger one to get double knockback in PvP.
while it's intended that we don't cancel the second attack during hit cooldown if the damage is
higher (the first damage is subtracted to prevent doubling up), we don't want them to get double
knockback.
this behaviour now matches vanilla to the best of my observations.

Come at me PvP community... I know some people are going to hate this change
2024-04-29 15:51:43 +01:00
Dylan K. Taylor
be6754494f
5.15.1 is next 2024-04-25 11:52:31 +01:00
Dylan K. Taylor
d273ccf87c
Release 5.15.0 2024-04-25 11:52:30 +01:00
Dylan K. Taylor
10238d7934
Removed beta change 2024-04-25 11:39:09 +01:00
Dylan K. Taylor
6077748caa
Changes for 1.20.80 2024-04-25 11:31:41 +01:00
Dylan K. Taylor
37322e0d50
Armor: only make sound when the item was equipped by player action
this ensures the greatest amount of consistency with vanilla.

in order to prevent the sounds being broadcasted on armor damage with the old method, we'd also have to sacrifice the sound when replacing one leather helmet with another, for example.
this approach minimizes the gameplay impact at the possible expense of plugins.

closes #6325
2024-04-08 14:05:47 +01:00
Dylan K. Taylor
55cf24aa02
5.14.2 is next 2024-04-05 18:41:27 +01:00
Dylan K. Taylor
3590d84d03
Release 5.14.1 2024-04-05 18:41:27 +01:00
Dylan K. Taylor
68f8fa8caf
Update pmmpthread required version 2024-04-05 18:40:43 +01:00
Dylan K. Taylor
1ad190024a
5.14.1 is next 2024-04-05 18:16:22 +01:00
Dylan K. Taylor
769a149057
Release 5.14.0 2024-04-05 18:16:19 +01:00
Dylan K. Taylor
16f29c775e
tools/generate-blockstate-upgrade-schema: added support for generating newFlattenedName with value transforms
as seen in pmmp/BedrockBlockUpgradeSchema@ebd768e5b2, this enables use of newFlattenedName in more places (by allowing the flattened values to be transformed before building the new ID), as well as reducing the number of remappedStates in general by compacting stuff which was partially transformed like color silver -> light_gray.
2024-04-05 17:13:38 +01:00
Dylan K. Taylor
e30e27dd57
Fix CS 2024-04-03 15:43:43 +01:00
Dylan K. Taylor
f013079ff6
Fixed MainLogger BC break 2024-04-03 15:31:37 +01:00
Dylan K. Taylor
11fbc8db6f
Make use of pmmpthread 6.1.0 for Thread::getRunningCount()
ThreadManager doesn't count these correctly anymore since pmmpthread since thread-safe statics aren't copied anymore.
2024-04-02 19:40:44 +01:00
Dylan K. Taylor
98380e46bf
Ignore non-fatal error types in crash handlers
ErrorToExceptionHandler currently prevents these from appearing by turning them into exceptions, but this won't always be the case.
For example, in the future we may not want to turn ALL types of E_* errors into exceptions (e.g. E_DEPRECATED).
2024-04-02 19:22:40 +01:00
Dylan K. Taylor
dad9a7e6cd
Merge branch 'stable' into minor-next 2024-04-02 16:35:31 +01:00
Dylan T
d5919dc094
... 2024-03-25 17:24:52 +00:00
Dylan T
09904dc519
workaround for callback-validator not understanding arrow functions 2024-03-25 14:58:21 +00:00
ipad54
f799cfaba6
Implemented sound when equipping armor (#6303) 2024-03-25 14:15:54 +00:00
ShockedPlot7560
2584314202
NetherRoots: fix placement on soul soil (#6299) 2024-03-25 10:53:16 +00:00
ipad54
337e462c8f
Added new banner patterns (#6298) 2024-03-25 10:52:21 +00:00
ipad54
b680a1693c
Added sound when picking sweet berries (#6287) 2024-03-19 10:18:30 +00:00
Dylan T
0e5395c59b
PocketMine-MP.phar self-extraction to decompressed cache (#6217)
Because ext-phar sucks, tmp gets spammed by cache files for every thread when loading files from the phar on the fly.

Instead, we convert the `.phar` into a decompressed `.tar` in the tmp directory and require files from inside it. Surprisingly, this works because `ext-phar` supports `tar` and `zip` natively. No stream wrapper is required, as the `PocketMine.php` bootstrap loads files relative to its location, so the cache is automatically used for everything.

To be honest I would rather get rid of phars entirely, but they are still the easiest way to have PhpStorm load PocketMine-MP API information for now, and the alternatives are more complicated and inconvenient.

### Caveats
Everywhere that previously used `new Phar(Phar::running(false))` in the core code needs to be updated to use `PharData` for this to work correctly. Plugins don't need to do anything.

### Why not just use `Phar::decompressFiles()`?
This requires setting `phar.readonly` to `0`, which is a security issue. Technically, we could have used a subprocess to do this, but it just didn't seem right.

### WTF? `phar://` can be used on `tar` files???
Yup. I was just as surprised to find out that `require` works in such contexts.

### Relevant issues
- Closes #6214 

## Changes
### API changes
None.

### Behavioural changes
Server startup will be slightly slower, as the phar has to decompress and convert itself into a `.tar`. However, testing showed that this generally takes less than 200 ms, so it should be barely noticeable.

## Backwards compatibility
No BC issues.

## Tests
Locally tested and the CI will also verify
2024-03-18 16:48:17 +00:00