Merge remote-tracking branch 'origin/minor-next' into major-next

This commit is contained in:
Dylan K. Taylor
2025-10-08 22:13:01 +01:00
7 changed files with 84 additions and 12 deletions

View File

@@ -42,7 +42,7 @@
"pocketmine/callback-validator": "dev-rewrite", "pocketmine/callback-validator": "dev-rewrite",
"pocketmine/color": "^0.3.0", "pocketmine/color": "^0.3.0",
"pocketmine/errorhandler": "^0.7.0", "pocketmine/errorhandler": "^0.7.0",
"pocketmine/locale-data": "~2.25.0", "pocketmine/locale-data": "~2.26.0",
"pocketmine/log": "^0.4.0", "pocketmine/log": "^0.4.0",
"pocketmine/math": "dev-major-next as 1.0.0", "pocketmine/math": "dev-major-next as 1.0.0",
"pocketmine/nbt": "~1.2.0", "pocketmine/nbt": "~1.2.0",

14
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "b7aa60ec084e9e7a07ec44f4106ece95", "content-hash": "65b59e25fafa99c7a989d28f89a91c44",
"packages": [ "packages": [
{ {
"name": "adhocore/json-comment", "name": "adhocore/json-comment",
@@ -472,16 +472,16 @@
}, },
{ {
"name": "pocketmine/locale-data", "name": "pocketmine/locale-data",
"version": "2.25.2", "version": "2.26.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/pmmp/Language.git", "url": "https://github.com/pmmp/Language.git",
"reference": "44727765ad43df5e2e24a54ae70a70607ec7d488" "reference": "f791369ae082fc5cdf0f2b0bd683e611ff7f90f6"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/pmmp/Language/zipball/44727765ad43df5e2e24a54ae70a70607ec7d488", "url": "https://api.github.com/repos/pmmp/Language/zipball/f791369ae082fc5cdf0f2b0bd683e611ff7f90f6",
"reference": "44727765ad43df5e2e24a54ae70a70607ec7d488", "reference": "f791369ae082fc5cdf0f2b0bd683e611ff7f90f6",
"shasum": "" "shasum": ""
}, },
"type": "library", "type": "library",
@@ -489,9 +489,9 @@
"description": "Language resources used by PocketMine-MP", "description": "Language resources used by PocketMine-MP",
"support": { "support": {
"issues": "https://github.com/pmmp/Language/issues", "issues": "https://github.com/pmmp/Language/issues",
"source": "https://github.com/pmmp/Language/tree/2.25.2" "source": "https://github.com/pmmp/Language/tree/2.26.0"
}, },
"time": "2025-10-03T22:34:06+00:00" "time": "2025-10-07T17:26:32+00:00"
}, },
{ {
"name": "pocketmine/log", "name": "pocketmine/log",

View File

@@ -877,7 +877,7 @@ class Server{
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error2())); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error2()));
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error3())); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error3()));
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error4(Yml::SETTINGS_ENABLE_DEV_BUILDS))); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error4(Yml::SETTINGS_ENABLE_DEV_BUILDS)));
$this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error5("https://github.com/pmmp/PocketMine-MP/releases"))); $this->logger->emergency($this->language->translate(KnownTranslationFactory::pocketmine_server_devBuild_error5(VersionInfo::GITHUB_URL . "/releases")));
$this->forceShutdownExit(); $this->forceShutdownExit();
return; return;
@@ -1099,7 +1099,23 @@ class Server{
$this->configGroup->save(); $this->configGroup->save();
$this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslatableName()))); $this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_defaultGameMode($this->getGamemode()->getTranslatableName())));
$this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_donate(TextFormat::AQUA . "https://patreon.com/pocketminemp" . TextFormat::RESET))); $highlight = TextFormat::AQUA;
$reset = TextFormat::RESET;
$github = VersionInfo::GITHUB_URL;
$splash = "\n\n";
foreach([
KnownTranslationFactory::pocketmine_server_url_discord("{$highlight}https://discord.pmmp.io{$reset}"),
KnownTranslationFactory::pocketmine_server_url_docs("{$highlight}https://doc.pmmp.io{$reset}"),
KnownTranslationFactory::pocketmine_server_url_sourceCode("{$highlight}{$github}{$reset}"),
KnownTranslationFactory::pocketmine_server_url_freePlugins("{$highlight}https://poggit.pmmp.io/plugins{$reset}"),
KnownTranslationFactory::pocketmine_server_url_donations("{$highlight}https://patreon.com/pocketminemp{$reset}"),
KnownTranslationFactory::pocketmine_server_url_translations("{$highlight}https://translate.pocketmine.net{$reset}"),
KnownTranslationFactory::pocketmine_server_url_bugReporting("{$highlight}{$github}/issues{$reset}")
] as $link){
$splash .= "- " . $this->language->translate($link) . "\n";
}
$this->logger->info($splash);
$this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_startFinished(strval(round(microtime(true) - $this->startTime, 3))))); $this->logger->info($this->language->translate(KnownTranslationFactory::pocketmine_server_startFinished(strval(round(microtime(true) - $this->startTime, 3)))));
$forwarder = new BroadcastLoggerForwarder($this, $this->logger, $this->language); $forwarder = new BroadcastLoggerForwarder($this, $this->logger, $this->language);

View File

@@ -34,6 +34,7 @@ final class VersionInfo{
public const BASE_VERSION = "5.35.1"; public const BASE_VERSION = "5.35.1";
public const IS_DEVELOPMENT_BUILD = true; public const IS_DEVELOPMENT_BUILD = true;
public const BUILD_CHANNEL = "stable"; public const BUILD_CHANNEL = "stable";
public const GITHUB_URL = "https://github.com/pmmp/PocketMine-MP";
/** /**
* PocketMine-MP-specific version ID for world data. Used to determine what fixes need to be applied to old world * PocketMine-MP-specific version ID for world data. Used to determine what fixes need to be applied to old world

View File

@@ -33,6 +33,7 @@ use pocketmine\world\sound\TridentThrowSound;
use function min; use function min;
class Trident extends Tool implements Releasable{ class Trident extends Tool implements Releasable{
private const DAMAGE_ON_THROW = 1;
public function getMaxDurability() : int{ public function getMaxDurability() : int{
return 251; return 251;
@@ -48,7 +49,12 @@ class Trident extends Tool implements Releasable{
$item = $this->pop(); $item = $this->pop();
if($player->hasFiniteResources()){ if($player->hasFiniteResources()){
$item->applyDamage(1); $item->applyDamage(self::DAMAGE_ON_THROW);
}
if($item->isNull()){
//canStartUsingItem() will normally prevent this, but it's possible the item might've been modified between
//the start action and the release, so it's best to account for this anyway
return ItemUseResult::FAIL;
} }
$entity = new TridentEntity(Location::fromObject( $entity = new TridentEntity(Location::fromObject(
$player->getEyePos(), $player->getEyePos(),
@@ -77,7 +83,7 @@ class Trident extends Tool implements Releasable{
} }
public function canStartUsingItem(Player $player) : bool{ public function canStartUsingItem(Player $player) : bool{
return $this->damage < $this->getMaxDurability(); return $this->damage < $this->getMaxDurability() - self::DAMAGE_ON_THROW;
} }
public function onAttackEntity(Entity $victim, array &$returnedItems) : bool{ public function onAttackEntity(Entity $victim, array &$returnedItems) : bool{

View File

@@ -2863,6 +2863,48 @@ final class KnownTranslationFactory{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_TICKOVERLOAD, []); return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_TICKOVERLOAD, []);
} }
public static function pocketmine_server_url_bugReporting(Translatable|string $bugReportingUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_BUGREPORTING, [
"bugReportingUrl" => $bugReportingUrl,
]);
}
public static function pocketmine_server_url_discord(Translatable|string $discordUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_DISCORD, [
"discordUrl" => $discordUrl,
]);
}
public static function pocketmine_server_url_docs(Translatable|string $docsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_DOCS, [
"docsUrl" => $docsUrl,
]);
}
public static function pocketmine_server_url_donations(Translatable|string $donationsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_DONATIONS, [
"donationsUrl" => $donationsUrl,
]);
}
public static function pocketmine_server_url_freePlugins(Translatable|string $pluginsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_FREEPLUGINS, [
"pluginsUrl" => $pluginsUrl,
]);
}
public static function pocketmine_server_url_sourceCode(Translatable|string $sourceUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_SOURCECODE, [
"sourceUrl" => $sourceUrl,
]);
}
public static function pocketmine_server_url_translations(Translatable|string $translationsUrl) : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_SERVER_URL_TRANSLATIONS, [
"translationsUrl" => $translationsUrl,
]);
}
public static function pocketmine_plugins() : Translatable{ public static function pocketmine_plugins() : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_PLUGINS, []); return new Translatable(KnownTranslationKeys::POCKETMINE_PLUGINS, []);
} }

View File

@@ -616,6 +616,13 @@ final class KnownTranslationKeys{
public const POCKETMINE_SERVER_START = "pocketmine.server.start"; public const POCKETMINE_SERVER_START = "pocketmine.server.start";
public const POCKETMINE_SERVER_STARTFINISHED = "pocketmine.server.startFinished"; public const POCKETMINE_SERVER_STARTFINISHED = "pocketmine.server.startFinished";
public const POCKETMINE_SERVER_TICKOVERLOAD = "pocketmine.server.tickOverload"; public const POCKETMINE_SERVER_TICKOVERLOAD = "pocketmine.server.tickOverload";
public const POCKETMINE_SERVER_URL_BUGREPORTING = "pocketmine.server.url.bugReporting";
public const POCKETMINE_SERVER_URL_DISCORD = "pocketmine.server.url.discord";
public const POCKETMINE_SERVER_URL_DOCS = "pocketmine.server.url.docs";
public const POCKETMINE_SERVER_URL_DONATIONS = "pocketmine.server.url.donations";
public const POCKETMINE_SERVER_URL_FREEPLUGINS = "pocketmine.server.url.freePlugins";
public const POCKETMINE_SERVER_URL_SOURCECODE = "pocketmine.server.url.sourceCode";
public const POCKETMINE_SERVER_URL_TRANSLATIONS = "pocketmine.server.url.translations";
public const POCKETMINE_PLUGINS = "pocketmine_plugins"; public const POCKETMINE_PLUGINS = "pocketmine_plugins";
public const POCKETMINE_WILL_START = "pocketmine_will_start"; public const POCKETMINE_WILL_START = "pocketmine_will_start";
public const PORT_WARNING = "port_warning"; public const PORT_WARNING = "port_warning";