Densyakunのブログ

Qiitaもやってます: https://qiita.com/Densyakun

【Spigot】Bukkitプラグインの作り方講座

【Spigot】Bukkitプラグインの作り方講座 – プレイヤーの移動と回転の検出

今回は、プレイヤーの移動と回転を検出する方法を紹介します。 ※バージョン1.16時点の情報です。異なるバージョンでは対応できない場合があります。 PlayerMoveEvent できること プレイヤーの移動と回転をキャンセルする 移動だけできないようにする(回転は…

【Spigot】Bukkitプラグインの作り方講座 - プラグインの作成(IntelliJ IDEA)

今回は実際に簡単なプラグインを作成します。 この作業はプラグインごとに行いますので、覚えてください。 プロジェクトの作成 ビルド設定 プラグインの設定 Jarファイルを作成する Gradleを日本語のコードに対応する プラグインを導入する プロジェクトの作…

【Spigot】Bukkitプラグインの作り方講座 - 開発環境の構築(Intellij IDEA)

今回はIntelliJ IDEAを使った開発環境の IntelliJ IDEA のダウンロード、インストール Minecraft Development のインストール Spigotサーバーを立てる Spigotサーバーをダウンロード サーバーをたてる準備 batファイルを作成する サーバーを起動する Intelli…

【Spigot】Bukkitプラグインの作り方講座 - サーバーの操作とConsoleCommandSender

サーバー オフラインプレイヤーとオンラインプレイヤー BANリスト サーバーの情報 ConsoleCommandSender サーバー サーバーはJavaPluginのgetServer()で取得できます。 getServer().addRecipe(Recipe)でレシピを追加したり、 getServer().banIP("192.168.1.1…

【Spigot】Bukkitプラグインの作り方講座 - メッセージに色や装飾を付けるChatColor

メッセージに色や装飾を付けるChatColor @EventHandler public void onEntityDamageByEntity(EntityDamageByEntityEvent e) { e.getDamager().sendMessage(ChatColor.RED + "いたいよ~"); } 以上のコードでは、エンティティがエンティティにダメージを与え…

【Spigot】Bukkitプラグインの作り方講座 - 他のプラグインとの連携

外部プラグインとの連携 IntelliJ IDEAでの設定(Gradle) 必須プラグインの設定 プラグインを読み込む順序 外部プラグインとの連携 例えば、「経済プラグインと連携したい」と言った場合など、 プラグインなどをAPIとして利用して連携したい場合があります…

【Spigot】Bukkitプラグインの作り方講座 - CraftBukkitの利用と複数のバージョンに対応させる方法

CraftBukkitの利用と複数のバージョンに対応させる方法 ここらへんは少し難しい話になります。 Bukkit、Spigotではクラスではなくインターフェースが多用されていますが、 インターフェースということはそれを実装するクラスがあるということです。 実はそれ…

【Spigot】Bukkitプラグインの作り方講座 - ブロックの操作

ブロックのワールドを取得 ワールドの任意の場所のブロックを取得 ブロックの破壊 ブロックのワールドを取得 ブロックのワールドを取得します ワールドの任意の場所のブロックを取得 ワールドの任意の場所のブロックを取得します。 world.getBlockAt(x,y,z) …

【Spigot】Bukkitプラグインの作り方講座 - インベントリにアイテムを入れる

インベントリを持っているエンティティにはInventoryHolderインターフェースが継承されています。 InventoryHolderインターフェースを持っているのはエンティティだけではなく、チェストなどのブロックにもあります。 ``` @EventHandler public void onInven…

【Spigot】Bukkitプラグインの作り方講座 - はじめに

Bukkitプラグインとは Bukkitとは、ゲーム「Minecraft」のサーバーModの一つ。 Bukkitには、プラグインを入れることで通常の「バニラサーバー」では出来ない機能を追加できる。 プラグインはModのようにブロックやアイテムを追加することは出来ない。 2017年…

【Spigot】Bukkitプラグインの作り方講座 - テレポート、ベクトル操作

今回は、エンティティを移動します。 エンティティをテレポートさせる ベクトルを操作して、移動させる エンティティをテレポートさせる エンティティをテレポートさせるには、 entity.teleport(entity) entity.teleport(location) を使います。 引数にEntit…

【Spigot】Bukkitプラグインの作り方講座 - ダメージを与える

今回はEventシステムを使って、エンティティにダメージを与えます。 エンティティにダメージを与える エンティティにダメージを与える Entity entity = e.getEntity(); if (entity instanceof LivingEntity) { double damage = 1.0; ((LivingEntity) entity)…

【Spigot】Bukkitプラグインの作り方講座 - ダメージの制御

今回はEventシステムを使って、エンティティのダメージを制御します。 エンティティのダメージを制御する エンティティのダメージを制御する @EventHandler public void onEntityDamage(EntityDamageEvent e) { double damage = e.getDamage(); e.setDamage(…

【Spigot】Bukkitプラグインの作り方講座 - Eventシステムの利用

Eventシステムとは、「プレイヤーがログインした」、「ブロックが破壊された」、「エンティティがダメージを受けた」などといったイベント発生時に行う処理を記載できます。 Eventシステムを使う Eventシステムの活用 Eventシステムを使う まず、org.bukkit.…

【Spigot】Bukkitプラグインの作り方講座 - 記事一覧

こんにちは、Densyakunです。 いつも見ていただきありがとうございます。 Bukkitプラグインの作り方講座では、 Bukkitプラグイン(以下、プラグイン)の作り方について、 初心者に分かりやすく解説しています。 記事一覧 基礎編 はじめに 開発環境の構築(In…

【Spigot】Bukkitプラグインの作り方講座 - プラグインの作成(Eclipse)

Bukkitプラグインを作る プロジェクトの作成 ビルドパスの設定 パッケージの作成 クラスの作成 plugin.ymlの作成 Jarファイルの作成 プラグインを動かす おわりに Bukkitプラグインを作る 次に、実際に「Bukkitプラグイン」を作っていきます。 この手順はプ…

【Spigot】Bukkitプラグインの作り方講座の今後について

こんにちは、電車君です。 Bukkitプラグインの作り方講座ですが、 今まで「第n回」という形式でやっておりましたが、内容ごとに記事を分けることにしました。 2年ほど前から第3回で止まっており、第5回まで下書きにずっとあったのですが、 放置していました…

【Spigot】Bukkitプラグインの作り方講座 - エンティティの種類

エンティティの種類 エンティティには種類があり、用途やバージョンによって使い方が異なる場合があるため、注意が必要です。 エンティティは全て、Entityインターフェース(org.bukkit.entity.Entity)とそれを継承したインターフェースです。 また、Entity…

【Spigot】Bukkitプラグインの作り方講座 - コマンドの追加と権限

コマンドの追加 プラグインの権限 コマンドの処理 CommandExecutorを使った場合 メインクラスにonCommandを書く場合 コマンド以外の権限について コマンドの追加 コマンドを追加する方法は二種類あります。 plugin.ymlを編集する方法と、プログラムで動的に…

【Spigot】Bukkitプラグインの作り方講座 - 開発環境の構築(Eclipse)

今回は最初に、Bukkitプラグインの開発環境を構築します。 Bukkitプラグインはプログラミング言語「Java」で出来ています。 今回は、Javaの統合開発環境(IDE)で有名な「Eclipse」を使用します。 注意 この講座ではWindowsでの方法について解説しています。…