プラグインサンプルコード紹介プラグインサンプルコードhttp://pmmp.ga/d/%a5%d7%a5%e9%a5%b0%a5%a4%a5%f3%a5%b5%a5%f3%a5%d7%a5%eb%a5%b3%a1%bc%a5%c9から引用しました。正しく動作しない場合はコメント欄でお知らせください。ご意見・ご要望などがありましたら、コメント枠にてコメントしていただけると幸いです。以下のimport文が必要です。eventにはeventオブジェクトが入っている状態です。eventにはeventオブジェクトが入っている状態です。event.getEntity();Entityオブジェクトから取得して、getNameなどをする場合は必ずPlayerオブジェクトか確認しないとクラッシュします。//プレイヤーだった場合の処理}コマンド処理から取得コマンド処理の場合、すでにsenderに送信したプレイヤーのデータが入っています。コンソールなどから実行した場合もありますので、必ずプレイヤーオブジェクトか確認してください。"理由");//kickの使用を推奨します。event);//1番目の引数にダメージ数を、2番目にEntityDamageEventが必要です(EntityDamageEventについては省略)player.setOnFire(10);//プレイヤーを燃やす(秒数)player.setOp(true);//権限を付与する(引数をfalseにすることで剥奪できます)player.setWhitelisted(true);//プレイヤーをホワイトリストに追加(引数をfalseにすることで削除できます)player.setAllowFlight(true);//クリエイティブモードのような飛行できるように(引数をfalseでクリエイティブでも飛べなくなります)player.setAutoJump(true);//オートジャンプができるように(引数をfalseでオートジャンプができなくなる)player.setNameTag("名前");//プレイヤーの上に表示される名前を変更player.setDisplayName("名前");//チャットをした時に表示される名前を変更player.save();//プレイヤー情報をセーブプレイヤーにダメージを与える以下のコードが必要です。以下のコードが必要です。以下のコードが必要です。以下のコードが必要です。//できない}プレイヤーに革装備をセット以下のコードが必要です。cn.nukkit.item.Item;player.getInventory().setArmorItem(0,Item.get(298,0,1));//ヘルメットplayer.getInventory().setArmorItem(1,Item.get(299,0,1));//チェストプレートplayer.getInventory().setArmorItem(2,Item.get(300,0,1));//レギンスplayer.getInventory().setArmorItem(3,Item.get(301,0,1));//ブーツplayer.getInventory().sendArmorContents(player);//防具の変更を反映プレイヤーのリスポーン地点を変更する以下のコードが必要です。z座標);//座標を指定player.setSpawn(vector);//スポーンをセットプレイヤー全員に特定の処理をする以下のコードが必要です。//処理}プレーヤーをテレポートさせる以下のコードが必要です。Levelオブジェクト);//座標を指定player.teleport(pos);プレイヤーにエフェクトを付与、除去するEffectIdや効果などはステータス効果に載っています。※一部対応していないエフェクトがありますので、ご注意下さい。以下のコードが必要です。Effect.getEffect(1);//effectIDeffect.setDuration(30*20);//効果の時間*20effect.setAmplifier(0)//効果の強さeffect.setVisible(true);//パーティクルを表示するかどうかplayer.addEffect(effect);1行で書く場合player.addEffect(Effect.getEffect(1).setDuration(30*20).setAmplifier(0).setVisible(true));※EffectIDの指定はEffectクラスのオブジェクト定数で指定することを推奨します。//されていない場合}プレイヤーを動かす以下のコードが必要です。以下のコードが必要です。以下のコードが必要です。Server.getInstance().getLevelByName("ワールド名");//Levelオブジェクトの取得}Levelの読み込みthis.getServer().loadLevel("ワールド名");Levelのアンロードthis.getServer().unloadLevel(level);※ワールド名ではなくレベルオブジェクトを渡してください。givenになってしまいます。block);アイテムドロップ以下のコードが必要です。z座標);//座標を指定level.dropItem(vector,item);//アイテムをドロップする指定した地点を爆破する以下のコードが必要です。//Explosionオブジェクトの生成explosion.explode();看板の文字を取得する以下のコードが必要です。sign.getText();//テキストを取得}看板に文字をセットする以下のコードが必要です。sign.saveNBT();//データ(NBT)を保存}チェストのインベントリを操作する以下のコードが必要です。chest.saveNBT();//データ(NBT)を保存}特定の座標にサウンド(効果音)を再生する以下のコードが必要です。特定の座標にパーティクルを表示する以下のコードが必要です。Z座標);//座標//パーティクルオブジェクトの生成//※一部パーティクルで必要な引数が違う場合があります。クラスなどを参考にして合わせて下さい。以下のコードが必要です。以下のコードが必要です。言うメッセージが送信されます。senderにはコマンドを実行したプレイヤーのオブジェクトが入っています。//plugin.ymlに記載した使用方法がプレイヤーにメッセージとして送信されます。false;}パラメーターを使用するargs(配列)にはパラメーターが入っています。args[0]にすることでtestの部分を取得できます。args[1]にすると、293の部分も取得できます。//args[0]に値があるかの条件分岐ない場合はここで処理を中断します。//plugin.ymlに記載した使用方法がプレイヤーにメッセージとして送信されます。入れ食いサーバーサーバーを終了するthis.getServer().shutdown();サーバーをリロードするthis.getServer().reload();server.propertiesを取得するthis.getServer().getMotd();//サーバー名を取得this.getServer().getServerName();//getMotd()と同じthis.getServer().getPort();//サーバーのポートを取得this.getServer().hasWhitelist();//ホワイトリストがオンかオフかthis.getServer().getSpawnRadius();//ブロック破壊範囲を取得this.getServer().getMaxPlayers();//サーバーに入れる最大人数を取得this.getServer().getAllowFlight();//フライトが許可されているかthis.getServer().getGamemode();//デフォルトのゲームモードを取得this.getServer().getDefaultGamemode();//getGamemode()と同じthis.getServer().getForceGamemode();//ログイン時にデフォルトゲームモードに設定がオンかオフかthis.getServer().isHardcore();//死んだらBANがオンかオフかthis.getServer().getDifficulty();//ゲーム難易度を取得this.getServer().getLevelType();//ワールドのタイプを取得ops.txtを変更するops.txtに名前を追加this.getServer().addOp(name);ops.txtから名前を消去this.getServer().removeOp(name);white-list.txtを変更するwhite-list.txtに名前を追加this.getServer().addWhitelist(name);white-list.txtから名前を消去this.getServer().removeWhitelist(name);white-list.txtをリロードするthis.getServer().reloadWhitelist();その他entityIdからentityオブジェクトを取得する(取得できなかった場合、nullが返されます)恐らく使わないと思いますが、一応。"string";//表示するアイテム名を入れるitem.setCustomName(name);追加srcの一部から取得した情報です。間違っていたら申し訳ありません。cn.nukkit.item.enchantment.Enchanement以上のimportが必要です。15:44getMetadata()ではなく、getDamage()です。14:56プレイヤーが持っているアイテムを取得するコードを追加してください。パケット読み方を頑張る編#3こんにちは、皆に愛されるはにおかさいです。人生に迷いすぎて精神崩壊しそうです。今回は、パケットの読み方を頑張ります。日本語の情報が少ないpocketmine-mpのプラグイン。私が興味をもったプラグインを紹介していきたいと思います。Pharファイルをwebで作る!解凍する!こんにちは、haniokasaiです。pharをいちいちdevtoolsで作ったり、展開したりするのが面倒な方に便利なツールを用意しました。var...nginxでライブストリーミング!nginx-rtmp-module生配信サーバーを構築してみたかったのですが、nginxのエクステンションでできることがわかって構築しました。12.04のパッケージのリポジトリを作ってみた。