HONDASHIブログ

ブログ形式での情報の蓄積も悪くないかなと思い、 いまさら始めてみたブログ。
 
 
プロフィール

HONDASHI

Author:HONDASHI
ナナチかわいいよナナチ

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ

スポンサーサイト 

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

IndustrialCraft2のアドオンっぽいのを作りたいと思った 

製作過程や途中経過を逐一書くのが面倒くさい。
などと、当ブログの存在理由の否定から始めてみる。

最近頻度が減ってますが、鯖建ててもらって遊ばせて貰ってるminecraftのMOD
IndustrialCraft2(以下IC2)のver1.6から実装された農業システムがあります。
無印とは違い、支柱を建てて解析して交配して等Industrialな農業なわけですが、
その"解析"の部分にいささか不満を感じ、アドオンを作成出来ないかと弄って見てるわけです。
これがそこそこ面白くて、プレイ頻度が落ちてるのですが。

不満というのは、解析するために専用アイテム(Cropnalyzer)を持って右クリックし、
アイテムを置かなければならないのですが。
解析された数値を見るのに毎度アイテムを持ち専用GUI開きという作業をせねばならず、
SeedBagが増えてくると管理、良質なものの選別に非常に手間がかかります。

そこで、同鯖でプレイしているm氏も同様の不満を感じたようで、
「エンチャント情報のようにマウスオーバーで表示してくれればいいのにね」的な発言がありました。
そこまで、具体的に欲しい機能があるなら、実装出来るのではないかと思い立った訳です。
Javaに精通している訳でなく、データの格納場所や表示する関数の場所を探す所から苦戦しましたが、
無印のデータをちょっと弄るだけで、期待してる動作をさせることが一応出来た。
SeedInfoTest.png
種の情報なのに"CropID"になってる所はご愛嬌ということで。

ただ、無印のデータ(最初からminecraft.jarに含まれるclassファイル)を置き換える方法だと、
その他のMODとの競合やアップデート時の対応が煩わしくなるのは明らか。
そこで、Modloaderを使って出来ないかと、色々苦戦中。
Java開発者にすれば当たり前の事に躓くことが多いです、
"インスタンスを生成出来ません"やら"不可視です"やら、参照元を改変出来ればどうとでもなりそうですが、
今回はそれは出来ませんのでコピペ&手直しで同じ機能を実装してみたりしてみてます。

ソース的な話を一つ、
スロットにマウスオーバーしているか否かの判断のメソッドがあるのですが、
その引数のi,jが何か分からずコンソールに吐き出させてみたら、
ゲームウィンドウ上左上を(0,0)として左下に向かって座標を取得して(i,j)としてるようでした。
じゃぁ、どうやってそれを取得すればいいのか、そのメソッドの引数はどこから持ってきてるのか、
Javaに慣れてる人はささっと調べられるのでしょうが、分からず分からず。
とりあえず、以下のようにしたら似たような値が出せた
int i = Mouse.getEventX()/2;
int j = guiscreen.height - Mouse.getEventY()/2;
"似たような"というのも、iは同じ値ですが、jがなぜか+1ずれる。
難しいものだ。
コメント















 管理者にだけ表示を許可する

トラックバック
 
http://hondashi510.blog12.fc2.com/tb.php/67-9a4c8f58
デスクトップ ログイン状態 ノート ログイン状態
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム
QRコード
QRコード
 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。