[Spigot 1.12.2] ItemCommands+ Ver.1.1 アイテムクリックでコマンド実行!

サーバーMODやBUKKITのプラグインなどの公開/紹介を専門に行うフォーラムです。クライアントMODと組み合わせ必須の物はMOD公開/紹介フォーラムで公開してください。
フォーラムルール
クライアントMODと対にして使用する物は極力 MOD 公開/紹介 フォーラムにて公開するようお願いします。
本フォーラムではサーバーへの適用をメインとするサーバーMOD、プラグインを取り扱います。
不明な点は管理人ecolightまでお問い合わせ下さい。
  • (PostNo.310560)

[Spigot 1.12.2] ItemCommands+ Ver.1.1 アイテムクリックでコマンド実行!

投稿記事by amata1219 » 2017年11月20日(月) 20:46

画像

ダウンロード

Spigot 1.12.2 ItemCommands+ Ver.1.1.zip
Spigot 1.12.2 ItemCommands+ Ver.1.1
(21.44 KiB) ダウンロード数: 11 回

不具合が発生する可能性があるため更新させて頂きました。yuttyann44581様、ご報告ありがとうございました。


概要

特定のアイテムクリック時にコマンドを実行させるシステムを追加するプラグインです。
任意でパーミッション判定無しにコマンドを実行させる事も出来ます。

特徴

・実質無限にコマンド埋め込みアイテムを追加可能。
・クールダウンや消費の指定可能。
・クリックしたのは空気中か、若しくはブロックか、それともエンティティか、左右どちらの入力か等の条件指定可能。
・埋め込んだコマンドに実行時に取得した一部情報を置換可能。

コマンド一覧

・/ic+
- 本プラグインの詳細を表示します。

・/ic+ commands
- 本プラグインのコマンド一覧を表示します。

・/ic+ add [name]
- 手に持ったアイテムを指定した名前で登録します。

・/ic+ remove [name]
- 指定した名前で登録されている情報を削除します。

・/ic+ edit [name] [permission/normalClick/entityClick/remove/cooldown/cancelMessage/normalClickActions/entityClickActions/command]
- 登録されたアイテム情報を編集します。使用方法は下記Edit使用方法をご参照下さい。ゲーム内では[ /ic+ edit ]で使用方法を確認出来ます。

・/ic+ list
- 全登録名を表示します。

・/ic+ backup
- コンフィグをバックアップします。データは[plugins/ItemCommandPlus/現在のミリ秒時間.yml]として保存されます。

・/ic+ reload
- コンフィグをリロードします。/ic+ edit コマンドを使用して値を書き換えた場合は実行する必要はありません。

コマンド埋め込みアイテム登録方法

・任意のアイテムを手に持ち[ /ic+ add [name] ]とコマンドを実行して下さい。
- 空気は登録出来ません。また、メインハンドが空の場合オフハンドのアイテムが対象となります。両手が空の場合は登録されません。

・[ ic+ edit [name] [permission/normalClick/entityClick/remove/cooldown/cancelMessage/normalClickActions/entityClickActions/command ]で指定したアイテム情報を編集します。
アイテム情報はコンフィグに保存されます。使用方法は下記Edit使用方法をご参照下さい。

Edit使用方法(アイテム情報の編集)

・/ic+ edit [name] permission [permission/null]
- アイテムを使用出来る権限を指定します。値を削除するにはnullと入力して下さい。デフォルト値はnull(未指定)です。

・/ic+ edit [name] normalClick [true/false]
- 通常クリック時にアイテムを使用するか選択します。trueで有効、falseで無効です。デフォルト値はtrue(有効)です。

・/ic+ edit entityClick [true/false]
・エンティティクリック時にアイテムを使用するか選択します。trueで有効、falseで無効です。デフォルト値はfalse(無効)です。

・/ic+ edit [name] cooldown [second]
- クールダウンタイムを指定します。値を削除するには0を指定して下さい。デフォルト値は0です。

・/ic+ edit [name] cancelMessage [message/null]
- クールダウン中にアイテムを使用しようとした場合送信するメッセージを指定します。値を削除するにはnullと入力して下さい。デフォルト値はnull(未指定)です。値がnullの場合はコンフィグに記述されているデフォルトのキャンセルメッセージが送信されます。

・/ic+ edit [name] remove [true/false]
- アイテム使用時に消費するか選択します。trueで有効、falseで無効です。デフォルト値はfalse(無効)です。

・/ic+ edit [name] normalClickActions [add/remove/list] [RIGHT_CLICK_AIR/RIGHT_CLICK_BLOCK/LEFT_CLICK_AIR/LEFT_CLICK_BLOCK/all]
- 通常クリック時の条件を編集します。AIRは空中、BLOCKはブロックをクリックした場合を指します。allを指定すると4条件全てが対象となります。listで指定中の条件一覧を表示します。デフォルト値はnull(未指定)です。

・/ic+ edit [name] entityClickActions [add/remove/list] [RIGHT_CLICK/LEFT_CLICK/all]
- エンティティクリック時の条件を編集します。allを指定すると両条件が対象となります。listで指定中の条件一覧を表示します。デフォルト値はnull(未指定)です。

・/ic+ edit [name] command [add/remove/list] [console/operator/player]
[command]

- クリック時に実行するコマンドを編集します。コマンド送信者の指定は、console(コンソールから実行)、operator(権限の有無に拘わらず実行)、player(権限判定有りの実行)を選択出来ます。listで登録中のコマンド一覧を表示します。なお、登録コマンドにはコマンド実行時に取得した一部情報に置換するプレースホルダを使用出来ます。詳細は下記プレースホルダ一覧をご参照下さい。

プレースホルダ一覧と使用方法

・[name]
- アイテム使用者名に置換します。※コマンド一覧に記述されている[name]とは別物です。
・[target]
- クリックしたエンティティ名に置換します。エンティティが存在しない場合はプレースホルダは削除されます。
・[p_loc:x]
- アイテム使用者のX座標に置換します。Y座標、Z座標も同じ要領で指定可能です。
・[b_loc:x]
- クリックしたブロックのX座標に置換します。Y座標、Z座標も同じ要領で指定可能です。ブロックが存在しない場合はプレースホルダは削除されます。

パーミッション

・/ic+ コマンドのパーミッション
コード: 全て選択
item.commands.plus.icplus


利用規約

本プラグインの二次配布及び自作発言は禁止します。
また、本プラグインに関連して直接的又は間接的に被った損害につきましては一切責任を負いませんのでご了承下さい。

導入方法

・ページトップダウンロードボタンよりファイルダウンロード後、解凍してサーバーのpluginsフォルダに入れて下さい。
・サーバー起動後、自動でコンフィグファイルが生成されます。

バージョン情報

Spigot 1.12.2
ItemCommands+ 1.0

開発環境

Eclipse 4.6 NEON
Java 1.8

更新履歴

2017/11/20 Spigot 1.12.2 ItemCommands+ Ver.1.0 公開!

2017/11/21 Spigot 1.12.2 ItemCommands+ Ver.1.1(不具合修正版) 更新!

ソースコード

本プラグインのソースコードはGithub-ItemCommands+にて公開しております。

その他

不具合やご不明な点等ありましたら当トピック若しくはTwitter@amata1219のDMまでお問い合わせ下さい。
機能やプレースホルダ追加等も検討しておりますので、これからの進展に是非ご期待頂ければと思います。
最後に編集したユーザー amata1219 [ 2017年12月10日(日) 11:47 ], 累計 6 回
アバター
amata1219
ID:73846743
木を殴ってる
 
記事: 32
登録日時: 2016年11月18日(金) 16:46
お住まい: 愛知県

  • (PostNo.310584)

Re: [Spigot 1.12.2] ItemCommands+ Ver.1.0 アイテムクリックでコマンド実行!

投稿記事by yuttyann44581 » 2017年11月21日(火) 11:14

ソースコードを見て、気になったところがあったので、言います。

EventListeners の 129行
コード: 全て選択
if (item.isRemove())itemStack.setAmount(itemStack.getAmount() - 1);

の部分ですが0以下の場合 AIR を指定してあげないとアイテムが消えませんよ。
コード: 全て選択
if (item.isRemove()) {
   int result = itemStack.getAmount() - 1;
   if (result > 0) {
     itemStack.setAmount(result);
   } else {
     itemStack.setType(Material.AIR);
   }
}

一応プラグインを起動して確認しました。

確認作業GIF: https://gyazo.com/0c4c7c8e17905896b124292090024834
配布プラグイン一覧: https://file.yuttyann44581.net/
「Kuwaty Server」の運営をしております。
Java、C#で何かを作ってたり....
ScriptBlockPlus
画像
アバター
yuttyann44581
ID:ce21883a
鉄鉱掘り
 
記事: 330
登録日時: 2013年6月27日(木) 00:07
お住まい: 茨城県のどこか

  • (PostNo.310591)

Re: [Spigot 1.12.2] ItemCommands+ Ver.1.0 アイテムクリックでコマンド実行!

投稿記事by amata1219 » 2017年11月21日(火) 19:51

yuttyann44581 さんが書きました:ソースコードを見て、気になったところがあったので、言います。

EventListeners の 129行
コード: 全て選択
if (item.isRemove())itemStack.setAmount(itemStack.getAmount() - 1);

の部分ですが0以下の場合 AIR を指定してあげないとアイテムが消えませんよ。
コード: 全て選択
if (item.isRemove()) {
   int result = itemStack.getAmount() - 1;
   if (result > 0) {
     itemStack.setAmount(result);
   } else {
     itemStack.setType(Material.AIR);
   }
}

一応プラグインを起動して確認しました。

確認作業GIF: https://gyazo.com/0c4c7c8e17905896b124292090024834


yuttyann44581さん、不具合のご指摘ありがとうございます。
こちらでも確認しましたが同様の症状は見受けられませんでした。
環境の違い等何か別の原因があるのでしょうか…?

一応こちらの環境を記載させて頂きます。
Server: Spigot 1.12.2 メモリ割り当て1G
Plugin: ItemCommands+のみ導入
Client: Minecraft 1.12.2
GameMode: Survival
PC: Windows 10 Home 64bit Intel(R) Core(TM) i7-6700HQ @ CPU 2.6GHz RAM 4.00GB

Item: 上位金リンゴ, Permission null, NormalClick true, EntityClick false, Cooldown 0, CancelMessage null, Remove true, NormalClickActions RIGHT_CLICK_AIR, EntityClickActions 未指定, Commands [operator] say hello


念の為、本日中にコード修正版に更新させて頂きます。
ご報告ありがとうございました。
最後に編集したユーザー amata1219 [ 2017年11月26日(日) 14:55 ], 累計 1 回
アバター
amata1219
ID:73846743
木を殴ってる
 
記事: 32
登録日時: 2016年11月18日(金) 16:46
お住まい: 愛知県

  • (PostNo.310592)

Re: [Spigot 1.12.2] ItemCommands+ Ver.1.0 アイテムクリックでコマンド実行!

投稿記事by amata1219 » 2017年11月21日(火) 20:09

Spigot 1.12.2 ItemCommands+ Ver.1.1(不具合修正版) 更新のお知らせ

アイテム数が残り1個の状態でアイテムを使用した場合、消費判定処理が正常に動作しない不具合を報告頂いたため修正しました。
アバター
amata1219
ID:73846743
木を殴ってる
 
記事: 32
登録日時: 2016年11月18日(金) 16:46
お住まい: 愛知県


Return to サーバーMOD,プラグイン 公開/紹介

x