【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.79477)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by fullmetal248 » 2013年2月12日(火) 02:26

こんばんは、現在Multiverse Coreというbukkitのプラグインを利用してのプラグイン開発をやっております
自分の開発しているプラグインにワールドをコピーする機能が必要だったため公式のjavadocを読みながら
試しにワールドをコピーする機能を実装しようとしたのですがうまくいきません(iにfalseが格納されます)
よろしければご教授お願いします
なおimport等は既に済んでいてeclipseではエラーがでない状態に持って行っています

コード: 全て選択
WorldManager wm = new WorldManager(new MultiverseCore());
MultiverseWorld world = wm.getMVWorld("world");
boolean i = wm.cloneWorld("world", "GT-world", null);
sender.sendMessage(String.valueOf(i));


javadoc:http://ci.onarandombox.com/job/Multiverse-Core/doxygen/index.html
Minecraft企画支援システム開発中!←似たようなもの開発した方がいたので断念
その代わりMcMDKに影響されてサーバプラグイン作成ソフト開発中

ドライな回答をすることもありますが基本的には怒ってはいないと思うよ
怒ってたら回答しないし

自分で考えてプログラムを書く事が習得への近道と考えているので、
質問されても基本的にヒントしか出しません。

bitbucketにもリポジトリ持ってるけど実名だしプライベートリポジトリのみなので秘密
fullmetal248
ID:7dc15ab8
大工さん
 
記事: 56
登録日時: 2013年2月12日(火) 02:14
お住まい: 静岡

  • (PostNo.79481)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by miyabi » 2013年2月12日(火) 02:48

既にGT-worldというworldが存在したりはしませんか?
ソースを見る限り、既に存在した場合はfalseで終了するようですが。

もし違うようであれば、以下の処理部分を見ながら、falseが帰ってくる条件に引っかかってないか確認すると良いと思います。
https://github.com/Multiverse/Multivers ... nager.java
マイクラサーバを立てる前に、PCの基礎知識を身につけましょう。
サーバ管理補助ツール MCSC(Windows専用) の開発をしてたり、Minecraft Modding Wikiの管理とかしてました(過去形)
アバター
miyabi
ID:502afd69
ブタ飼い
 
記事: 7340
登録日時: 2011年8月07日(日) 14:35
お住まい: さいたまさいたまさいたま!

  • (PostNo.79483)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by fullmetal248 » 2013年2月12日(火) 03:12

素早い回答ありがとうございます
GT-worldが無いことを確認しましたのでソースを読み解きながら一つ確認したいと思います
Minecraft企画支援システム開発中!←似たようなもの開発した方がいたので断念
その代わりMcMDKに影響されてサーバプラグイン作成ソフト開発中

ドライな回答をすることもありますが基本的には怒ってはいないと思うよ
怒ってたら回答しないし

自分で考えてプログラムを書く事が習得への近道と考えているので、
質問されても基本的にヒントしか出しません。

bitbucketにもリポジトリ持ってるけど実名だしプライベートリポジトリのみなので秘密
fullmetal248
ID:73d2526a
大工さん
 
記事: 56
登録日時: 2013年2月12日(火) 02:14
お住まい: 静岡

  • (PostNo.80306)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by Amazake » 2013年2月16日(土) 09:23

敵の体力を弄りたいのですが、
どのソースの、どこを弄ればいいのでしょうか?
1.4.7、eclipseで開発しています。公式マルチ用で、Bukkitに変換する予定です。
まだ、Forgeを導入しての開発もさっぱりなので、どのパッケージにソースを追加すればいいか、等、
出来れば詳しくお願いします。
Amazake
ID:ce03bbc3
水から上がったとこ
 
記事: 2
登録日時: 2013年1月25日(金) 03:50

  • (PostNo.80663)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by tsuttsu305 » 2013年2月17日(日) 19:34

Amazake さんが書きました:敵の体力を弄りたいのですが、
どのソースの、どこを弄ればいいのでしょうか?
1.4.7、eclipseで開発しています。公式マルチ用で、Bukkitに変換する予定です。
まだ、Forgeを導入しての開発もさっぱりなので、どのパッケージにソースを追加すればいいか、等、
出来れば詳しくお願いします。

言っている意味がよくわからない。
そもそもBukkitPluginではすでにあるソースを改造するということはほぼしない。
あなたが言っているのはMODでは?
アバター
tsuttsu305
ID:f2b05fe5
ダイヤモンド掘り
 
記事: 751
登録日時: 2011年10月18日(火) 17:49
お住まい: CloudFormationで建てたスタック

  • (PostNo.80898)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by nekopin » 2013年2月18日(月) 21:13

こんばんは。bukkitplugin開発をしています、ねこぴんです。
現在OPユーザーの取得を実装しようとしているのですが、どのようにして取得するのかがいまいちわかっていません。
getoperator()から取得するのは理解出来ました。

具体的には、パーミッション設定などを使わずに、adminコマンドを使えるプレイヤーをコマンドでセットしたいのですが、そこで初期設定をOPにしたいわけです。

言葉だけでは伝わらないかと思いますが、ご回答よろしくお願いいたします。
ねこぴん
nekopin
ID:2d07f809
木を殴ってる
 
記事: 21
登録日時: 2011年9月03日(土) 16:16

  • (PostNo.80969)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by syamn » 2013年2月19日(火) 04:52

nekopin さんが書きました:現在OPユーザーの取得を実装しようとしているのですが、どのようにして取得するのかがいまいちわかっていません。

こんばんは

コマンドを実行したユーザーがopか否かを判断するには、ServerOperatorインターフェースを実装しているクラスで、isOp()メソッドを使って判定することができます。
実際には、CommandSender.isOp(), Player.isOp() のどちらかを使うことになるでしょう。
コンソールがコマンドを実行した場合は常にtrueを、プレイヤーが実行した場合には、そのプレイヤーがopであればtrueを返します。
| SakuraServer Owner | MCBans Administration (Developer & Support rep) |
SakuraServer管理人、MCBansスタッフです。BukkitDevgithubでBukkitプラグイン開発をしています。

画像
アバター
syamn
ID:32c34e9d
石掘り
 
記事: 137
登録日時: 2012年1月27日(金) 11:28
お住まい: 徳島県

  • (PostNo.81013)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by nekopin » 2013年2月19日(火) 17:29

syamn さんが書きました:
nekopin さんが書きました:現在OPユーザーの取得を実装しようとしているのですが、どのようにして取得するのかがいまいちわかっていません。

こんばんは

コマンドを実行したユーザーがopか否かを判断するには、ServerOperatorインターフェースを実装しているクラスで、isOp()メソッドを使って判定することができます。
実際には、CommandSender.isOp(), Player.isOp() のどちらかを使うことになるでしょう。
コンソールがコマンドを実行した場合は常にtrueを、プレイヤーが実行した場合には、そのプレイヤーがopであればtrueを返します。


syamn様 
理解出来ました。早速実装してみようと思います。
ご回答どうもありがとうございました。
nekopin
ID:2d07f809
木を殴ってる
 
記事: 21
登録日時: 2011年9月03日(土) 16:16

  • (PostNo.81071)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by nekopin » 2013年2月19日(火) 21:15

続けて質問させていただきます。
あるプレイヤーのインベントリ内のアイテムの個数を取得したいのですが、どの変数・メソッドを使って取得したらいいかわかりません。
ご回答よろしくお願いいたします。
ねこぴん
nekopin
ID:2d07f809
木を殴ってる
 
記事: 21
登録日時: 2011年9月03日(土) 16:16

  • (PostNo.81578)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by syamn » 2013年2月22日(金) 12:16

nekopin さんが書きました:続けて質問させていただきます。
あるプレイヤーのインベントリ内のアイテムの個数を取得したいのですが、どの変数・メソッドを使って取得したらいいかわかりません。
ご回答よろしくお願いいたします。
ねこぴん

こちらをどうぞ http://jd.bukkit.org/rb/doxygen/d3/dad/ ... ntory.html

(Player)Inventoryインスタンスを取得するにはHumanEntity(Player)クラスのgetInventoryメソッドを使います
あとはInventoryそのものをIteratorで回すなり、getContentsメソッドでItemStackの配列を取得して拡張forで回すなりで、求めたい個数を出せばいいでしょう
| SakuraServer Owner | MCBans Administration (Developer & Support rep) |
SakuraServer管理人、MCBansスタッフです。BukkitDevgithubでBukkitプラグイン開発をしています。

画像
アバター
syamn
ID:32c34e9d
石掘り
 
記事: 137
登録日時: 2012年1月27日(金) 11:28
お住まい: 徳島県

  • (PostNo.81686)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by nekopin » 2013年2月22日(金) 21:44

syamn さんが書きました:
nekopin さんが書きました:続けて質問させていただきます。
あるプレイヤーのインベントリ内のアイテムの個数を取得したいのですが、どの変数・メソッドを使って取得したらいいかわかりません。
ご回答よろしくお願いいたします。
ねこぴん

こちらをどうぞ http://jd.bukkit.org/rb/doxygen/d3/dad/ ... ntory.html

(Player)Inventoryインスタンスを取得するにはHumanEntity(Player)クラスのgetInventoryメソッドを使います
あとはInventoryそのものをIteratorで回すなり、getContentsメソッドでItemStackの配列を取得して拡張forで回すなりで、求めたい個数を出せばいいでしょう

syamn様
このようなサイトがあったのですね。早速ブックマークしました。
続けてのご回答本当にありがとうございました。
ねこぴん
nekopin
ID:2d07f809
木を殴ってる
 
記事: 21
登録日時: 2011年9月03日(土) 16:16

  • (PostNo.82565)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by takuyan020 » 2013年2月27日(水) 11:34

Amazake さんが書きました:1.4.7対応のBukkitPluginを作成したいのですが、
ModdingWikiには「公式鯖用MOD」が必要と書いてあったので、
鯖用MODの開発を始めようかと思いましたが、
ModloaderMPが1.4.7対応していないので、
Moddingwikiのチュートリアル通りに進めないんです。
Forgeで代用しよう!と思いましたがエラーが出てコンパイルが通りません。
現状、MPが1.4.7対応するまで公式サーバー用MOD開発は不可能なのでしょうか?


Amazake さんが書きました:敵の体力を弄りたいのですが、
どのソースの、どこを弄ればいいのでしょうか?
1.4.7、eclipseで開発しています。公式マルチ用で、Bukkitに変換する予定です。
まだ、Forgeを導入しての開発もさっぱりなので、どのパッケージにソースを追加すればいいか、等、
出来れば詳しくお願いします。


遅レスなので見てないかも知れませんが、
他の人にも多少の参考になるかもしれませんので、返信させてもらいます


まず、ベースとなるサーバを何にするのか明確にした方が良いかと思います
それによって、開発環境や実装方法、実装の可否も変わってきます

たとえば、上がっていた単語からでも以下のような種類の環境が思いつきます
①公式サーバ → Minecraft Coad Pack 付属のツール群を使う
②MinecraftForgeを導入したサーバ → Minecraft Forge 付属のツール群を使う
③Bukkitサーバ(プラグイン) → APIのみの提供、環境はチュートリアルを見て自分で作る
④Bukkitサーバ(改造) → Maven3 を導入してGithub で公開されてるプロジェクトからリポジトリを取得する

※ModLoaderMPの導入については本家のSDKさんがもう更新してないので
 誰かが勝手にバージョンアップ対応して公開してるものを拾ってくるしかないです

これらの環境はどれも似て非なるものと思ってください


③は専門外なのでちょっと作り方自体は判りませんが、、、

Modとして「公式マルチ用で作ってからBukkitに変換する」と言うのであれば、①と④の両方の環境が必要です
どちらも、それぞれのモンスターのクラスにあるGetMaxHealthのメソッドの返す値を変えるだけです
後にBukkit用に変換することを考慮するならば、ForgeやModLoaderMPで提供されるAPIは避けるべきです
BukkitにはForgeやModLodarMPのAPIは組み込まれてません
※MCPCなんかでForgeを組み込んだBukkitなんかもあるのでどうにかなるかもしれませんが、
 どんどん話しがややこしくなるので割愛します

ここのトピックの主題である、「BukkitPlugin」を作るのであれば、CreatureSpawnEvent のイベントリスナーから
沸いたMob種類を判別してSetMaxHealth と SetHealth で変えてあげればよいです

最近ではMCPCPlus とか言う、BukkitサーバにForge用のModを直接導入できるサーバもあるようですが
まだ新しいプロジェクトなのでバグも多いようです
これを将来的に使うなら Forge用で作るのもアリかもしれません


なんにせよ、まずは、それぞれのチュートリアルをよく読み
それ通りに作れるようになってください
そして、それぞれの特徴や、違い、できる事、できないこと、を理解してみてください
作りたいものを作るのはそれからの方がよいです
《 主な生息場所 》 ※社畜業が忙しく思うように動けませんが、細々と活動してまいります
非公式フォーラム内記事:〈自作建築系 plugin 集 / 影mod 関連 / Sponge 情報※さぼり中〉
外部:ニコ動コミュ〈co2291695〉 / Sponge ローカライズ〈Crowdin : Sponge Docs〉 ※復帰したい翻訳者増えてくれー
アバター
takuyan020
ID:053696b7
石掘り
 
記事: 132
登録日時: 2012年3月02日(金) 19:49

  • (PostNo.83558)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by King(qpwakaba) » 2013年3月03日(日) 14:23

onCommand で追加したコマンドをop権限を持っていない人でも実行できるように出来ませんか。

Bukkitのプラグインを作っていて、onCommandでコマンドを追加しました。
試しにサーバーのコンソールや、op権限を持ったプレイヤーから実行したら動きましたが、
op権限を持っていない人は実行出来ません。

マインクラフトのtellコマンドみたいにop権限を持っていない人でも追加したコマンドを実行できるようにうする方法はありませんか。
King(qpwakaba)
ID:d2a56a00
 

  • (PostNo.83561)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by tsuttsu305 » 2013年3月03日(日) 14:34

aspn さんが書きました:onCommand で追加したコマンドをop権限を持っていない人でも実行できるように出来ませんか。

Bukkitのプラグインを作っていて、onCommandでコマンドを追加しました。
試しにサーバーのコンソールや、op権限を持ったプレイヤーから実行したら動きましたが、
op権限を持っていない人は実行出来ません。

マインクラフトのtellコマンドみたいにop権限を持っていない人でも追加したコマンドを実行できるようにうする方法はありませんか。

http://minecraftjp.info/modding/index.p ... 9.E9.99.90
ココらへんが参考になるかと(そこから下の方に向かって読めば色々書いてある)
アバター
tsuttsu305
ID:ca1aa070
ダイヤモンド掘り
 
記事: 751
登録日時: 2011年10月18日(火) 17:49
お住まい: CloudFormationで建てたスタック

  • (PostNo.83562)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by miyabi » 2013年3月03日(日) 14:35

aspn さんが書きました:onCommand で追加したコマンドをop権限を持っていない人でも実行できるように出来ませんか。

Bukkitのプラグインを作っていて、onCommandでコマンドを追加しました。
試しにサーバーのコンソールや、op権限を持ったプレイヤーから実行したら動きましたが、
op権限を持っていない人は実行出来ません。

マインクラフトのtellコマンドみたいにop権限を持っていない人でも追加したコマンドを実行できるようにうする方法はありませんか。

ここは、『質問:Mod/プラグイン制作関連』のフォーラムですが、
それは貴方が作成したプラグインの話でしょうか?
マイクラサーバを立てる前に、PCの基礎知識を身につけましょう。
サーバ管理補助ツール MCSC(Windows専用) の開発をしてたり、Minecraft Modding Wikiの管理とかしてました(過去形)
アバター
miyabi
ID:502afd69
ブタ飼い
 
記事: 7340
登録日時: 2011年8月07日(日) 14:35
お住まい: さいたまさいたまさいたま!

  • (PostNo.83565)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by tsuttsu305 » 2013年3月03日(日) 14:41

miyabi さんが書きました:
aspn さんが書きました:onCommand で追加したコマンドをop権限を持っていない人でも実行できるように出来ませんか。

Bukkitのプラグインを作っていて、onCommandでコマンドを追加しました。
試しにサーバーのコンソールや、op権限を持ったプレイヤーから実行したら動きましたが、
op権限を持っていない人は実行出来ません。

マインクラフトのtellコマンドみたいにop権限を持っていない人でも追加したコマンドを実行できるようにうする方法はありませんか。

ここは、『質問:Mod/プラグイン制作関連』のフォーラムですが、
それは貴方が作成したプラグインの話でしょうか?


コード: 全て選択
        @Override
        public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
        }

のことかと…
アバター
tsuttsu305
ID:ca1aa070
ダイヤモンド掘り
 
記事: 751
登録日時: 2011年10月18日(火) 17:49
お住まい: CloudFormationで建てたスタック

  • (PostNo.83570)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by King(qpwakaba) » 2013年3月03日(日) 14:54

>それは貴方が作成したプラグインの話でしょうか?
はい、自分で作っているプラグインです。

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
}

のことです...
King(qpwakaba)
ID:d2a56a00
 

  • (PostNo.83575)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by miyabi » 2013年3月03日(日) 15:11

aspn さんが書きました:>それは貴方が作成したプラグインの話でしょうか?
はい、自分で作っているプラグインです。

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
}

のことです...

onCommand自体はOPとか権限無しでも呼び出されて、その中の処理で player.isOp() とかplayer.hasPermission()とかで権限判断させているんじゃなかったでしたっけ。
それなら、権限持ってるかの判定をせず、処理を記述してreturn true;を返してあげれば良いだけのような。
(見せたくない処理ロジックだけは伏せるとして)ソースをしっかり載せて貰えなければ、判断にも困るかと思います。
マイクラサーバを立てる前に、PCの基礎知識を身につけましょう。
サーバ管理補助ツール MCSC(Windows専用) の開発をしてたり、Minecraft Modding Wikiの管理とかしてました(過去形)
アバター
miyabi
ID:502afd69
ブタ飼い
 
記事: 7340
登録日時: 2011年8月07日(日) 14:35
お住まい: さいたまさいたまさいたま!

  • (PostNo.83578)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by ゲスト » 2013年3月03日(日) 15:20

解決しました。
>onCommand自体はOPとか権限無しでも呼び出されて、その中の処理で player.isOp() とかplayer.hasPermission()とかで権限判断させているんじゃなかったでしたっけ。
あれ?と思い、他のファイルを見ていたら、
plugin.ymlファイルのpermissionで、op権限無いと使えないようにしてありました・・・

失礼いたしました
ゲスト
ID:d2a56a00
 

  • (PostNo.83579)

Re: 【総合】トピック立てるまでもない質問【Bukkit Plugin制作】

投稿記事by King(qpwakaba) » 2013年3月03日(日) 15:21

一つ上の書き込みは自分のです。
名前書き忘れました。
King(qpwakaba)
ID:d2a56a00
 

1つ前へ次へ

Return to 質問:開発・制作関連

x