問題タブ [pocketmine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
653 参照

php - 多次元配列を箇条書きで表示

次のことを行う再帰関数の設計について助けが必要です。

  1. 多次元配列を再帰的に表示します
  2. <ul>やなどの箇条書きを使用する必要があります<li>
  3. テキストはドキュメントにリンクしている必要があります。たとえば、テキスト「1.こんにちは」は、ディレクトリ構造 (配列構造) を維持したままリダイレクトされます。ただし、テキストは再帰的に表示する必要があります。

入力となる配列は、ディレクトリ階層の多次元配列になります。入力:

最初の出力は次のようになります

  • ポケットマイン
    • チュートリアル
      • 1.はじめに

ただし、「1.はじめに」は「whateverURL/pocketmine/tutorial/1.はじめに」にリンクする必要があります。

これを次のように表示する必要があります(たとえば)

事前にご協力いただきありがとうございます。

0 投票する
3 に答える
733 参照

python - Python で PocketMine プラグインを作成することは可能ですか?

Python で PocketMine にプラグインを作成することはできますか? そうでない場合、何か方法はありますか?

0 投票する
1 に答える
179 参照

php - php - オブジェクトを含む配列を保存する

PocketMine API (Web 用ではない) を使用しており、複数の配列を格納して配列を返す関数を実行しましたpocketmine\item\Item

これは、オブジェクトを格納する配列と考えることができます。

基本的に、私がする必要があるのは、この配列を保存することですが、そのままの形ではありません。(オブジェクトを含む配列。) 試しserialize()てみjson_encode()ました。私の状況では、これらのどちらも機能しません。

これを行う方法はありますか?ありがとう。

0 投票する
1 に答える
278 参照

php - PocketMine プラグインでローカライズされた説明を含むコマンドを作成するには?

プラグインで PocketMine API を使用して、翻訳された説明または使用法でコマンドを作成する方法は?

通常のコマンドでは、 などの変換コードの文字列%pocketmine.command.help.descriptionが渡されます。これらは元の PocketMine の lang ファイルへの参照であり、プラグインはそれらを変更できません。

プレーヤーが を実行する/helpと、クラスは の結果をヘルプ クライアントの出力形式とHelpCommand連結します。Command::getDescription()次に、 に渡されPlayer::sendMessage、 に文字列が渡され、BaseLang::translateString次にに渡され、BaseLang::parseTranslationの出現箇所で内部的に翻訳が検索され/%[a-zA-Z0-9\.\-]+/ます。BaseLangこのプロセスでは、サーバーを交換しない限り、何も追加できません。

0 投票する
1 に答える
110 参照

php - この私有財産へのアクセスを本当に制限することは可能ですか?

私は私の試みで3つのトリックを使用しています:

  • リフレクションは動的クラス プロパティでは使用できません
  • 動的クラス プロパティにアクセスするときは、__get() または __set() を呼び出す必要があります。
  • debug_backtrace() を利用して、次のようなものをエミュレートできますprivate

Fooプライベートな非静的プロパティを持つクラスの場合、外部のスコープがその値を変更すること$barを禁止したいと考えています。$thisしたがって、私はこのようにしています:

これは (テストされていませんが) 3 種類のアクセスに対して無敵である必要があります。

  • 直接アクセス
    • debug_backtrace() は、呼び出しコンテキストが $this からのものかどうかをチェックします。$this の外への直接アクセスは許可されません。
  • 反射プロパティ
    • PHP の致命的なエラー: キャッチされていない ReflectionException: プロパティ バーが存在しません
    • リフレクションは動的プロパティでは機能しません。その存在を検出することすらありませんReflectionClass::hasProperty():-)
  • Closure::bind
    • テストされていませんが、 debug_backtrace() はFILEとは異なる「ファイル」を返す必要があると思いますが、クロージャを定義したファイルを返します。私は の正しい使い方しか持ってFooいないので、正しいコードがロードされている限り気にしません。

ファイルを書き込む権限がなく、クラス メソッドを再定義する拡張機能がないが、任意の PHP コードを読み込むことができると仮定すると、このFoo->barプロパティを変更するメソッドはありますか?