mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-07 04:17:07 +00:00
Merge branch 'minor-next' of github.com:pmmp/PocketMine-MP into minor-next
This commit is contained in:
commit
ec6077776a
@ -1 +1 @@
|
|||||||
Subproject commit 56cec11745bbd87719a303a0a1de41ee1d1d69c2
|
Subproject commit ae946949c528acf8c3f05dfceadc1d66b42d1f2f
|
@ -127,3 +127,13 @@ Released 9th December 2024.
|
|||||||
|
|
||||||
## Internals
|
## Internals
|
||||||
- Removed legacy `build/make-release.php` script. This script is no longer used, as all releases should now follow the PR workflow.
|
- Removed legacy `build/make-release.php` script. This script is no longer used, as all releases should now follow the PR workflow.
|
||||||
|
|
||||||
|
# 5.23.3
|
||||||
|
Released 22nd January 2025.
|
||||||
|
|
||||||
|
## Fixes
|
||||||
|
- Fixed crashes with PHP internal stack frames being flagged as plugin crashes.
|
||||||
|
- Fixed note block instrument sounds in 1.21.50.
|
||||||
|
|
||||||
|
## Internals
|
||||||
|
- Updated GitHub issue templates to use issue forms.
|
||||||
|
@ -31,7 +31,7 @@ use function str_repeat;
|
|||||||
|
|
||||||
final class VersionInfo{
|
final class VersionInfo{
|
||||||
public const NAME = "PocketMine-MP";
|
public const NAME = "PocketMine-MP";
|
||||||
public const BASE_VERSION = "5.23.3";
|
public const BASE_VERSION = "5.23.4";
|
||||||
public const IS_DEVELOPMENT_BUILD = true;
|
public const IS_DEVELOPMENT_BUILD = true;
|
||||||
public const BUILD_CHANNEL = "stable";
|
public const BUILD_CHANNEL = "stable";
|
||||||
|
|
||||||
|
@ -39,10 +39,10 @@ final class NoteInstrumentIdMap{
|
|||||||
NoteInstrument::SNARE => 2,
|
NoteInstrument::SNARE => 2,
|
||||||
NoteInstrument::CLICKS_AND_STICKS => 3,
|
NoteInstrument::CLICKS_AND_STICKS => 3,
|
||||||
NoteInstrument::DOUBLE_BASS => 4,
|
NoteInstrument::DOUBLE_BASS => 4,
|
||||||
NoteInstrument::BELL => 5,
|
NoteInstrument::FLUTE => 5,
|
||||||
NoteInstrument::FLUTE => 6,
|
NoteInstrument::BELL => 6,
|
||||||
NoteInstrument::CHIME => 7,
|
NoteInstrument::GUITAR => 7,
|
||||||
NoteInstrument::GUITAR => 8,
|
NoteInstrument::CHIME => 8,
|
||||||
NoteInstrument::XYLOPHONE => 9,
|
NoteInstrument::XYLOPHONE => 9,
|
||||||
NoteInstrument::IRON_XYLOPHONE => 10,
|
NoteInstrument::IRON_XYLOPHONE => 10,
|
||||||
NoteInstrument::COW_BELL => 11,
|
NoteInstrument::COW_BELL => 11,
|
||||||
|
@ -1058,8 +1058,7 @@ class NetworkSession{
|
|||||||
];
|
];
|
||||||
|
|
||||||
$layers = [
|
$layers = [
|
||||||
//TODO: dynamic flying speed! FINALLY!!!!!!!!!!!!!!!!!
|
new AbilitiesLayer(AbilitiesLayer::LAYER_BASE, $boolAbilities, $for->getFlightSpeedMultiplier(), 0.1),
|
||||||
new AbilitiesLayer(AbilitiesLayer::LAYER_BASE, $boolAbilities, 0.05, 0.1),
|
|
||||||
];
|
];
|
||||||
if(!$for->hasBlockCollision()){
|
if(!$for->hasBlockCollision()){
|
||||||
//TODO: HACK! In 1.19.80, the client starts falling in our faux spectator mode when it clips into a
|
//TODO: HACK! In 1.19.80, the client starts falling in our faux spectator mode when it clips into a
|
||||||
|
@ -184,6 +184,8 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
|||||||
private const MAX_REACH_DISTANCE_SURVIVAL = 7;
|
private const MAX_REACH_DISTANCE_SURVIVAL = 7;
|
||||||
private const MAX_REACH_DISTANCE_ENTITY_INTERACTION = 8;
|
private const MAX_REACH_DISTANCE_ENTITY_INTERACTION = 8;
|
||||||
|
|
||||||
|
public const DEFAULT_FLIGHT_SPEED_MULTIPLIER = 0.05;
|
||||||
|
|
||||||
public const TAG_FIRST_PLAYED = "firstPlayed"; //TAG_Long
|
public const TAG_FIRST_PLAYED = "firstPlayed"; //TAG_Long
|
||||||
public const TAG_LAST_PLAYED = "lastPlayed"; //TAG_Long
|
public const TAG_LAST_PLAYED = "lastPlayed"; //TAG_Long
|
||||||
private const TAG_GAME_MODE = "playerGameType"; //TAG_Int
|
private const TAG_GAME_MODE = "playerGameType"; //TAG_Int
|
||||||
@ -285,6 +287,8 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
|||||||
protected bool $blockCollision = true;
|
protected bool $blockCollision = true;
|
||||||
protected bool $flying = false;
|
protected bool $flying = false;
|
||||||
|
|
||||||
|
protected float $flightSpeedMultiplier = self::DEFAULT_FLIGHT_SPEED_MULTIPLIER;
|
||||||
|
|
||||||
/** @phpstan-var positive-int|null */
|
/** @phpstan-var positive-int|null */
|
||||||
protected ?int $lineHeight = null;
|
protected ?int $lineHeight = null;
|
||||||
protected string $locale = "en_US";
|
protected string $locale = "en_US";
|
||||||
@ -518,6 +522,41 @@ class Player extends Human implements CommandSender, ChunkListener, IPlayer{
|
|||||||
return $this->flying;
|
return $this->flying;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the player's flight speed multiplier.
|
||||||
|
*
|
||||||
|
* Normal flying speed in blocks-per-tick is (multiplier * 10) blocks per tick.
|
||||||
|
* When sprint-flying, this is doubled to 20.
|
||||||
|
*
|
||||||
|
* If set to zero, the player will not be able to move in the xz plane when flying.
|
||||||
|
* Negative values will invert the controls.
|
||||||
|
*
|
||||||
|
* Note: Movement speed attribute does not influence flight speed.
|
||||||
|
*
|
||||||
|
* @see Player::DEFAULT_FLIGHT_SPEED_MULTIPLIER
|
||||||
|
*/
|
||||||
|
public function setFlightSpeedMultiplier(float $flightSpeedMultiplier) : void{
|
||||||
|
if($this->flightSpeedMultiplier !== $flightSpeedMultiplier){
|
||||||
|
$this->flightSpeedMultiplier = $flightSpeedMultiplier;
|
||||||
|
$this->getNetworkSession()->syncAbilities($this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the player's flight speed multiplier.
|
||||||
|
*
|
||||||
|
* Normal flying speed in blocks-per-tick is (multiplier * 10) blocks per tick.
|
||||||
|
* When sprint-flying, this is doubled to 20.
|
||||||
|
*
|
||||||
|
* If set to zero, the player will not be able to move in the xz plane when flying.
|
||||||
|
* Negative values will invert the controls.
|
||||||
|
*
|
||||||
|
* @see Player::DEFAULT_FLIGHT_SPEED_MULTIPLIER
|
||||||
|
*/
|
||||||
|
public function getFlightSpeedMultiplier() : float{
|
||||||
|
return $this->flightSpeedMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
public function setAutoJump(bool $value) : void{
|
public function setAutoJump(bool $value) : void{
|
||||||
if($this->autoJump !== $value){
|
if($this->autoJump !== $value){
|
||||||
$this->autoJump = $value;
|
$this->autoJump = $value;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user