Merge branch 'stable'

# Conflicts:
#	changelogs/3.14.md
#	resources/vanilla
#	src/VersionInfo.php
#	src/entity/Attribute.php
This commit is contained in:
Dylan K. Taylor 2020-07-08 11:46:02 +01:00
commit da798817b5
6 changed files with 34 additions and 4 deletions

25
changelogs/3.14.md Normal file
View File

@ -0,0 +1,25 @@
**For Minecraft: Bedrock Edition 1.16.0**
### Note about API versions
Plugins which don't touch the protocol and compatible with any previous 3.x.y version will also run on these releases and do not need API bumps.
Plugin developers should **only** update their required API to this version if you need the changes in this build.
**WARNING: If your plugin uses the protocol, you're not shielded by API change constraints.** You should consider using the `mcpe-protocol` directive in `plugin.yml` as a constraint if you do.
# 3.14.0
- Added support for Minecraft: Bedrock Edition 1.16.0.
- Removed compatibility with 1.14.60.
## Known issues (please don't open issues for these)
- Walls don't connect to each other
- Pumpkin and melon stems may not connect to their corresponding pumpkin/melon
- New blocks, items & mobs aren't implemented
- Nether doesn't exist
# 3.14.1
- All skins are now trusted, bypassing the client-side trusted skin setting. Note that this means that NSFW skin filtering will **not** apply.
- Fixed projectile motion being altered by ladders.
- Fixed client-sided crashes when pressing E repeatedly very quickly on a high-latency connection.
- `/plugins`, `/whitelist list`, `/banlist` and `/list` now show output in alphabetical order.
- Some `pocketmine\event` APIs which accept arrays now have more robust type checking, fixing type errors caused by plugin input occurring in core code.
- `Attribute::getAttributeByName()` is now aware of the `minecraft:lava_movement` attribute.

View File

@ -46,6 +46,7 @@ class Attribute{
public const FALL_DAMAGE = self::MC_PREFIX . "fall_damage";
public const HORSE_JUMP_STRENGTH = self::MC_PREFIX . "horse.jump_strength";
public const ZOMBIE_SPAWN_REINFORCEMENTS = self::MC_PREFIX . "zombie.spawn_reinforcements";
public const LAVA_MOVEMENT = self::MC_PREFIX . "lava_movement";
/** @var string */
protected $id;

View File

@ -48,6 +48,7 @@ final class AttributeFactory{
$this->register(Attribute::FALL_DAMAGE, 0.0, 340282346638528859811704183484516925440.0, 1.0);
$this->register(Attribute::HORSE_JUMP_STRENGTH, 0.0, 2.0, 0.7);
$this->register(Attribute::ZOMBIE_SPAWN_REINFORCEMENTS, 0.0, 1.0, 0.0);
$this->register(Attribute::LAVA_MOVEMENT, 0.0, 340282346638528859811704183484516925440.0, 0.02);
}
public function get(string $id) : ?Attribute{

View File

@ -55,6 +55,9 @@ class TaskHandler{
private $ownerName;
public function __construct(Task $task, int $taskId, int $delay = -1, int $period = -1, ?string $ownerName = null){
if($task->getHandler() !== null){
throw new \InvalidArgumentException("Cannot assign multiple handlers to the same task");
}
$this->task = $task;
$this->taskId = $taskId;
$this->delay = $delay;

View File

@ -153,12 +153,12 @@ class MainLogger extends \AttachableThreadedLogger implements \BufferedLogger{
$this->buffer(function() use ($e, $trace) : void{
$this->critical(self::printExceptionMessage($e));
foreach(Utils::printableTrace($trace) as $line){
$this->debug($line, true);
$this->critical($line);
}
for($prev = $e->getPrevious(); $prev !== null; $prev = $prev->getPrevious()){
$this->debug("Previous: " . self::printExceptionMessage($prev), true);
$this->critical("Previous: " . self::printExceptionMessage($prev));
foreach(Utils::printableTrace($prev->getTrace()) as $line){
$this->debug(" " . $line, true);
$this->critical(" " . $line);
}
}
});

View File

@ -38,7 +38,7 @@ class CheckTestCompletionTask extends Task{
$test = $this->plugin->getCurrentTest();
if($test === null){
if(!$this->plugin->startNextTest()){
$this->plugin->getScheduler()->cancelTask($this->getHandler()->getTaskId());
$this->getHandler()->cancel();
$this->plugin->onAllTestsCompleted();
}
}elseif($test->isFinished() or $test->isTimedOut()){