Dylan K. Taylor
911ad344c9
Human: do not mutate parameter variables in setXpAndProgress()
...
this caused a mystery that took 3 entire years to debug.
2021-12-10 17:27:28 +00:00
Dylan K. Taylor
3b77462935
WritableBookBase: fixed crash when finding pages containing corrupted UTF-8 characters
...
maybe we should treat this as corrupted? but for now, it's consistent with how we deal with signs.
2021-12-10 16:39:13 +00:00
Dylan K. Taylor
1ed9302f5a
ItemEntity: clone items given to the constructor directly
...
this fixes some bizarre mutability issues that occurred when using World->dropItem() with the same object multiple times.
2021-12-10 16:31:56 +00:00
Dylan K. Taylor
7ad1afee89
Merge branch 'next-minor' of github.com:pmmp/PocketMine-MP into next-minor
2021-12-09 13:54:06 +00:00
Dylan K. Taylor
292827a311
Switch to PlayerAuthInputPacket for movement handling
...
sticking with the non-rewind version for now, for simplicity's sake.
We do want the rewind version at some point for server side knockback, but that's a job for later.
For now, using this packet fixes various problems with slightly-incorrect positions and rotations (e.g. AimTP no longer requires you to jump to get the exact correct rotation; previously it would hit the wrong block at long distances due to errors of a fraction of a degree due to the client not sending its position.
Note that this might cause some performance degradation since the packet is sent every tick. This has yet to be assessed, but the advantages offered are undeniable in any case.
2021-12-09 13:53:53 +00:00
Matthew Jordan
f8ed23cc1e
ClearCommand: Add OffHandInventory to $inventories ( #4631 )
2021-12-09 11:19:33 +00:00
Dylan K. Taylor
6ddaed97fa
4.0.2 is next
2021-12-09 00:48:45 +00:00
Dylan K. Taylor
036b90d247
Release 4.0.1
2021-12-09 00:48:42 +00:00
Dylan K. Taylor
06eaf9f273
3.26.3 is next
2021-12-09 00:27:03 +00:00
Dylan K. Taylor
1e56ed2ea3
Release 3.26.2
2021-12-09 00:26:59 +00:00
Dylan K. Taylor
0ace807756
Merge commit 'b081394125f90c14d6894b24e2edb32f3284b3a0' into stable
2021-12-08 23:59:51 +00:00
Dylan K. Taylor
b081394125
Do not restrict the allowed update channels client-side
...
we really should have an endpoint on the server that deals with this.
2021-12-08 21:57:16 +00:00
Dylan K. Taylor
f48cf68cac
updater: log a message when an update was found, but it's an older version
2021-12-08 21:55:44 +00:00
Dylan K. Taylor
264cff70ec
Release new PM3 builds onto pm3 channel
2021-12-08 21:55:12 +00:00
Dylan K. Taylor
3aabfa4ab0
bootstrap: display value of PHPRC when PHP binary is borked
...
PHPRC overrides the search path for php.ini, which might break the php.ini locating.
2021-12-08 20:48:44 +00:00
Dylan K. Taylor
922ce2e312
Merge branch 'stable' into next-minor
2021-12-08 20:10:23 +00:00
Dylan K. Taylor
0793e7e094
PluginLoadabilityChecker: fixed logic of extension compatibility check
...
if the extension doesn't specify any version, we can't do any constraint other than *.
2021-12-08 20:08:53 +00:00
Dylan K. Taylor
77a74d84e2
CrashDump: phpversion() could return false for a loaded extension
...
if the extension wrote NULL into the zend_module_entry->version field, phpversion() will return false.
2021-12-08 19:58:28 +00:00
Dylan K. Taylor
5b868e6d5e
Merge branch 'stable' into next-minor
2021-12-08 19:40:25 +00:00
Dylan K. Taylor
889d048ca3
Make use of Utils::assumeNotFalse() in a bunch of places
...
I've stuck to only doing this in the places where I'm sure we should never get false back. Other places I'm less sure of (and I found more bugs along the way).
2021-12-08 19:39:04 +00:00
Dylan K. Taylor
8b73549355
Use JSON_THROW_ON_ERROR for json_encode() and json_decode()
2021-12-08 19:14:07 +00:00
Dylan K. Taylor
c6466a6da9
Utils: added crutch assumeNotFalse()
...
this can be used to get PHPStan to shut up about stuff that will never return false in normal contexts.
It's more fine-grained than @phpstan-ignore-line and less hassle than ignoreErrors (and works in PhpStorm too).
In addition, it's easy to search for references.
2021-12-08 18:58:39 +00:00
Dylan K. Taylor
3d9e19546f
EntityShootBowEvent: fixed incorrect field type
2021-12-07 23:35:45 +00:00
Dylan K. Taylor
45b4fa0e96
Server: improve confusing condition in crashDump()
2021-12-07 23:08:06 +00:00
Dylan K. Taylor
bf29409a45
Server: fixed PHPStan level 7 error in crashDump()
2021-12-07 23:06:10 +00:00
Dylan K. Taylor
503c888838
bootstrap: use phpversion() for checking extension presence
...
fixes 2 PHPStan errors on level 7
2021-12-07 22:50:16 +00:00
Dylan K. Taylor
e0eeb87ea0
World: simplify tile position checking code
2021-12-07 16:45:20 +00:00
Dylan K. Taylor
78ffad5ffc
World: add checks for tile position outside of world bounds, closes #4622
2021-12-07 16:41:52 +00:00
Dylan K. Taylor
1d14c8cb6b
Merge branch 'stable' into next-minor
2021-12-07 00:41:48 +00:00
Dylan K. Taylor
49d0d01f9f
Merge branch 'next-minor' of github.com:pmmp/PocketMine-MP into next-minor
2021-12-07 00:41:17 +00:00
Dylan K. Taylor
ed4978c31b
Added VanillaItems::AIR()
...
we don't usually add VanillaItems entries for blocks since they already exist in VanillaBlocks, but air has a special use case specifically as an itemstack, so we make an exception for this case.
2021-12-07 00:41:07 +00:00
Matthew Jordan
3728ddbf24
ClearCommand: Cleanup logic & fix vanilla disparities ( #4619 )
2021-12-06 23:57:07 +00:00
Dylan K. Taylor
5a351d3b17
StringToItemParser: fixed not recognizing slime or slime_block
2021-12-06 23:51:30 +00:00
Dylan K. Taylor
0530cb72df
StringToItemParser: fixed some bogus aliases inherited from Item::fromString()
2021-12-06 23:44:41 +00:00
Rush2929
8f2ca92f02
Implement dropped item merging ( #4419 )
...
- The following classes have been added:
- `ItemMergeEvent`
- `ItemEntityStackSizeChangeAnimation`
- The following API methods have been added:
- `ItemEntity->isMergeable()`
- `ItemEntity->tryMergeInto()`
- `ItemEntity->setStackSize()`
2021-12-06 22:23:18 +00:00
Drew B
ce54d268f2
Player: allow controlling client-sided block collisions irrespective of Spectator Mode ( #4563 )
...
- Added the following API methods:
- `Player::hasBlockCollision()`
- `Player::setHasBlockCollision()`
This enables spectator-like noclip behaviour in other gamemodes (could be useful for builders).
2021-12-06 21:14:22 +00:00
xxAROX
cd850b111d
SplashPotion: added getType() ( #4613 )
2021-12-06 20:29:01 +00:00
Dylan K. Taylor
6e4b73c183
FallingBlock: fixed crash when block is unable to be determined
2021-12-06 16:40:47 +00:00
Dylan K. Taylor
2486dabd8a
Fire: extract more unrelated changes from #4617
2021-12-06 01:04:59 +00:00
Dylan K. Taylor
4f3a60ac90
Merge branch 'stable' into next-minor
2021-12-05 16:07:23 +00:00
Dylan K. Taylor
98c31cf07b
Update version number
2021-12-05 16:07:20 +00:00
Dylan K. Taylor
9256afd439
Call BlockSpreadEvent when spreading fire to incinerated blocks
2021-12-05 16:06:29 +00:00
Dylan K. Taylor
527e975fa9
shut
2021-12-05 00:45:23 +00:00
Dylan K. Taylor
8e37f86480
Avoid file_put_contents() when overwriting files
...
this fixes many cases of corruption during disk-full situations - file_put_contents() would write an empty file, destroying the original data.
fixes #3152
2021-12-05 00:26:48 +00:00
Dylan K. Taylor
8e8cee45b8
Config: use JSON_THROW_ON_ERROR for encoding
2021-12-04 21:44:12 +00:00
Dylan K. Taylor
1a046c6cd5
LevelDB: fixed server crash when corrupted / invalid blockstate NBT is encountered
2021-12-04 18:17:17 +00:00
Dylan K. Taylor
e61aaaccca
LevelDB: removed hack for problem fixed by 1f9400f9011546ab914090853069aaa76192a722
2021-12-04 16:20:57 +00:00
marshall
1b86355c40
Server: Suppress "Minecraft network interface running" messages if RakLibInterface registration is cancelled ( #4603 )
2021-12-02 20:29:01 +00:00
Dylan K. Taylor
2da65c5a6e
4.0.1 is next
2021-12-01 22:33:58 +00:00
Dylan K. Taylor
468faa464b
Release 4.0.0
2021-12-01 22:33:52 +00:00