5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

[Minecraft]mod作成専用スレ

1 :名無しさんの野望:2012/06/17(日) 00:27:10.47 ID:LMjmCFHP
無かったので建ててみました。mod作成専門です。mod導入の質問とかは禁止なので質問スレに行ってください。

2 :名無しさんの野望:2012/06/17(日) 00:30:30.85 ID:Gd4C1ezO
これが初スレ立てとは…
http://minecraftjp.info/modding/index.php/Minecraft_Modding_Wiki
↑質問する前にここを見てください。サンプルがあります。

3 :名無しさんの野望:2012/06/17(日) 00:32:23.69 ID:tkQv4W14
http://forum.minecraftuser.jp/
ここも見てください。初心者でも分かりやすいチュートリアルがあります。

4 :名無しさんの野望:2012/06/17(日) 00:38:03.49 ID:cicFD8ph
modに関するよくある質問
Q.作るの難しい?
A.簡単ですがjavaという物を覚える必要があります。
Q.○○という機能作りたい
A.Forgeにあるかもです。なければ質問するより先に試行錯誤しましょう。5時間程度ソースコードとにらめっこしても分からない時にのみ質問してください。

5 :名無しさんの野望:2012/06/17(日) 01:04:37.25 ID:DAE/B2pH
他の関連スレを見てタイトルやテンプレを作ってからスレ立てしろや
中学生や高校生のブログかよ、ここは

6 :名無しさんの野望:2012/06/17(日) 01:05:48.87 ID:Gd4C1ezO
forge vs modloader

forge
メリット
多機能の上に便利機能も付いているため競合しにくい上に鉱石辞書などでコラボも簡単。
デメリット
後方互換性があまりない。つまり作ったmodがすぐに使えなくなるかもしれない。
非forge前提modと高確率で競合する。

modloader
メリット
1バージョンあたり1回の更新で済む。
デメリット
作成したmodが競合しやすい。
mod作成が難しい。

7 :名無しさんの野望:2012/06/17(日) 01:09:18.62 ID:63YoUigC
>>5
どうせテンプレを作る必要もなくdat落ちですよ。もしb2があるなら>>980が建ててくださいね。

8 :名無しさんの野望:2012/06/17(日) 01:12:33.61 ID:0ELJdCfw
非公式フォーラムもあるし、単発スレで終わっちゃいそうだけどとりあえず使ってみる

相談なんだけど、
「エンドコンテンツ系」
「期間制限付きのワールドを生成して何かしらにチャレンジ」
「何か通常ワールドとそのワールドで役に立つものが色々手に入るハクスラ要素」

っていうmodを作ってるんだけど、
技術的なところは見通しが立つんだけど
上の範囲内で、どんな遊びをしたら飽きないで繰り返し楽しめるのかが上手くまとまらない。
単にバトルだとマイクラっぽい遊びではないし、そういうのはベタダンとかあるし。

とにかく飽きの来ない要素にしたいんだ。
何か知恵はないだろうか。

9 :名無しさんの野望:2012/06/17(日) 01:17:59.06 ID:63YoUigC
>>8
面白いアイテムを作る
やりこみ要素(他のmodとの連携とか工場系)
レッドストーン関係

こんな感じじゃない?

10 :名無しさんの野望:2012/06/17(日) 02:13:09.03 ID:0ELJdCfw
>>9
面白いアイテムは、便利さならEE2、面白さなら米MODとか他にも色々、
ブロック回りのやりこみは工業系、
レッドストーン関係はRP、

と、その辺の掘は埋まっているんだけど、
イマイチそれを発散というか使うまでもないというか。
もちろん、マイクラ最大のやり込みである巨大建築っていうのはあるんだけど、
それ以外の遊び方を発展させられないかなぁ、と思っている。

ベタダンは面白いんだけど、アレを拡張したとして、
MOBとの戦闘をやり込みにするなら別にマイクラじゃなくても…と感じたので、
戦闘以外でそういうのを用意してみたい。

11 :名無しさんの野望:2012/06/17(日) 12:14:30.83 ID:NyEYFHKA
modスレあるんだからそっちでいいんじゃねぇの?
無駄にスレ立てるとか荒らしかよ つか荒らしか

12 :名無しさんの野望:2012/06/20(水) 19:47:38.38 ID:scUVuakJ
荒らし揚げ

13 :名無しさんの野望:2012/06/22(金) 20:45:11.22 ID:RwzfbEEG
あれ?もしかしておまぽの立てたスレじゃね?


14 :名無しさんの野望:2012/06/30(土) 16:31:06.88 ID:dJrYHlPX
過疎だのう。需要ありそうなのに。

15 :名無しさんの野望:2012/06/30(土) 17:12:13.86 ID:poKhnZNG
荒らしが立てたスレに人が来るかよ

16 :名無しさんの野望:2012/06/30(土) 17:21:32.18 ID:5w+u7vvi
>>15
粘着うぜえなお前>>5>>11だろ
運営者でもねぇのに自治してんじゃねぇよきもちわりい

17 :名無しさんの野望:2012/06/30(土) 19:03:35.96 ID:d/M7+GO+
ここのスレ住民で、Mod作れる人いるのかな?
まあフォーラムで僕の考えたMod、と展開されるよりはいいか?!

まあ、何回かModスレでこんなの有ったらいいな、と書いてるネタ有るが
反響がいまひとつ・・・作り難いのか、興味がないのか。
まあもうちょっと考えてみるわ。

18 :名無しさんの野望:2012/06/30(土) 19:08:03.77 ID:Mr1lZjl1
使用すると本体が落ちるアイテムを追加した所で挫折しました

19 :名無しさんの野望:2012/06/30(土) 19:23:21.75 ID:2DumE6oF
LR的に1タイトルで何スレも立てるのはNG(類似スレ)だから、荒らしと言われても仕方はないよ
もちろん、誰が立てたかなんてのはどうでもいい事だと思うし、それが理由で過疎ってるとか言うつもりはないけど

でも、Modスレが使用者と開発者で話が混乱するほどになっての分割、みたいな理由があったならともかく
結局俺が聞きたいから専用スレ立てました、みたいにしか見えない状況だから、過疎るのは当たり前だし
先に書いたようマイクラスレ住人の多くが必要と考えて立ったスレってわけでもないから、叩かれてしかり

っていうか、本当に需要があったら過疎ったりするわけないわけで、つまりそういう事でしょ
自分もMod作ったりしてたけど、ここで話すような話題って特に思いつかないよ

20 :名無しさんの野望:2012/06/30(土) 20:09:10.11 ID:poKhnZNG
>>16
>>11だけど別に自治してるつもりはないわ
被害妄想乙

21 :名無しさんの野望:2012/06/30(土) 22:27:25.52 ID:HLX29sNF
>>17
書いてみ

22 :名無しさんの野望:2012/06/30(土) 23:38:34.63 ID:d/M7+GO+
>>21

カルネージハートのマイクラ版
http://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%8F%E3%83%BC%E3%83%88
↑参考

参考ModがBCやメイドさんで、プレイヤーが任意の動作を指定して、Mobを動かす。
@BCの青トーチの様な物で、範囲指定
A青トーチ(の様な物)の横に、ロジックボックス設置
Bロジックボックスを右クリでGUI開く
CGUI内でフローチャートプログラムを組む
Dロボメイド作動開始

Cのフローチャート組むのは、個別対応ブロック
例えば自キャラ数マスの敵スキャンは、スキャンブロック
(ただアイテムIDを増やしたくない場合は、クリックで対応ロジックを選択)

Dは、アイアンゴーレム見たいのでもおk

23 :名無しさんの野望:2012/06/30(土) 23:47:22.22 ID:d/M7+GO+
まあ羽メイドさんでいいじゃないの突っ込みは無しよ。
だって自分のプログラムしたMobがもりもり動くのは良いんじゃない。

おまけ要素で、対戦なんかできるといいね!
(Mob対Mobとか)
警備ぐらいしか思い浮かばないが、エンダーマンに抜かれたブロック補充とか・・・

24 :名無しさんの野望:2012/06/30(土) 23:59:33.01 ID:HLX29sNF
1.似たようなMODにComputerCraftがあるため必要性を感じない
2.作るのに相当時間がかかる
3.作れる人が限られる(最低でもGUI/TileEntity/AIが理解できていないと無理)
君が考えるべきところはこれがどのくらいの時間で完成するか見積もりを出すところだと思う
そしてできたところでよろこぶプレイヤーがどれだけいるか
自分でAI部分をちまちまやるより採掘をするMOB、伐採をするMOB、植林をするMOB、敵と戦うMOBを
個別に用意してもらったほうがプレイヤーは喜ぶ
つまり超高コストな上に需要がたいしてない

面白いと思うよ
でもつくろうとは思わんね

25 :名無しさんの野望:2012/07/01(日) 00:11:02.16 ID:JT8mYJTF
モブ操作に特化したAPIを用意して動的にスクリプトを読んで動作するマクロツールというぐらい機能の機能があればあるいは
これだとEditModeやEditorでやっても面倒な操作の自動化とかで結構需要がある


26 :名無しさんの野望:2012/07/01(日) 00:12:52.86 ID:kMtQG7LP
ComputerCraftのアドオンな雰囲気のModじゃ簡単に済ませないかな?
(作者の許可おkとして)
BCやメイドさんを参考にしたのも、入れてる人多そうだったから
まあ大型Mod並みに難易度はあるか

メイドさんのオープンソース見て、参考にしようとしたがお手上げだ。



27 :名無しさんの野望:2012/07/01(日) 00:30:50.00 ID:I7cDB0AP
カルネージハートMODが完成したとしてどこが面白いと感じるか分析したほうがいい
普通のプレイヤーが面白いと感じる要素ははっきり言ってない
むしろAI設計に苦痛を感じる
#自動採掘MOBの場合
自動採掘をさせるだけなのになぜむずかしいロジックを設計しなければいけないのか
- 高低差のある場所を掘る処理(はしごをかけるのか、足場ブロックを設置するのか)
- 手持ちのピッケルが壊れた場合どこから取り出すか、取り出す場所になかったらどうするか
- 手持ちのピッケルが石だったらほれない鉱石がでてくるがその場合どうするか
- 採掘範囲をどうするか
- 採掘範囲を掘りつくしたらどうするか
- 溶岩の扱いはどうするか
- 敵性MOBに襲われたらどうするか
- 落下した場合どうするか
ざっと考えただけでもこれだけ面倒な要素がある
#戦闘MOBの場合
メイドで十分

カルネージハートを楽しみたいならはんげ行けばいいし
自動採掘したいなら自動採掘MODがいくつかあったと思う
戦闘はメイドでおk
カルネージハートMODで何がしたい?
プレイヤーに何をして楽しんでもらいたい?
そしてそれは開発コストに見合うものかい?

28 :名無しさんの野望:2012/07/01(日) 04:03:13.20 ID:YdZEH5YQ
少なくとも行動アルゴリズムを構成するロジックパネル一覧あたりまで煮詰めるべき。そこでセンスを見せれば、>>27で挙げられてるような面倒な思考迷路で遭難してる開発者が飛びつくかもしれない

29 :名無しさんの野望:2012/07/02(月) 03:06:31.92 ID:eexZ9zuY
ぼくのかんがえたさいきょうのMod、誰か作ってくれなんてのは、フォーラムでやっとけ
単発目的のためにスレ立てるなよ

30 :名無しさんの野望:2012/07/02(月) 07:19:40.74 ID:uciKhTnN
updatemd5後reobfuscateしてもclassファイルが出力されてないのだがなんだこりゃ
あとimportの指定とjavaの配置フォルダ、配布時のフォルダ構成などが結構いい加減でも動く
javaファイルの配置は
mcp62/src/hoge/blockHoge.java
mcp62/src/minecraft/net/minecraft/src/mod_hoge.java
でmod_hoge.javaに
package net.minecraft.src;
import hoge.*;
として

ModLoaderに読ませるzipファイル内の配置は
mod_hoge.class
hoge/blockHoge.class
だがしかし
mod_hoge.class
blockHoge.class
でも動く
しかも自作の全modをフォルダごとにわけてるのにreobfuscate後classファイルが一箇所に集まるのにつらい
200個以上のclassファイルを選り分けるのはもう秋田
どっかに詳しい情報ないかねぇ

31 :名無しさんの野望:2012/07/02(月) 23:39:43.97 ID:eexZ9zuY
updatemd5は変更チェック用のmd5リストを現在のソースから再生成
追加したソースとかも元からあるものとして扱われるようになるから、自作のmodソースは抜いてから実行しれ

通常は、落としてきたらまずupdatemcpして、前提modのソース追加して、updatenamesして、
(このあたりは前提modのがどのmcpのネームテーブルにあってるか次第で順序変えた方がいい事もある。試せ。
winmargeとか使えば差分も簡単に調べれる)

その後、updatemd5して、自作のmodソースを追加したり新規作成したりして、recompileしてreobfuscateで出力
getchangedsrcで変更ソースだけ抜き出し

mcpのネームテーブルが更新されてたら、getchangedsrcで自作の変更ソース取り出してバックアップし、
上記やり直したあと自作ソース追加後にupdatenames

何やるにしても想定してない結果になったときのこと考えてバックアップは取れよ
よくわからないなら、実行前の警告どおり、update系は使わず諦めれ

32 :名無しさんの野望:2012/07/02(月) 23:46:38.45 ID:eexZ9zuY
諦めれ→忘れれ
つーかupdatemd5はじめupdate系バッチは、全部実行前に警告出るんだから
よくわからないのに実行するなよ、書いてあるからちゃんと読め
英語力皆無の俺でも何とかなるレベルだぞ

zipからの読み込みはModLoader.javaのコード嫁
単にクラスローダーに突っ込んでるだけだからZIP内の構造が関係ない事くらいなら見ればわかる
プログラムは書いてあるとおりにしか動かないから、ソースがある以上何故そうなるかわからないって事はないし
きちんと調べればいつか答えは見つかるものだぞ、諦めなければな

33 :名無しさんの野望:2012/07/03(火) 00:56:24.82 ID:tXH9GPf1
なるほどなぞが解けたthx

34 :名無しさんの野望:2012/07/26(木) 23:38:22.99 ID:W2jL733L
Multi Page ChestのMODにAccess ChestのMODにあるMove機能とか全部入れたいのですが誰かできませんか?
スレチならごめんなさい

35 :名無しさんの野望:2012/07/27(金) 08:16:15.74 ID:+pNBX2Jj
できるよ

36 :名無しさんの野望:2012/07/27(金) 13:41:22.86 ID:33MQ7dTQ
>>35
頑張ってみます

Gui〜Chest.classを見ればできそうですか?

37 :名無しさんの野望:2012/07/29(日) 07:42:34.03 ID:MG7GCu8e
ドロップ化してるアイテムを吸い込むブロックってのを作ろうとしてるんだけど
どのクラスを見ればいいんだろう
チュートリアルに全然無くて困ってる

38 :名無しさんの野望:2012/07/29(日) 08:38:03.20 ID:rO2zLzZS
釣竿

39 :名無しさんの野望:2012/07/29(日) 08:43:19.30 ID:MG7GCu8e
>>38
あーそれは描画で使えそうだね 気づかなかった

そのものずばりRP2のTransposerをMLだけでやろうとしてて
意外と難しい… あれは初心者には荷が重すぎたのかな

40 :名無しさんの野望:2012/07/29(日) 09:36:00.79 ID:rO2zLzZS
やりたいことを細切れにしてひとつずつ解決するようにしないと何もつくれんぞ
・ドロップアイテムの取得方法
・ドロップアイテムを移動させる方法
・ドロップアイテムが指定範囲にあるか判断する方法、もしくは指定範囲内のアイテムを取得する方法
・持続的にドロップアイテムを移動させる方法
ここまでくりゃ簡単だろう
ドロップ化してるアイテム = world.getEntitiesWithinAABB で net.minecraft.src.EntityItem.class
吸い込むブロック = world.scheduleBlockUpdate して updateTick で
上記の処理で取得したアイテムのmotionX〜Zに対しブロックの座標より
小さければ加算、大きければ減算すればいい

41 :名無しさんの野望:2012/07/29(日) 12:00:39.27 ID:MG7GCu8e
>>40
おお・・・本当にありがとう
そこまで細分化しきれてなかったよ

AABBってそういうことだったんだ勉強になりました
出来上がったら日フォにでものっけておこかな

42 :40:2012/07/30(月) 16:56:09.30 ID:83ke36pf
ちょっとやってみたけどgetEntitiesWithinAABBの引数のAABBが
吸引したい範囲ってことで合ってる?
そうすると範囲内にあるアイテムがListで返されるから
それを内部インベントリにItemStackで詰める。詰めると同時に
アイテムとしての描画を消すって流れだよね

43 :名無しさんの野望:2012/07/30(月) 20:29:37.23 ID:UabrI5d9
誤解してそうな表現だが間違ってはいない
getEntitiesWithinAABBは指定範囲内の指定EntityをListで返す
World上にあるアイテムはEntityItem
実際にアイテムとして扱うにはEntityItemのインスタンス.itemだ
あと描画を消すという表現は間違っている
World上にあるEntityを削除するにはsetDead();だ

ぐだぐだいわずひとつずつサンプルプログラムつくって動作を確認しなさい
getEntitiesWithinAABBの動作を確認するプログラムを作り
System.out.orintln(〜);で取得物確認すりゃいいだろ

全部を把握して作りこんで確認というのは手順として間違ってる
1部分作り確認、問題がなければ次、というふうにしないと問題の切り分けが大変になる
なれれば一気に作りこんで問題ないがな

44 :名無しさんの野望:2012/07/30(月) 23:37:27.78 ID:83ke36pf
>>43
レスありがとうございます。励みになります。

今回はgetEntitiesWithinAABBの動作確認を
呼び出し階層の中から選んでその後にSystem.out.println(list);
をコピペ追加して行いましたが、この様な操作でよろしいでしょうか?
何かオススメの方法があれば教えてください

45 :名無しさんの野望:2012/07/31(火) 07:04:16.01 ID:gGgL3XoJ
何が聞きたいか意味がわからん
動作確認ができないのか?
デバッグコードの埋め方にアドバイスなんかできるのか
知りたい情報なんて人それぞれだろ
JAVAをどれだけ理解しているか
Minecraftの仕様をどれだけ理解しているか
それによって変わるのはちょっと考えればわかるはず

今後、MODを作っていくにあたって全て聞かなければ作れないのか?
自力でなんとかできないようならあきらめたほうがいい
お前がいまやろうとしているのは答えがひとつしかないテストじゃなく

も の づ く り だ

46 :名無しさんの野望:2012/07/31(火) 11:17:39.12 ID:VeNDUhBF
>>45
今ようやく作りたいものができました
たしかにできてから振り返って見ると、自分のレスで
何を聞きたいかわかりませんね、すいませんでした

お付き合いしてくださいってありがとうございました

47 :名無しさんの野望:2012/08/01(水) 02:35:28.83 ID:On4PX2s2
やだ・・・この>>45かっこいい・・・///

48 :名無しさんの野望:2012/08/03(金) 21:18:02.36 ID:sZkgq5yu
>>45を以後このスレのテンプレにするべき

49 :名無しさんの野望:2012/08/07(火) 02:22:07.25 ID:n6IDa+P7
アーマードコアLRのパルヴァライザーのような
倒されるたびに学習してリスポーンするAIをもった敵MOBを作りたいのだが
倒されるまでに受けた攻撃の種類を判定するにはどんな風に書けばいいのだろうか?
一通り作って順番にスポーンさせる方法も考えたんだが
他のMODによる攻撃にも対応させたいから全部作るのは無理だった

50 :名無しさんの野望:2012/08/09(木) 12:15:29.71 ID:i4OX09BZ
1.3.1から独自セーブデータが作れなくなったのか?
IntegratedServerとClientで二重に開くからエラーが出るな

51 :名無しさんの野望:2012/08/10(金) 23:04:40.45 ID:w/XVlqC+
ここはModdingの本スレ?それともModdingの本スレってあるの?

52 :名無しさんの野望:2012/08/10(金) 23:36:51.79 ID:IcEKBGTL
2chで他にModding専用スレがないから本スレと言えなくもないけど…という塩梅

53 :名無しさんの野望:2012/08/11(土) 03:15:44.09 ID:+HFWksQp
java分かる人向けにmodの作成ノウハウ共有する場所があったらいいなぁ
今作ってる人に参考になるのはもちろんmod作成に参入する人増えるだろうし

みんなコード読んでは書き読んでは書きやってるでしょ・・・

54 :名無しさんの野望:2012/08/11(土) 08:46:58.10 ID:h1E9WCXW
だよなぁ
関数単位ならMCPで追加されるJavadocがその役割なんだろうけど、EntityやModel、NBTとかの概念までは読むしかないからな

Modding WIki がもっと活発になれば

55 :名無しさんの野望:2012/08/11(土) 09:29:57.67 ID:jF01ieNY
1.4が来て、落ち着いてからだな

56 :名無しさんの野望:2012/08/11(土) 10:40:28.61 ID:mapwJxsD
非公式フォーラムとか、
http://minecraftjp.info/modding/index.php/Minecraft_Modding_Wiki
とか、IRCとかあるけど、そこじゃいかんの?

57 :名無しさんの野望:2012/08/11(土) 11:12:45.32 ID:h1E9WCXW
チャットだと資源にならないじゃん

58 :名無しさんの野望:2012/08/11(土) 13:38:33.94 ID:hKZXPEAi
ModelというかRenderer、描画周りの資料はあれば嬉しいかなぁ
他はデバッグモードで追っかければだいたい何が起きてるかわかるけど、
表示バグだけは数値追いかけた所でわからないし。

59 :名無しさんの野望:2012/08/11(土) 18:55:17.27 ID:NSCcJ+mW
海外のサイトとかwikiとかフォーラムにはそこそこ情報あると思うけどな
英語弱いしコードみりゃいいから、自分はあんまし見てないけれど

60 :名無しさんの野望:2012/08/11(土) 20:38:03.22 ID:AKuEN6bG
英語は不得意ではないが、流石にコードと英語を同時読みは勘弁願いたい

かといってフォーラムで糞トピックたてるのは申し訳ないんだよね。質問できてwikiやフォーラムでリンク張れるレベルのModdingスレがほしい
テンプレがしっかりすれば人が来てくれるのだろうか

61 :名無しさんの野望:2012/08/11(土) 21:09:44.44 ID:AKuEN6bG
スレ名: Minecraft Modding スレ 0.0.1
ここはサンドボックス型ゲーム"Minecraft"のMod・ツール・PlagIn作成に関するスレッドです。
Mod導入はMinecraft Texture・MOD総合スレ
//modスレリンク
個々のModに関するバグ報告、更新・バージョン対応依頼は、配布場所等作者指定の場所でしてください

リンク

前スレ
<前スレリンク>

Minecraft Japan wiki-Modding
http://www26.atwiki.jp/minecraft/pages/86.html

Minecraft ModdingWiki(日本)
http://minecraftjp.info/modding/index.php/Minecraft_Modding_Wiki

Minecraft 非公式日本ユーザーフォーラム
http://forum.minecraftuser.jp

//*ここはMod作成の為の情報交換や、初心者に対する支援を行うスレです。コードの代理作成依頼や、フォーラムのチュートリアル等を参照せずに質問することは止めてください。また、その様な書き込みがあった場合、丁寧にテンプレ参照を促すようお願いします。*//

このスレ埋まったら次のテンプレこんな感じでどうでしょう。

62 :名無しさんの野望:2012/08/11(土) 21:25:50.76 ID:6+5yREK0
スレ番は0.0.2で良いんじゃないか?
しかし、このスレが埋まるのにどれくらい時間がかかるんだろうww

63 :名無しさんの野望:2012/08/11(土) 21:28:55.93 ID:AKuEN6bG
今の1.3.1更新はEntitiy?がマルチ化で大幅改編されてるから止まってるらしい
でも大手modの作成者も情報交換できるようにすればいいじゃんと思う。

後は宣伝なんだけど…

64 :名無しさんの野望:2012/08/12(日) 15:35:15.07 ID:i6vaFT8G
日本のmod作成者は基本的にツイッターで情報交換してるからな・・・。

65 :名無しさんの野望:2012/08/12(日) 16:43:44.79 ID:BzlBbbHM
そのうちサンプルやまほどどっかにのっけるわ

66 :名無しさんの野望:2012/08/12(日) 20:02:38.82 ID:t3zNmq67
>>65
休んでください…

67 :名無しさんの野望:2012/09/06(木) 15:22:36.61 ID:67KhE0Tj
1.2.5環境です

Minecraft Code Packのstartclient実行環境下でTooManyItems(TMI)を使う場合、
TMIのソースがないとダメなんですよね?

通常通りにTMIをインストールすればいいのかとも思ったのですが、
実行時MCP_root\jars\bin\minecraft.jar中のclassは使ってないようでした。
※試しにスニークをトグル式にするij.classを入れたけど反映されなかった


テスト時の必要なアイテムはワールドデータのチェスト等に自前で予め準備して
やるのが一般的なのでしょうか?
1.3.xではゲームモード変更で対応できそうですが。

68 :名無しさんの野望:2012/09/06(木) 22:06:16.81 ID:In96+2rg
インストール済みのjarでデコンパイルしたの?

69 :名無しさんの野望:2012/09/08(土) 21:58:13.14 ID:C0SV0n0c
TMIを導入済みのjarをデコンパイル
付属のソースをsrc/に突っ込んでデコンパイルされた*.javaを上書き
CodeChickenCoreもぶっこみ
でいけたyp

70 :名無しさんの野望:2012/09/19(水) 19:06:10.27 ID:6zxDvJ1a
mobの追加方法は見かけるけど、プレイヤーモデルの変更方法とか見かけないよね
いろんなサンプル見てみたいわ

71 :名無しさんの野望:2012/09/20(木) 11:24:30.69 ID:PpAES9Ix
RednerPlayerAPI使用modをデコンパイル

72 :名無しさんの野望:2012/10/03(水) 11:40:33.19 ID:jnwDdmqI
週末に mod 作成についてしらべました。
とりあえず minecraft 1.3.2 / forge / eclipse で始めて、
チュートリアル見ながら独自のブロックつくってみました。
ttp://www.minecraftforum.net/topic/1460446-132forge-tutorials-hd-videos-source-code-9-25-2012/

このようなチュートリアル情報でよいの知っていますか?
java , eclipse は 初めてなので、操作含めて紹介してるのが、凄くうれしかったりします。

えっ?何作るかって? mod つくることが、目的で何作るかは目的になってませんよ。
アイデアを練るためにも、自分が何出来るかをはっきりさせるのが目的かもしれません。

練習でつくろうかなとかおもったのは、1.3.2で動く RP の AdvBench のようなものです。
チェスト、クラフト、GUI などあるし、ブロックの方向でテクスチャ違ってるし、
練習台としてよさそうだったので。

73 :名無しさんの野望:2012/10/03(水) 12:57:08.58 ID:O6ocaoR+
http://www.google.com/search?q=java+%E5%85%A5%E9%96%80
http://www.minecraftforge.net/wiki/Category:Generic_Mod
http://jd.minecraftforge.net/

74 :名無しさんの野望:2012/10/06(土) 20:49:08.33 ID:xf4SJFCv
既存クラスを触らずドロップアイテムを操作したいんだけど、
ブロック破壊時に呼ばれるイベントとかってない?
251にはまだないけど
net.minecraftforge.event.entity.player.PlayerEvent.HarvestCheck
あたりが使えるのかな?





75 :名無しさんの野望:2012/10/08(月) 13:07:13.56 ID:vTbNO3gZ
>>37
ExperyItem ってMODが、まさにソレに近いことしている。
こいつはEntityItemがプレイヤーに向かって移動する。
ソースも配布しているから参考にするといい。

76 :名無しさんの野望:2012/10/08(月) 18:07:04.85 ID:Ek0IiBbN
ここ結構需要あるやん

77 :72:2012/10/09(火) 19:55:11.65 ID:9BUjg5+g
>>73 さんくす
2番目のリンクたすかりました。
あと、わけわかめなときには、minecraft の ソースながめて、なんとかやってます。

とりあえず、RP の AdvBench のようなものは、
Block から BlockContainer へかえて、
さらに TileEntityはせいの、TileEntityUsefullCarftingTable に IInventory を
実装しつつ雰囲気(なぜか変換出来た)をつかみつつあります。

java はよーわからんけど、とりあえず 1番のリンクはつかわずになんとかなってます。

とにかく、動画を3回みてから、パソコンのまわりを三回まわって、コード書き書きしてます。
つぎは、GUIとかつけてくことにします。

以上、ちらしうらと、お礼でした。

78 :72:2012/10/12(金) 18:10:16.29 ID:slecdNO6
連投、ちらうらすまそ。

GUIひらいて、クラフティングできるようになったv(^^)
まだ、クラフティング途中にGUIとじたら、クラフティング消えるけど...

とりあえず、RPのAdvBench っぽくしようとして、クラフテイング場所も2つ
用意して、うごかすようにしてみました。
(2つ用意したのは、たとえば、ディスペンサーつくってる最中に、
 弓がたりことがわかって、弓をクラフティングしたくなったみたいな場合を考えて)

ttp://www.rupan.net/uploader/download/1350032391.jpg
Pass -> mod

インベントリから材料とってきてのクラフティングとかなると、やっぱりInventoryCrafting
相当を自作するしかない?
なにかいいのあったら、おしえてくらさい。

79 :名無しさんの野望:2012/10/13(土) 00:08:24.18 ID:Ul1174hy

実は知らないんだが AdvBench って・・・ワークベンチ系じゃないんか?
見た感じワークベンチだけど。
ワークベンチ系統ならばクラフティング途中にGUI閉じたらクラフティングキャンセルする
のが妥当なインタフェースだろ?
インベントリとかワークベンチとか、利用者が混乱しないために一貫性持たせる意味で。

80 :名無しさんの野望:2012/10/13(土) 00:24:59.09 ID:PiRPuy9d
>>79
別人ですまん上にかまどを参考に話してるが…

スロットに入れたアイテムがguiを閉じたときに撒き散らされるようにするには、わざわざ処理を書かないといけないように見える
ただそれが作成途中で実装されて無いだけの話じゃないかな

81 :名無しさんの野望:2012/10/13(土) 00:53:07.91 ID:Ul1174hy
いや、「まだ」って言ってるから、かまど系みたいに消えないようにしようってのかな?と
クラフティング消えるっていうのが、どんな状況なのかが伝わってこない。
というか、かまどとかってチェストみたいにわざわざ記録しなきゃならんよな。

82 :72:2012/10/13(土) 08:28:27.63 ID:x6IrMp6w
あ、正式名称はredpowerのプロジェクトテーブルですね。rpのzipの中見てたらadvbench になってたのでそのままかいてましょた。
すまそ。
目標は、rpのプロジェクトテーブルもどきです。クラフティング途中でも、gui閉じて、新しい材料を取りにいける。
こんなかんじです。


バニラの作業台は、閉じた時にアイテムをばらまくように書いてあったので、今作ってる方では
その処理を書かなかった。そしたら、guiとじたら、ばらまくこともないけど、消えてしまったと。
たぶん title entity のようにシリアライズしないといけないんだろうけど、inventory
Craftingクラスにインベントリのインタフェース実装されてたから、そんな処理されてんのかなとおもってた。

確かにかまどは、tile entity で、保存してるようだったけど。
しばらく悩んでみます


83 :名無しさんの野望:2012/10/13(土) 16:46:51.48 ID:jvpjAkb+
悪いことはイワン
最初はしっかり設計してテクスチャ用意してからつくりな

84 :名無しさんの野望:2012/10/13(土) 16:55:40.94 ID:PiRPuy9d
ロシア人が悪いのか…

85 :名無しさんの野望:2012/10/14(日) 11:34:54.20 ID:765zFRDa
Minecraft Modding Wikiってすごく微妙だよね…
サンプルが記載されてるけど、大抵どこか重要な箇所が抜けてるか、
暗黙の了解的に省略されてる
防具の追加とか、あからさまにメソッドの呼び出しが抜けてるし…

そもサンプルソースをどのverのMLやらForgeで作ったかが記載されていない時点でアレだけど…
まー、ここ編集するぐらいならフォーラム行くわ!って人が多いんだろうけど…

86 :名無しさんの野望:2012/10/14(日) 11:58:09.43 ID:6XTgpozi
>>85
全て説明するのは難しいと思うけど、Modding wikiのソースはテクニックが記載されているだけだよね・・。
ModLoader対応の場合、BaseModを継承したクラスを作成する事はとても重要だけど、解説されてなかったから最初の段階でつまづくと思う。

現状は >>73 のサイトをじっくり読んで覚えていくのが一番だと思う。

87 :名無しさんの野望:2012/10/14(日) 13:12:31.74 ID:bkaxISpq
wikiなんだから書き直せばいいんじゃないのか?

88 :名無しさんの野望:2012/10/14(日) 14:05:27.52 ID:m+2dIsuG
wikiは下支えしてくれる編集者がいないと辛い
フォーラムで単発チュートリアル出してくれてる人もたくさんいるから、知名度の問題だと思うけど…

89 :名無しさんの野望:2012/10/14(日) 14:07:00.80 ID:ZksenZSk
あなたの不要になったMinecraftアカウント、私が回収します。
「荒らし」「MCBanされたアカウント」「未使用アカウント」等の不要アカウントを回収します。
minecraft.keyjp@gmail.com にユーザ名とパスワードを、本文に含んで送って下さい!
お待ちしています!

90 :名無しさんの野望:2012/10/14(日) 18:20:12.71 ID:LMWKJ7t3
おっと小松沢の亜種か

91 :名無しさんの野望:2012/10/15(月) 00:25:16.58 ID:Lj5zpZeI
あのwikiは成り立ちがちょっと特殊だから、と古参顔して説明してみる

ユーザの一人が軽い気持ちでmoddingの日本語wikiを作らないかと提案

素行の悪さで有名なユーザが話を乗っ取り、強引に管理者に

MOD作者たちが警戒、他のユーザも猛反発

やむなくフォーラム管理者とモデレータが乗り出して悪行を未然に阻止、管理権限を譲渡させる

無事にwikiは始動したものの、「moddingに熱心な中核メンバー」が不在

フォーラム管理者やモデレータの人はスマートに事を収めてくれたんだけど
どうしても限界はあるよな
逆に言えば、今からでもやる気のある人大募集状態じゃないかなー(チラッ

92 :名無しさんの野望:2012/10/15(月) 01:25:32.96 ID:q/rxXXf8
生い立ち云々はさておき
このスレもそうだけど、そもそもMod作成情報のwikiだって
記事の需要は自力解決を諦めている人であって、供給できるのは自力解決できる人
供給できる人はWiki見る必要ないから、わざわざ自分の見ないWikiを編集する必要もないってわけじゃん
だいたいmod作る人なら、wiki弄る時間あったらmod作ってると思うぞ

つか、他のModの仕組みが知りたいならソース見れ
ソース以上に解説してるものなんてどこにもねーですよ
それで何やってるか理解できない難解な処理があったら、作者や識者に尋ねてみればいいよ
既にそういうコミュニティはいっぱいあるんだから

93 :名無しさんの野望:2012/10/15(月) 02:04:40.87 ID:+dV/YvEX
PCの環境が多種多様すぎて、絶対これでおkって解説が作りにくいんじゃないの?

更には本家のアップデートによる仕様変更もあるわけだし・・・

誰でもMODを作れるようになる為のWikiってのはかなり難しい話に聞こえるよね

94 :名無しさんの野望:2012/10/15(月) 02:28:46.67 ID:q/rxXXf8
単に、作りたい奴がいないだけだと思うぜ
wikiが欲しい、ではなく、俺の知りたい情報を、調べる手間なく得たいってのが根底にあるんだもの

自サイトやフォーラムの自分のたてたトピックでやってる人は現に居るし
情報発信の場はいくらでもあるから、解説を作れる人でもwikiに書き込む必要がない
それに、海外情報はかなり豊富な部類だから、細かいこと書いても翻訳作業と大差ないわけだし

95 :名無しさんの野望:2012/10/15(月) 03:12:07.47 ID:Lj5zpZeI
最初は「俺が気づいたちょっとした小ネタ」あたりを投げて行けばいいんじゃないか?
出来上がった籠の中に、思いついた時にひょいひょいと楽しげなものを投げ入れていくお仕事です
そのうち誰か、籠の中身を整理しようとするきれい好きが出てくるかも

96 :名無しさんの野望:2012/10/15(月) 20:02:50.39 ID:3B6eIqGa
ModdingWikiはMOD開発トピックのチュートリアルのまとめとしては機能してるんじゃないかな
APIのリファレンスとしては足りないけど、そこは他(海外を含む)のWikiやフォーラム読めば何とかなるし
現在は特にFMLが追加された最近のForgeのチュートリアルが増えてほしいと思ってる
(もちろん、ML/MLMPのチュートリアルも増えてほしいけど)

97 :名無しさんの野望:2012/10/15(月) 20:18:06.35 ID:t1pUD1ra
チュートリアルにリンク放り込むんじゃなくて、目的別ページ作ってそこにリンク放り込む方がいいよね
Mod自体の知識は貧弱だけど、和訳とかで協力できたら嬉しい

98 :名無しさんの野望:2012/10/15(月) 23:44:45.31 ID:rdpxZbFq
MinecraftForgeのJavadoc
http://jd.minecraftforge.net/


99 :名無しさんの野望:2012/10/19(金) 20:14:43.75 ID:unSFPk68
>>98
これが訳すやつだって今気づいたから、最初のClientの長文だけ訳してみた。用語がよく判らないから、こんな感じに書いてみたけど判る?
(間違ってても責任はとれない)

一連のコード[hooked code]からシステムへの一次通信[primary communication]を扱う。
FMLにおける導入開始点[the FML entry point]は、Minecraftから呼ばれる
FMLClientHandler.beginMinecraftLoading(Minecraft)である。
複雑化された[obfuscated code]は、このクラス、または"server"(か"client")の他のコード群[other members of code]に注目するようになっている。
実際のModは、Loaderのarms lengthによって扱われ、この時、類似のクラスがターゲットとなる環境(BukkitとClient)のそれぞれにあることを想定する。

もしロード中にこのエラーが発生したとき、これが呼び出されてエラー画面のメゾットの下に表示される

100 :名無しさんの野望:2012/10/19(金) 21:19:20.84 ID:il5FgQwt
うーん…。たとえ英語が読めない人でも、その訳より原文読んだ方がが分かりやすいかも。

101 :名無しさんの野望:2012/10/19(金) 21:48:37.42 ID:unSFPk68
>>100
やっぱそうですよね〜
原文が文になってないし、解説でもないし、ほぼ単語並べただけ
訳の書き方も悪いんでしょうが、正直これはどうしようも…

102 :名無しさんの野望:2012/10/19(金) 22:14:17.70 ID:il5FgQwt
や、原文はちゃんと文になってるよ。ピリオド書いてないから分かりにくいけど。
訳が変なのは、プログラミング用語なんかが訳せてないんだと思う。
例えば、entry pointはプログラミング用語としてはエントリーポイントって訳すし、obfuscated codeは難読化されたコードと訳す、など。
プログラミング用語では無いけれど、primaryは「最初の」って意味で書いてあるんじゃないかな。
docなんて、走り書きだったりプログラマ以外が読むことを考えてなかったりするから、訳すのはかなり大変だと思うよ…。

で、提案なんだけど、ForgeのWikiとか、そこから辿れるチュートリアルを訳してみたらどうかな。こっちはdocに比べれば圧倒的に訳しやすいはず。網羅的な資料じゃないけど、MOD作成の取っかかりにはなると思う。


長文&偉そうなこと言ってすまんね…

103 :名無しさんの野望:2012/10/19(金) 22:27:06.71 ID:MuExu9ZP
書こうと思ったことが被ったから差分だけ投下w

hooked → http://ja.wikipedia.org/wiki/%E3%83%95%E3%83%83%E3%82%AF_%28%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%29
FML → Forge Mod Loader
エラーが発生したとき → 例外をスローしたとき
メゾット → メソッド

>チュートリアル
http://www.minecraftforge.net/wiki/Category:Tutorials

104 :名無しさんの野望:2012/10/19(金) 23:43:28.05 ID:unSFPk68
http://www.minecraftforge.net/wiki/Forge_Events

Forge Events

With the new Forge Event Bus system,
everything is done using events.
新しいForge Event Bus Systemなら、
全てのイベントを扱うことができる。

For an introduction on how to use the event system,
read AtomicStryker's guide on How To Use Forge Events
新しいイベントシステムの導入については、AtomicStryker's guide on How To Use Forge Eventsを読んでほしい

The @ForgeSubscribe annotation subscribes
a method to the event system,
and the parameters of the method determines
which events it receives.
The @ForgeSubscribe annotation(Forgeの自署注釈)は、そのイベントシステムのメソッドと、イベントを受け取るパラメータ(変数)について書いてある。

A super class parameter will make the method also receive all subclass events.
スーパークラスのパラメータは全てのサブクラスのイベントをメソッドに受け取るようになっている。
This is a list of events currently available.
これは、現在利用できるイベントのリストである。
Notice
that all sub classes will of course have access to the properties of their super class,
thus this page will not list those as fields for the sub class.
注意
これらのサブクラス群はそのスーパークラスのプロパティ(詳細)を参照できるので、このページではそのようなサブクラス用のフィールドは挙げられていない。

まだ読みづらい気もするけど、量を考えたらこれぐらいが精一杯
駄目だったらもっと勉強して出直してきます

105 :名無しさんの野望:2012/10/20(土) 02:37:18.57 ID:K1wDP+Qf
>>104
JavaやForgeの用語は訳さなくてorカタカナ語でいいと思う

例えば、
The @ForgeSubscribe annotation subscribes
a method to the event system,
and the parameters of the method determines
which events it receives.
は意訳すると、
「@ForgeSubscribeアノテーションを付けたメソッドは、そのメソッドの引数で指定したイベントが発生したときに呼び出される」
のような感じになると思う

106 :72:2012/10/20(土) 11:29:59.48 ID:8VnKgfnA
こんにちわ。
ここにはおせわになっているので、少しの恩返し程度で、適当にしてみました。

ttp://pastebin.com/cWbxx6D7

ttp://www.minecraftforge.net/wiki/Installation/Source

もしかしたら、追加するかもしれませんが、できる範囲で書きたいと思います。
勝手に翻訳もどきとかしていいんだよねたぶん...

107 :名無しさんの野望:2012/10/20(土) 15:17:16.31 ID:7RW87V2Q
wikiに書いたら?
ちょろっと手直ししたい感じのがちらほらと
リンクも張れるし

108 :名無しさんの野望:2012/10/20(土) 15:31:41.10 ID:F1gDgTv0
>>104です

>>105
Javaの単語かどうかは自分では判別できないことが多いので、その辺りはなるべく原文と併記で行きたいと思います

109 :72:2012/10/20(土) 15:48:46.90 ID:8VnKgfnA
wikiって、どこのwikiですか?
ここ? -> ttp://www26.atwiki.jp/minecraft/pages/86.html
編集したことないので、数日後になるとおもいますが、挑戦してみます。
逆につくってくれてもOKですよ。
自分は、自分のmod周辺の理解の為に、超訳してるだけなので。
作業結果は、ちら裏程度の質ですが出していきますので。


110 :名無しさんの野望:2012/10/20(土) 20:39:31.74 ID:F1gDgTv0
ModdingWikiのmiyabi氏に連絡を取ってみようと思いますが、翻訳作業をやると言う方はいらっしゃいますか?

111 :名無しさんの野望:2012/10/20(土) 23:26:12.01 ID:F1gDgTv0
forgewikiはライセンスがコピー可のようなので、特に連絡なしでModdingwikiに翻訳していってしまいます
Java用語などが不自然に訳されてしまっているのを見つけたら、直していただけると嬉しいです

112 :名無しさんの野望:2012/10/21(日) 12:03:36.78 ID:DWw/ezAZ
ModLoaderでのMODが作れるようになるチュートリアルみたいなのは散見されるんだけど
Forgeでの初心者向けチュートリアルみたいなのないよね…欲しいなあ

113 :名無しさんの野望:2012/10/21(日) 20:08:26.25 ID:ZFvfGI34
>>112
MLで作ったことあるなら、英語だけどForgeWikiのチュートリアルが良いと思う
そういうのをModdingWikiにも欲しいな

114 :名無しさんの野望:2012/10/21(日) 20:11:45.81 ID:AVJ9Btvi
Moddingwikiにやりかけ残しておいたら知らぬ間に完璧に翻訳してあった…
世の中優しい人が沢山居るんだなあと実感できたけど、なんか個人的には不完全燃焼…
嬉しいんですけどね

115 :名無しさんの野望:2012/10/21(日) 21:18:12.00 ID:ZFvfGI34
新Forgeのチュートリアル追加もどんどん進んでるな
いつもwikiの解説お世話になってます

116 :名無しさんの野望:2012/10/21(日) 22:06:13.43 ID:AVJ9Btvi
あっれえこのforgeのチュートリアルあったら翻訳いらんやん
勉強と恩返しの両立ウマーって思ってたのに

117 :名無しさんの野望:2012/10/21(日) 22:25:18.17 ID:BgOzHp8z
>>114
ごめんね
英語と日本語交互に書いてあるの見てウズウズしてきちゃったんだ
投げやりなとこもあるから変に感じるかも

>>115,116
なにこれすごい
JavaDocの翻訳なら需要あるんじゃないかな多分きっと恐らく

118 :名無しさんの野望:2012/10/22(月) 00:31:00.66 ID:Ny63LonR
立体音響なMODありませんか? どの方向から音がしてるのかわかったらいいなぁと・・

119 :名無しさんの野望:2012/10/22(月) 00:32:24.57 ID:Az8wgj6M
>>118
はじめからある程度サラウンドなのよ

120 :名無しさんの野望:2012/10/22(月) 02:42:21.22 ID:Efa06DAq
Forgeのチュートリアルすごい…めっちゃ読みやすい
編集してくれた人ありがとう

>>118
ヘッドホンでやってると今でも結構わかりやすいよ

121 :名無しさんの野望:2012/10/23(火) 07:22:42.82 ID:UswLdg7R
eclipseでやってると最初からclassファイルが出来るけど、
それでもMCPでコンパイルしないと使えないもんなの?

122 :名無しさんの野望:2012/10/23(火) 11:21:12.38 ID:2OGL2Bqq
>>121
難読化が必要だから、配布用はMCPのコンパイルが必要

123 :名無しさんの野望:2012/10/23(火) 23:28:19.80 ID:tnVHeHep
もじゃは新興ゲーム会社で、急成長しすぎて人数が追いついてないイメージw

124 :名無しさんの野望:2012/10/25(木) 04:31:08.52 ID:HVkA+q7d
MCP1.4.2版を作成してるところを配信でみられるよ

MCP作成してる人のURL
https://twitter.com/SeargeDP

配信URL
http://ja.twitch.tv/seargedp

125 :名無しさんの野望:2012/10/25(木) 22:29:55.56 ID:Ci2iwvIp
>>122
そうなのかー、ありがとう!

126 :名無しさんの野望:2012/10/26(金) 04:44:03.92 ID:1p5t/awE
1.4.2用MOD作るのにForge6.0.1.332でMCP環境構築しようとしたらinstall.cmdで色々エラーがでた。
引数の数が違ったりとかだったのでpythonのソース修正して何とか上手くいったけど
本当はどうやるものなんだろう。MCP7.2より新しいのがあるの?

127 :名無しさんの野望:2012/10/26(金) 06:20:59.29 ID:sDh/iBhi
>>126
mcp719が1.4.2対応版だよ

このページの
http://mcp.ocean-labs.de/index.php/MCP_Releases

MCP 7.x
You can find MCP 7.19 for Minecraft 1.4.2 and Server 1.4.2 here: mcp719.zip
って書いてあるところ

128 :名無しさんの野望:2012/10/26(金) 12:23:05.48 ID:1p5t/awE
>>127
おぉ、ありがとう!
ここも確認したつもりだったけど見落としてたか。

129 :名無しさんの野望:2012/10/26(金) 15:50:47.11 ID:lmh6n8s6
アドオンの作り方がよくわからない

IC2のアドオン作ろうと思ってるんだけどドリルの上位互換のツールを作ろうとした時
ドリルをextendsして新しいドリルを作るみたいなことはできないんだよね?

130 :名無しさんの野望:2012/10/27(土) 21:05:04.83 ID:axCitGyV
IC2のjar使って直に書くならそのままextends出来るけど
MCP使って書くなら、IC2のjarもMCPと同じ識別子での難読化解除しないと
バニラのクラスの不整合でコンパイル出来ない

131 :名無しさんの野望:2012/10/28(日) 10:56:37.83 ID:eP2sGJkC
Minecraft1.4.2 ForgeUniversal
バニラのアイテム”水入りバケツ”をかまどで鍛錬して、
金魂が3つ取り出せるっていうレシピを作ったんだけど、
一緒にバケツまで消費してしまう。
かまどで鍛錬してもバケツを消費せず、中の水だけ消費する方法を知りたい

132 :名無しさんの野望:2012/10/28(日) 13:17:54.68 ID:zl3tm57b
>>131

・TileEntityFurnaceを書き換える
・右クリック使用すると金塊3個と空バケツになる「金塊入りバケツ」を実装する

好きな方選べ

133 :名無しさんの野望:2012/10/28(日) 14:01:25.92 ID:eP2sGJkC
>>132
ありがとう!
とりあえず後者のほうで作ってみる


134 :名無しさんの野望:2012/10/28(日) 15:20:26.17 ID:48Bi5Tsn
Modding WikiのMinecraftForgeUniversalチュートリアルがさらに更新されるのを毎日待っている
ああいう解り易い説明少ないんだもの…くわしい方どうかお願いします

135 :名無しさんの野望:2012/10/28(日) 16:16:21.69 ID:LeSq1xze
[1.4.2]RedstoneBlock-1.0.1 MOD
http://www1.axfc.net/uploader/Sc/so/389202.zip
前提:forge6.0.1

レッドストーンブロックがレッドストーン動力を出すように変更
また、スニークしながら右クリックで動力のONOFFが可能。

136 :名無しさんの野望:2012/10/28(日) 16:17:05.28 ID:LeSq1xze
誤爆った

137 :名無しさんの野望:2012/10/29(月) 04:19:35.44 ID:rwrfj8vR
Minecraft1.4.2 Forge Eclipseです

他のmodで追加されたアイテムを使ったレシピを作りたいんだけど、
他modのアイテムをBlock.stoneみたいな形で呼び出すにはどうしたらいいでしょうか

mcpの中のマイクラ自体にそのmodを導入したらいいのかなとか考えていろいろやってみたんですがわかりませんでした…

138 :名無しさんの野望:2012/10/29(月) 17:26:54.51 ID:nJ0Z6TAi
>>137
例えばic2なら、
ItemStack ironDust = ic2.api.Items.getItem("ironDust");
みたいに出来る。
APIのソースなら公開されてるから読んで参考にするといい。
Javaのリフレクションの知識が必要になるけど。

139 :名無しさんの野望:2012/10/29(月) 17:38:46.48 ID:wOzmaW5V
ダメージ値無視でいいならコレ
アイテム名を調べないといけないが
ModLoaderで使っているがForgeでもうごくとは思う

public Item getItemFromName(String name) {
  String itemName = (new StringBuilder()).append("item.").append(name).toString();
  for (int i = 0; i < Item.itemsList.length; i ++) {
    Item item = Item.itemsList[i];
    if (item != null) {
      String itemName2 = item.getItemName();
      if (itemName.equals(itemName2)) return item;
    }
  }
  return null;
}

public Block getBlockFromName(String name) {
  String blockName = (new StringBuilder()).append("tile.").append(name).toString();
  for (int i = 0; i < Block.blocksList.length; i ++) {
    Block block = Block.blocksList[i];
    if (block != null) {
      String blockName2 = block.getBlockName();
      if (blockName.equals(blockName2)) return block;
    }
  }
  return null;
}


140 :名無しさんの野望:2012/10/30(火) 05:43:57.51 ID:r8RiO2Oy
今日初めて中身見たけど、
IDとIdが混在してたりLogとWoodが混ざってたりはらたつのり。

metadataがブロック固有の情報?

141 :名無しさんの野望:2012/10/30(火) 10:25:14.87 ID:6K1uinR3
はい
ちなみに4bit、羊毛が16色の理由
それ以上の情報(チェストの中身など)はTileEntity

142 :名無しさんの野望:2012/10/30(火) 13:23:15.96 ID:r8RiO2Oy
ああ、位置情報もTileEntityだったのか。ありがと。

サーバー導入型の、1.4.2に対応した木こりMOD探すのが面倒だから作ろうと思っててね。
LogのMetadataは向き情報に使われちゃったから、プレイヤー配置のフラグは別に作らないとな。

143 :名無しさんの野望:2012/11/03(土) 12:56:30.56 ID:/HqEsh95
環境:Minecraft1.4.2 MCP719 ForgeUniversal
新しく追加した作物を収穫するときに、
小麦のように種と作物をドロップさせる場合、


public int idDropped(int par1, Random par2Random, int par3)
{
return par1 == 7 ? TutorialApple.shiftedIndex : TutorialAppleCropSeeds.shiftedIndex;
}

public int quantityDropped(Random par1Random)
{
return 2;
}

BlockCrops.javaを参考になんとなくで↑のようにしたんだけど、当然のごとくだめだった
TutorialAppleのほうはドロップできたんだけど・・・

144 :名無しさんの野望:2012/11/03(土) 14:29:06.18 ID:FwKMs0pS
>>143
ソースがその部分だけだとよくわからないな……

ちなみに、idDroppedメソッドの第一引数(int par1)にはメタデータが入る
小麦ブロックの場合、完全に成長(メタデータ = 7)したときのみ小麦アイテムを落とす

145 :名無しさんの野望:2012/11/09(金) 15:00:44.38 ID:/g825Tks
配布されてるmodのソースが見たければMCPでデコンパイル出来るみたいなんだけど、
どうやるのかな?

146 :名無しさんの野望:2012/11/09(金) 15:56:30.70 ID:p6vzM0OO
minecraft.jarにmodのクラスも全部突っ込んでデコンパイルしてみたら?
でもMCPはレトロガード使ってて、レトロガードってエラーを無視する機能無いから
何かあるとすぐエラー終了する

エラーでデコンパイル出来なさそうならDJ Java Decompiler使ったらいいよ
バニラの難読化部分はそのままだけどね
.classの拡張子に関連付けとくと、7zipでjar開いてclassダブルクリックでソース見れて便利

147 :名無しさんの野望:2012/11/09(金) 16:18:23.34 ID:/g825Tks
>>146
jarに突っ込んでデコンパイルしてみてもエラーが出たから困ってたんだ
ありがとう
普段はjd-guiっていうの使ってみてたんだけど難読化部分がイミフでわけわかんなくてね…
作者さんにソース見せてもらえないか頼んでみて、無理だったら勉強しなおしてみる

こんな質問に反応くれてありがとう

148 :名無しさんの野望:2012/11/11(日) 15:28:01.79 ID:m/PrgAuq
昨日、MODを作り始めた新参者です、よろしくお願いします。

Forge環境で開発してます。(MC1.4.2、Forge 6.0.1.349)
@Mod.Initでオープンしたファイルを、MC終了時のタイミングでクローズしたいのですが、
「MC終了時」を判定するのに、どのイベントのタイミングが適切でしょうか。

MODの性質上、ファイル書き込みがそこそこ頻繁に行われるので、
基本、開きっぱなしにしておき、たまにflushすることを考えてます。
タイミングが無ければ、毎回open/closeするしかないのですが・・・よろしくお願いします。

149 :名無しさんの野望:2012/11/11(日) 18:18:59.92 ID:OAyEqZJT
終了のイベントはなかった気がする、TickTypeを確認してみるといいんじゃないかな
閉じる際はGui開くので、そのあたりで割り込むくらいしかなかったような気がする
ただ、正常手順の終了以外の場合も考慮するなら、それだけじゃ無理
そのあたりも考えると、modというよりもjava、というかJVMの仕組みとかになりそう

つか、どのみちリソースはJVM終了時に閉じられるから明示しなくても、という考え方も出来る
どうしてもやりたいならシャットダウンフックくらいだと思うが、
シャットダウンフェーズでファイル操作をやるかは微妙なところかも…?

どういう経緯を経てファイルクローズしない選択をしたかわからないから、蛇足かもしれないけど、
開きっぱなしにしない場合に起こると想定した問題(おそらく負荷による処理落ち等)が
本当に発生するのか、みたいな調査はしてるのかな?

ファイルオープンにどれくらいコストがかかってて、それでどれくらいFPSが低下するか
みたいな事を踏まえてないのであれば、先にそのあたりを調べてみてもいいと思うよ
フレーム処理毎やTick毎に一回ファイルにログを書き出すコードとか書いて試してみるとか、手はいくらでもある

150 :名無しさんの野望:2012/11/11(日) 18:29:25.29 ID:QnCY7814
一定時間でflush
esc押したのを検知してflush
x押したり強制終了は知らん

で逃げればいいんじゃね

151 :名無しさんの野望:2012/11/11(日) 21:14:59.97 ID:m/PrgAuq
>>149
詳細に書いて頂き、ありがとうございます。正直なところ、コストまでは考えてませんでした。
今回の経緯は、出力回数はそこそこあるけど、1回のファイル出力量は少ないので、「オープンしっぱなし」の発想が出てきました。
でも、149の書き込みをみて、単純に毎回open/closeしてもいいように思えてきました。

そもそも異常終了は、異常終了すること自体が問題なので、
そこまでファイルの中身を保証する必要はない・・・というのを前提に考えてました。

また、異常終了の時のために、期待しない程度にfinalizeを実装して、「運が良ければcloseされるかも」ぐらいで考えてました。
GCからfinalizeが呼び出されないケースもあるでしょうけど、
flushしとけば、そこまでは記録されると考えて、あとはバッサリ、あきらめで(汗)
いずれにしろ、仰る通り、JVM任せですねぇ。

TickTypeは、ITickHandlerを実装してあげれば、高頻度で「on*Tick*」系が呼び出されると思えばいいのかな?ちょっと試してみます。

>>150 さすがに、キー検知まではしたくない・・・やりだしたらきりがなさそうw

152 :名無しさんの野望:2012/11/11(日) 21:32:29.05 ID:m/PrgAuq
うわあ、ITickHandler、めっちゃ見間違えてたw
忘れてくださいww

@ServerStarting、@ServerStoppingが使えないかと意気込んだけど、
これ、マルチだと、イベント発生しないのね、当然か・・・。

153 :名無しさんの野望:2012/11/11(日) 21:34:16.01 ID:OAyEqZJT
Esc押してってのは開いてるGui見ればわかるのでそっちでいいかも
描画されないとボタン操作とかできないから、確実に操作前に判断できる

あとは、自前でバッファ用意して、書き出し遅延する仕組みを設けるって手もあるんじゃないかな
書き出しが必要になったらフラグを立てて、書き出す内容を適当なコレクションなんかにバッファリング
毎フレームなり毎Tickなり自前で計測した一定時間毎なり、適当な頻度で、書き出しフラグのチェックして
必要なときだけ、ファイル開いてバッファしておいた内容を全部書き出してフラグとバッファクリア、って感じ

RenderのTickは秒間に数十回〜数百回呼ばれるので、
その間毎回Open/Closeするとかだったらコスト気にしないといけないと思うけど
毎秒1回くらいの書き出しとかなら、毎回インスタンスnewしてても体感できるような差はそんなに出ないと思う

154 :名無しさんの野望:2012/11/11(日) 21:43:59.50 ID:OAyEqZJT
>>152
ITickHandlerを実装するクラスで、EnumSet<TickType> ticks() を、
HookしたいTickの種類を返すように実装してあげればOK
んで、TickRegistryにそのhandlerクラスのインスタンスを登録してあげればOK

あと、1.4.2用はもう開発進んでない(1.4.4系に移ってる)から、1.4.2最新の355にしてもいいかもしれない
356から1.4.3、360から1.4.4

155 :名無しさんの野望:2012/11/11(日) 22:19:37.82 ID:m/PrgAuq
>>153
ですです。
そのバッファをjava.io.BufferedWriterをかますことで実現しようとしてたので、適度にflushという話に。
http://docs.oracle.com/javase/jp/6/api/java/io/BufferedWriter.html

「Guiを見る」っていうのがピンとこないのですが、ESCキーを押したときのGame menuの事を指してるんでしょうか。
なら、このメニューを表示するタイミングでflushするのがよさそうな気がしますね。

たまたま見てたITickHandlerのページを見る限り、Minecraft.getMinecraft().currentScreen;で判断できそうです。
・・・でもできれば切り替わる時のイベントがほしいなぁ。ということで、今から探してみます。

ITickHandlerを実装して試してみたら、超高頻度でtickStartとtickEndが交互に呼ばれる・・・。
この二つの違いがよくわからないけど、とにかくこれは今回の用途に合わない気がするので、見送りですね・・・
このイベント受け取るほうが、ファイル書き込みより負荷が高かったりして(笑)

>>154 あ、なるほど。Recommendedはまだ349みたいだけど、1.4.2の最終が355になる、ってことですね。了解です!

156 :名無しさんの野望:2012/11/11(日) 22:51:09.66 ID:m/PrgAuq
むう、メニューを表示するタイミングを通知するイベントはないですね。

ITickHandlerを実装して、tickEndでcurrentScreenがNULLからインスタンスがセットされたかどうかで判断すればよさそうです。

Minecraft#runTickを見ると、
FMLCommonHandler.instance().onPreClientTick();でtickStart
FMLCommonHandler.instance().onPostClientTick();でtickEnd
が呼ばれてたので納得です。

とりあえず、これで実装してみたいと思います。
ありがとうございました。

157 :名無しさんの野望:2012/11/11(日) 23:17:26.25 ID:LAffeFb3
Modというかちょっと弄ってみたくなって始めたばかりなんだけど、
MC1.4.2/Forge6.0.1.355です

スタックできる牛乳バケツのかわりのアイテムが欲しくて
バケツミルクのクラス丸コピーして試してみたけど
普通に飲めるけど毒が治らないアイテムになってしまいました

なんでかなと思ってcurePotionEffectsを検索して眺めてたら、ポーション効果解除のあたりで
バケツミルクがポーション効果解除出来るアイテムのリスト(curativeItem?)に入ってる
みたいな…雰囲気の部分があったから
これが怪しいとは思ったのだけれど
どうやったらcurativeItemに新アイテムを追加できるのかがわかりません

やり方を教えていただけませんか?

158 :名無しさんの野望:2012/11/11(日) 23:36:15.09 ID:OAyEqZJT
>>155-156
rei's minimapとかspawncheckerとか、画面に何か描画したり文字描いたりみたいな
毎フレームの処理を行うModだと大体このあたりの処理を使ってるよ
ともあれ、よほど重たい処理を実装しない限りは問題ないので、試しにやってみてもいいと思う

呼ばれる回数はマシンスペックに依存するから(FPSの値の回数だけ毎秒呼ばれてる)
一定時間おきに〜みたいな処理をしたいのであれば、ゲーム内の時間やSystem.nanoTime()の値を使って
処理間隔を調整してやるといいかも

>>157
Item#setCreativeTab(CreativeTabs)
eclipse使ってるなら参照を検索して使っている場所をみて参考にしよう
あとは、クリエイティブタブにアイテムを追加してる別のModのソースとかも参考にしてみるといい
GitHub検索してみたり、jarに入れてデコンパイルしたら、ソースが出てくるものも少なくないよ

あと蛇足だけど、聞きたいことがわかりにくいので、まず何を聞きたいかを明確にしたほうがいいと思うよ
> どうやったらcurativeItemに新アイテムを追加できるのかがわかりません
重要なのはこの質問内容と環境情報だから、それ以外の付加情報とは分けてくれたほうが、
聞きたいことが読み取りやすいから回答もしやすくなるよ

159 :158:2012/11/11(日) 23:39:36.89 ID:OAyEqZJT
>>157
ああ違う、的外れの回答してたw
っていうかクリエイティブのタブに追加したいのかって思っちゃったわ

ちょっとソースとかおっかけてみないと回答はできなさそうなのでスルーしてくだし

160 :名無しさんの野望:2012/11/11(日) 23:53:14.15 ID:LAffeFb3
>>159
解りづらい質問の書き方で混乱させて申し訳ありませんでした
クリエイティブタブへの追加はできています!
回答しようとしてくださってありがとうございました

161 :名無しさんの野望:2012/11/12(月) 00:01:05.24 ID:QnCY7814
>>157
ForgeじゃなきゃBottleMilkデコンパイルで解決だけど
まぁとりあえずBottleMilkデコンパイルしてみたらいいんじゃね

162 :158:2012/11/12(月) 00:05:04.33 ID:C+lQ/4Fi
>>157
FMLとForgeのソースを見比べて確認してみたけど、ItemBucketMilkのソースはForgeで変更されてるね
変更前のコードはこう
 par3EntityPlayer.clearActivePotions();
変更後はこう
 par3EntityPlayer.curePotionEffects(par1ItemStack);
なので、変更前の処理に戻すことでも目的は達成できそうな気がする
EntityLiving#clearActivePotions() の処理は変更されてなさそうだし、やってることは大体同じっぽい。

でもって、質問内容の PotionEffect#curativeItem リストに追加する方法だけど、
フィールドはプライベートになってるが、getterがあるので、それを利用しListを取得してaddすることが出来る
PotionEffect#getCurativeItems()

Forgeでの変更点を探すだけなら、patchを見てもいいけど、WinMargeとかを使ったほうが比較は楽ちんだから、
このあたりを比較するために、バニラ、FML、Forgeのコンパイル済みのソースを用意しておくと結構便利なのでオススメ

163 :名無しさんの野望:2012/11/12(月) 06:18:05.19 ID:wQPX9hx7
>>158
ありがとうございます!
>>156 に書いた方法で、currentScreenの変更を検知し、そのタイミングでflush出来ました。
チャット入力欄を出しただけで、変化しちゃうので、一部画面を除くような処理も入れてます。
今のところ、いいタイミングでflushできてます。

で、やっぱりcloseを書くところがないので、結局書かず・・・。
必ず呼ばれる保証はいらないけど、どこかにcloseが書けないとキモチワルイです・・・(笑)
気分の問題なので、closeなしのソースでもいいんですけどね〜。

とにかく、ありがとうございました^^

164 :名無しさんの野望:2012/11/12(月) 13:04:14.05 ID:dFnZfl9g
>>161
デコンパイルしたBottleMilkの中身をコピーして新しいアイテムを作ろうとしていたのです
バニラとForgeのBottleMilkが違うものとは思っていませんでした、アドバイスありがとうございます!

>>162
お答え本当にありがとうございます!
わざわざ変更点まで探していただいて恐縮です。
Forgeとバニラでソースが違う部分があるという認識がうっすらとしかなくて
考えにいたりませんでした。初心者過ぎて申し訳ないです…。
curativeItemへの追加方法もありがとうございました。
addCurativeItemsを試してみて出来なくてそこでつんでしまっていました。
Javaへの理解が足りないからですね。

教えていただいた方法で出来るようになりました。
本当にありがとうございます
二日くらい躓いていたので本当に嬉しいです。
バニラのソースを準備しておくという発想がなかったので早速やってきます!
ためになりました、ありがとうございました!

165 :名無しさんの野望:2012/11/16(金) 07:52:06.35 ID:1lqayMEH
特定のブロックにentiry(今回の場合投げたアイテム)が触れたときの処理なのですが、
以下のようにしてもentity.entityIdからIDや名前が取得できるのはなぜなのでしょうか?
完全に消えるタイミングはまだ先なのでしょうか。

というのも3ブロックの中心にアイテムを落とした場合、3ブロックで同じ反応をして
しまうため残り2つでは処理をさせないようにentityが存在していない状態にしたいのです。

といっても1つ目のonEntityCollidedWithBlockが終わってから2つめの処理が開始されないと
意味はないのですが。


public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity){
if(!world.isRemote){
entity.setDead();
world.removeEntity(entity);
System.out.println("===="+entity.getEntityName()+"===== ID:"+entity.entityId);
}
}

166 :名無しさんの野望:2012/11/16(金) 09:49:45.24 ID:lHJXqxvh
entiryがMinecraftのワールド内に存在していることと
JavaVM上に存在していることは別の話

setDeadしとけばisEntityAlive()がfalseを返す==存在していない状態
それで処理をスルーすればいい

setDead,removeEntity後に名前が取得出来るのは気にしなくていい
気になるならガベージコレクションでgoogle

167 :名無しさんの野望:2012/11/16(金) 10:35:13.36 ID:1lqayMEH
返信ありがとうございます。
setDeadなどで削除すれば内部変数もnullなどで書き換えられるのかと思っておりました。

アドバイス通りisEntityAlive()で判断することで最初の1ブロックだけに処理を実行させる事ができました。
ありがとうございました。

168 :名無しさんの野望:2012/11/17(土) 14:32:33.79 ID:yrrbPCVl
ネザーゲート関連なのだが
地上A地点にゲート開通→ネザー地点Bに開通
ネザー地点Bのゲートを壊し、お気に入りの場所にネザー地点Cのゲートを開通
以降地上A地点とネザー地点Cが繋がる、座標による仕様は一切受けない

つまりネザーゲートワープしない人向け、任意で地点固定できるネザーゲート
欲を言えば、バニラのゲートと別物(共生可能)の物

可能なのですかね?

169 :名無しさんの野望:2012/11/18(日) 00:12:25.76 ID:J4r+AqH2
MOD本スレにも投下した質問なんだけど、あっちではこちらに書いたら?と言われたんで転載。
無視していいという結論になったんで緊急性は低いけど、原因がわからないのがちょっと。

Forge 版の開発でエラーが起こってmodが作れない。ModLoader版はなんの問題もなくリリース済み。
前に使っていたPCがクラッシュして、新しく環境作ったせい・・・?

【環境】
Windows7 Professional 64bit。CPUやらGPUはいらんよな。
Java は具体的にversion表示。ちなみに64bit版。
C:\D\User\Minecraft\1.4.4\mcp721>java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)

【最短で再現する手順】
1. mcp721.zip を mcp721 に解凍。
2. minecraftforge-src-6.3.0.372.zip を mcp721 に解凍。(mcp721\forge ができる)
3. mcp721\forge の install.cmd を実行。

自動で色々ダウンロードしたりパッチあたったりコンパイルされたり。
と、ここまでは問題なし。ソースもできてる。最短で再現させるためにソース修正は省略。

4. mcp721 の reobfuscate.bat を実行すると、エラー。
最初のクライアント側の処理は終了。サーバ側の作成でエラーになり失敗。

以下はエラーの詳細ログ(logs\server_ro.log)。

170 :名無しさんの野望:2012/11/18(日) 00:12:51.92 ID:J4r+AqH2
# If this log is to be used for incremental obfuscation / patch generation,
# add any '.class', '.method', '.field' and '.attribute' restrictions here:


#-DO-NOT-EDIT-BELOW-THIS-LINE------------------DO-NOT-EDIT-BELOW-THIS-LINE--
#
# RetroGuard MCP v3.6.5
#
# Logfile created on Sat Nov 17 22:53:43 JST 2012
#
# Jar file to be obfuscated: server_recomp.jar
# Target Jar file for obfuscated code: server_reobf.jar
# RetroGuard Script file used: retroguard_ro.cfg
#

# Unrecoverable error during obfuscation:
# Review input jar for duplicate classes (same classfile with two different filenames).
# java.util.zip.ZipException: error in opening zip file
# at java.util.zip.ZipFile.open(Native Method)
# at java.util.zip.ZipFile.<init>(ZipFile.java:127)
# at java.util.zip.ZipFile.<init>(ZipFile.java:143)
# at COM.rl.obf.GuardDB.<init>(GuardDB.java:113)
# at COM.rl.obf.RetroGuardImpl.run(RetroGuardImpl.java:172)
# at COM.rl.obf.RetroGuardImpl.obfuscate(RetroGuardImpl.java:131)
# at COM.rl.obf.RetroGuardImpl.obfuscate(RetroGuardImpl.java:113)
# at RetroGuard.main(RetroGuard.java:90)

171 :名無しさんの野望:2012/11/18(日) 00:15:15.63 ID:J4r+AqH2
ちなみに、MOD本スレでも言われたんだけど。
jars の準備はしなくても Forge が自分でダウンロードしてくれるっぽいので手順には不要。

172 :名無しさんの野望:2012/11/18(日) 01:17:22.27 ID:TddR/97R
FML単体でも発生するからそっち側の問題の可能性ある
ただ、クラスファイルは正しく出力されてるんじゃないかな
出力されたmodのクラスファイルを試してみよう

173 :名無しさんの野望:2012/11/19(月) 00:35:07.43 ID:xOUVEhRK
MOD作ろうと思ったらツールの部分のみチュートリアルないじゃねーか・・・

174 :名無しさんの野望:2012/11/19(月) 12:42:04.62 ID:dy3Jb7oP
>>168
可能

>>169-172
server_recomp.jarが空になってるっぽいから
一度recompileしてからreobfuscateしてみたら?

>>173
ツールってつるはしとか?
forge等でのアイテム作成/登録が分かったら
後はバニラの既存ツールのソース見た方が早いと思う

175 :名無しさんの野望:2012/11/19(月) 20:15:00.37 ID:SQuwXdC7
ツルハシとかって「EnumHelperの利用」じゃないの?

176 :名無しさんの野望:2012/11/21(水) 00:45:34.16 ID:yQ60aRBs
littleMaidMob

1.4.4出してください^^

177 :名無しさんの野望:2012/11/21(水) 00:49:22.29 ID:mjv1WiGw
>>174-175
非常に助かった
ありがとう

もしよろしかったら独自のテクスチャ追加ってどこにプログラム入れればいいnあっっs

178 :名無しさんの野望:2012/11/23(金) 23:55:21.07 ID:hBNn/nDh
チラシ裏
1.4.2でインベントリを持ったEntityを作ろうと思い立って、1.2.5時代の製作物を移植した。

GUIを開けて、よしよし、と思ったのもつかの間、まるで機能しないポンコツGUIであることが判明。
すわコンテナかインベントリの不備か、とコード弄りに勤しむものの、一向に改善の兆しが見えない。

しばらく無意味なコードの出し入れを続けたが、デバッグ用コードの動作を見てどうもおかしいと気付く。
調査の結果、シングルのマルチ化の影響でPacketとかいう珍妙なブツも必要だとのこと。
そのやり取りにはbyteだのObjectだの、もっと根本的な知識が要求される様子。

これが噂の財政、もといマルチの壁ですか(´・ω:;....
ビット演算とか、僕の矮小な脳みそを抹殺する陰謀めいたものすら感じますね

179 :名無しさんの野望:2012/11/24(土) 15:23:53.09 ID:KNgtmErk
インベントリのやり取りにパケットいらんかったような・・・
byteもビット演算も全く関係ないし
もしかしてForge(FML)使って無いんかな?
超小物以外はFML無いと茨の道だと思うよ

180 :名無しさんの野望:2012/11/24(土) 18:23:20.92 ID:ZCA/vqo1
>>174
recompileしても

== MCP 7.21 (data: 7.21, client: 1.4.4, server: 1.4.4) ==
# found ff, ff patches, srgs, name csvs, doc csvs, param csvs, renumber csv, ast
yle, astyle config
== Recompiling client ==
> Cleaning bin
> Recompiling
- Done in 6.80 seconds
== Recompiling server ==
> Cleaning bin
> Recompiling
Server side recompiling skipped, this is normal
- Done in 0.00 seconds

と出る。temp/server_recomp.jar を消してもダメ。
temp/cls と temp/bin の /minecraft_server 以下は生成されてる。
しかし bin に minecraft_server フォルダが作られない・・・むう。
サーバのソース更新してみないとダメなのか?

・・・まて、何故か src 以下に common と minecraft しか作られてない!
過去のフォルダ確認したら、1.3.2 (4.0.0.204) の時点まではあるが、
1.4.2 (6.0.1.341) の時点から作られてない・・・サーバ側modの提供サボってて気づかなかった。
mcp の decompile すると、src には mcp版のサーバソースができるけど、forge の install すると
src/common が生成されて src/minecraft_server は消えてしまう。

なんかサーバソース作成する手順って追加された?もしくは共通化でも完遂した?
630 のChangelogで、これからは minecraft_server.jar は参照するけどマージしねーよ
とか書いてあるんだがこれのことか?

181 :名無しさんの野望:2012/11/24(土) 18:25:01.78 ID:ZCA/vqo1
誤) 630、正) 601

182 :名無しさんの野望:2012/11/24(土) 19:00:09.29 ID:FdqqUa/a
>Server side recompiling skipped, this is normal
サーバーのリコンパイルがスキップされるのは正常って書いてあるけど

183 :名無しさんの野望:2012/11/24(土) 19:02:28.94 ID:ZCA/vqo1
Installation/Universal
http://www.minecraftforge.net/wiki/Installation/Universal

の Vanilla Server のトピックって Build 351 以降では、forge の jar を
minecraft_server.jar と同じフォルダに置いて java -jar で動かせ。
とある、これのことか。
Forge って ClassLoader いじくって、クラスの置き換え+αしてる感じのコード
だから、理にかなった方法だけど・・・
commonとかminecraft 以下の net/minecraft/src はサーバ側のソースとして
も使うということなのかなぁ。

やはり、ソースの扱いがイマイチわからねぇ。もうちょっとチュートリアル周り探すか。

184 :名無しさんの野望:2012/11/24(土) 19:31:57.87 ID:xa+KJdnU
アイテムを大量作成するときに、素材をいちいち加工枠に移動させるのがめんどいから
手持ちの素材を一括で全部目的のアイテムに加工してくれるMODつくりたいんだけどどうすりゃいいんだ
とっかかりがつかめなくて、どこをどう手をつければいいのかわからん

185 :名無しさんの野望:2012/11/24(土) 19:55:34.87 ID:vsKBKDPT
設計ができてりゃなやむことはない
・どうやって目的のアイテムを選択するか
・目的のアイテムが2種類以上のレシピを持っていた場合どうするか
・指定個数作りたい場合どうするか
・GUIを使うのか、使うならGUI設計はどうするか
とっかかりを見つけてないのにつかめるはずが無い
お前の発言からは加工枠に移動させずに一括作成するという点だけしかできてない
これは要件定義、設計をしろ設計を

186 :名無しさんの野望:2012/11/24(土) 20:18:32.16 ID:xa+KJdnU
>>185
ああ書き方が悪かったかもしれん、すまん

たとえば加工枠に木材いれて棒にするとき
完成枠の棒をshift+左クリックで、加工枠分の棒が一括作成される機能はすでにあるじゃん

それをたとえばtab+左クリックとかで棒をクリックすると手持ちのすべての木材が作成できる分だけ
全部棒にクラフトされる、という「ボタンの機能」をつくりたい

指定個数作ることはなくできる分だけ全部作成する

んでデコンパイルしてsrc内のjavaファイルをみているんだけど
どのファイルをいじっていけばいいかわからない状態なんだ

187 :名無しさんの野望:2012/11/24(土) 20:30:42.93 ID:vsKBKDPT
悪いことは言わん
時間を無駄にするだけ
やめとけ

188 :名無しさんの野望:2012/11/24(土) 20:44:15.18 ID:xa+KJdnU
そっか、ありがとう
せめてこういう機能を作りたいときはどこをどう変更してつくっていくのかを大まかにでも知りたい
差し支えなければ教えてほしい

189 :名無しさんの野望:2012/11/24(土) 20:46:02.31 ID:lM+C6k7L
>>179
思いつきの個人用小物modを、やる気とアイデアがあるうちに急いでメモ帳でシコシコ、というのが基本スタイルなので、
Forgeの仕様や規則を勉強するだけでやる気の山が過ぎてしまうのでは、と思うとなかなか踏み切れないチラシ裏。
なーに、壁じゃなくて茨ならきっと大丈夫さ

GUI動きました\(^o^)/ありがとー

190 :名無しさんの野望:2012/11/24(土) 20:52:03.55 ID:APGT2NbK
それを判断できるか出来ないかが、Mod作成できるか出来ないかの境い目だと思う
あとはそのあたりを面白いと思えるかどうか
中高生でもMod作ったりしてるわけだし、やってやれないことはないとおもうぜ
参考になる他のModはいっぱいあるわけだしな

191 :名無しさんの野望:2012/11/24(土) 20:57:17.51 ID:FdqqUa/a
>>183
cpwのおかげでBuild 315からはインストール時にminecraft_server.jarをいじる必要が無くなったよって意味だと思う

192 :名無しさんの野望:2012/11/25(日) 00:07:23.58 ID:/ViCmKSO
>>191
クラス上書きしないから、Forgeのjarの中に(クライアント版retroguard変換名になってる)
クラスをうまいこと(サーバ版rg名に)クラス名を翻訳してロードしてくれるのかな・・・?
※ つまり、クライアント/サーバでクラスが共通。
という意味だったんだけど


確かにどう読んでも >183 はそんな意図は一向に伝わっらない文章だな。
すまねぇ。


クライアントとサーバでコンパイルしなおすのってretroguardでクラス名が変わってしまう事が
その理由って解釈で、それを翻訳できればソースを分ける理由はなくなるはず。
ならばサーバ版ソースコードが無くても納得はできる。
Forgeにはバイトコード操作ツール入ってるから不可能とは言い切れないけど、かなり無茶
な方式だから実現可能なのかどうか・・・
315以降(MC1.4.2以降)にサーバmodを作った人は居ないか?

193 :名無しさんの野望:2012/11/25(日) 01:01:35.44 ID:rFoifOka
recompileしてstartserver.batで起動してみればいいのでは

194 :名無しさんの野望:2012/11/25(日) 01:41:13.54 ID:AjW3Txtv
1.3以降難読化テーブルがクライアントとサーバーで統一されたんじゃなかったっけ?

195 :名無しさんの野望:2012/11/25(日) 02:00:03.16 ID:/ViCmKSO
え、マジ?
と、client.srg と server.srg を比べてみたら、マジだった。

196 :名無しさんの野望:2012/11/25(日) 02:05:14.10 ID:/ViCmKSO
中まで確認せず、サイズ違うしとか思ってた。
・・・律儀に別製作してたよorz

197 :名無しさんの野望:2012/12/06(木) 19:57:13.38 ID:x1F02V1f
925 名前:名無しさんの野望[sage] 投稿日:2012/12/05(水) 20:45:21.13 ID:a9Y2eB46 [1/2]
【クラフトドクター】
様々な病気(状態異常)がランダム(特定のトリガーで発生も有る)で起こる
例えばポーションの弱体化のような症状
薬をクラフトして、病気の豚さんなど助けよう(経験値が報酬)

エンドコンテンツはCTスキャナー
様々な病気を一瞬で的確に治療法を教えてくれる、通常は試行錯誤して治療する

作って・・・ってかまさか有る?

これとか、>>168 俺的に興味あり、誰か作って下さい

198 :名無しさんの野望:2012/12/06(木) 21:57:20.07 ID:fcVXIRIi
>>197
ここは依頼スレじゃない
どっかいけ

199 :名無しさんの野望:2012/12/07(金) 18:56:51.56 ID:i8dPftHb
>>198
お前がどっか逝け、ってかここ来るなw
PCゲーム板で作成のみスレは板違い?ソフトウェア板行き?

もし197がプログラムに疎い金持ちとかだったらどうすんの?
197「お礼にカンパしますよ。」とか・・・ありえないかw

200 :名無しさんの野望:2012/12/07(金) 19:28:59.37 ID:IV+2e/CN
単芝はお帰り下さい

201 :名無しさんの野望:2012/12/07(金) 19:36:39.85 ID:ZQfM/c43
スルーというものもある
レスをつける価値がある内容かをもう一度考えてからレスしよう

202 :名無しさんの野望:2012/12/08(土) 07:21:18.17 ID:gPFxEDUH
1.4.5でModLoader前提でmob追加しようとしてるけれど
MMM氏が苦戦してる理由がわかるわ…
特にバニラにない機能をもたせようとすると
サーバークライアント間の役割分担、データの同期で難易度がマゾい

かといって、Forgeに乗り換えるのも
今までの知識があまり使えなさそうで躊躇してしまう…

203 :名無しさんの野望:2012/12/08(土) 12:12:19.17 ID:TIfMbYfA
土台さえわかれば言うほど難しいことはないし、ドキュメント類も用意されてる、
ちゃんと作ってあげれば、簡単にマルチにも対応も出来るってのもでかい
Forgeも使えば、既存書き換えでしか出来なかったことがいっぱい出来るようになったり、他のModとのコラボもやりやすくなる

ModLoaderは作者がMinecraft離れ気味で今後いつ切れてもおかしくない状況だし、
Mod作成する上での制限も多くて不具合あっても放置されることのほうが多いから
今後もMod作成とかバージョンアップ行う予定でいるなら、
食わず嫌いするより早いとこFML環境に以降して慣れたほうがMod作成は捗るぞ

204 :名無しさんの野望:2012/12/10(月) 01:47:11.08 ID:5G+waZkA
質問させてください。

二個セットで使用する新しいブロックを追加するMODを作りたいと考えています。
そのブロックは、相対するブロックに向かってガイドラインを描写します。(要はコンパス)
悩んでいるのは2点。

 1.ペアをどうやって指定すると便利か。置き順か、クリックで指定か、等。
 2.ペアの座標をどうやって保持・保存するか。

まだぼんやりとしたものしか考えられてないので、なんでもいいのでヒントください。

205 :名無しさんの野望:2012/12/10(月) 11:27:51.52 ID:48LZrd4U
設置したらstackTagCompoundに座標埋め込んだブロックをドロップすればいいじゃない

206 :名無しさんの野望:2012/12/10(月) 12:15:58.80 ID:67LFMvm6
1. TileEntityに相手方座標を記憶するフィールドを用意する
2. dimension, x, y, z をカプセル化する適当なクラスを用意する(仮にWorldCoordとする)
3. 右クリック時にクライアント側の適当なクラスのWorldCoord型staticフィールドを
  チェック、nullならクリックしたブロックの座標をWorldCoordに格納してセット。
  nullでなかったら2つの座標値をサーバに送ったあとnullをセット。
4. サーバ側で2つの座標値から正当性チェック
  エラーがなければ両方のTileEntityに相手方の座標をセット
5. 2つのタイルを更新(getDescriptionPacket()は定義しておく)

こんなとこじゃない?手になにか持ってるかとかShift押してるかとかの判定は3で出来る。

207 :名無しさんの野望:2012/12/10(月) 13:23:59.50 ID:dYKpQ+QJ
ML儲はグダグダしてねーでさっさとForgeに移行しろ

208 :名無しさんの野望:2012/12/10(月) 23:09:28.39 ID:ltFLHUQj
Forge厨お疲れ様です!!

っていう不毛な議論がお望みか?
俺ァ、嫌だね。

209 :名無しさんの野望:2012/12/13(木) 18:28:39.91 ID:THtFMRsK
メモ
1.2.5用forge(src)のinstallでダウンロードされるfernflower_0.8.6.zipが404になってる
 ※http://dl.dropbox.com/u/28221422/MinecraftForge/fernflower_0.8.6.zip

公式(?)のhttp://www.reversed-java.com/fernflower/は落ちてるそうで
以下3箇所から入手出来た
readme.txtなどの差はあるけど、zip内のfernflower.jarは3つとも同一バイナリだった
 ※ MD5:C4E6F208B7CD6CD3D8EF7EDF1161C039

 http://stackoverflow.com/questions/6813729/fernflower-java-decompiler-help
 http://forums.anandtech.com/showthread.php?t=2245638
 http://forum.xda-developers.com/showthread.php?t=2029842

(MCP)/runtime/bin/fernflower.jarに置いてforge/install.cmdで無事動いた

210 :名無しさんの野望:2012/12/13(木) 18:45:45.96 ID:tJr2KnQS
じゃあ今はどうやってんだろと見てみたらmcpに含まれてるみたいだね
MD5もそれと同じだった

211 :名無しさんの野望:2012/12/13(木) 19:23:36.26 ID:THtFMRsK
   . . .... ..: : :: :: ::: :::::: :::::::::::: : :::::::::::::::::::::::::::::::::::::::::::::
        Λ_Λ . . . .: : : ::: : :: ::::::::: :::::::::::::::::::::::::::::
       /:彡ミ゛ヽ;)ー、 . . .: : : :::::: :::::::::::::::::::::::::::::::::
      / :::/:: ヽ、ヽ、 ::i . .:: :.: ::: . :::::::::::::::::::::::::::::::::::::::
      / :::/;;:   ヽ ヽ ::l . :. :. .:: : :: :: :::::::: : ::::::::::::::::::
 ̄ ̄ ̄(_,ノ  ̄ ̄ ̄ヽ、_ノ ̄

212 :名無しさんの野望:2012/12/14(金) 02:00:52.37 ID:fQjSmNna
ツルハシとかで掘ったものを自動精錬させることってModLaderだけで出来る?
鉄鉱石掘ったら鉄のIngotになるような

213 :名無しさんの野望:2012/12/14(金) 02:15:34.41 ID:dvOA4KYc
一括破壊系と同じアプローチで行けるだろうよ

214 :名無しさんの野望:2012/12/14(金) 04:40:25.32 ID:fQjSmNna
>>213
言い方が悪かった

新規アイテムを追加してそのアイテムで
鉱石(粘土)とかを掘った時に鉱石インゴット(レンガ)に直接変えたいんだけど
その一括破壊系ってやつと同じ処理でできるのかな

215 :名無しさんの野望:2012/12/14(金) 14:51:01.80 ID:dvOA4KYc
新規アイテムを追加するタイプのそれと同じ感じだな
Item.onBlockDestroyedで対象のアイテムをドロップしてブロックを空に置換すれば行けると思うよ
ソース読んだだけだから間違ってるかもしれないけど

216 :名無しさんの野望:2012/12/15(土) 03:40:27.31 ID:Ii+lha7n
>>215
サンクス
頑張ってみる!

217 :名無しさんの野望:2012/12/17(月) 19:13:21.30 ID:hsVgbqjb
onBlockPlacedBy中でブロックを置くときにターゲットしていたブロックの情報を
取得する方法ってなにかないでしょうか?
(ターゲットしていた面の値を知りたい)

Minecraft mc = ModLoader.getMinecraftInstance();
double d = (double)mc.playerController.getBlockReachDistance();
int side = mc.renderViewEntity.rayTrace(d, 1.0F).sideHit;

これでいけそうな気がしたのですが、同じ面でもタゲっている位置で値が変わってしまい
どうもうまくいかないようでして。

なにかもっと単純に取得する方法はないでしょうか?

218 :名無しさんの野望:2012/12/18(火) 18:24:42.07 ID:JpnuFazG
>>217
Item.onItemUseをオーバーライドするぐらいしか無さそう
# ItemBlock.placeBlockAtでも行けるかな

1.4.6のFMLでパッケージ名が大変なことになってるんだがどういう事だおい・・・
net.minecraft.item.Itemとかマジで言ってんのか
置換してくれるツールは無いっぽい?(fml.pyのgen_renamed_confで近いことはやってるみたいだ)
bukkitとの統合とか考えてのことなんだろうか?

219 :名無しさんの野望:2012/12/18(火) 20:58:44.99 ID:FiqKu2Rt
まず原木がBlockLogだというのを忘れていてBlockWoodをみていました。
BlockWoodに書いていないのでどうやってmeta値を求めているのだろうと悩んでいました・・・
非公式wikiの技術共有Blockメソッドも見ていたのですが、MC44版と古いのも
目に入っていませんでした。

結果
BlockLogをみたらMC1.4.5ではfunc_85104_aを使って自分でブロックを置いたときの
処理を行っており、そこに側面値も引数でうけとっていたので解決しました。

ついでに1.3.2では
BlockPistonBase.determineOrientation(par1World, par2, par3, par4, (EntityPlayer)par5EntityLiving);
こんな方法で取得していたのですね。

220 :名無しさんの野望:2012/12/18(火) 21:43:04.30 ID:FiqKu2Rt
ああぁ
補足ってわけでもないですが1.3.2のはどっちの方角から実行したかって情報ですね。

221 :名無しさんの野望:2012/12/19(水) 16:49:41.36 ID:7j1dEyzB
MCP723 / Forge436(Recommend)

・MCPをC:\minecraftに解凍
・ForgeをC:\minecraft/forgeに解凍
・forge/install.cmdを叩いてインストールした
・recompile.batでエラーは出ない
・Eclipseのワークスペースをminecraft/eclipseにした

以上やったところ、
src/common配下のソースが全く見えない?状態になってて(src/minecraftの下は見える)
import cpw.mods.fml.common.Side;
とかのインポートや参照が全滅してしまった。

しばらく前のバージョン(394)では上記手順で問題なく認識できてたんだけど、
何かEclipseの設定を変更しないといけないとかがありますでしょうか?

222 :名無しさんの野望:2012/12/19(水) 17:41:46.15 ID:4WS7jriG
>ソースが全く見えない?状態
ファイルがあるんならEclipseでリフレッシュしたら

223 :名無しさんの野望:2012/12/19(水) 19:12:18.50 ID:7j1dEyzB
>>222
もちろんリフレッシュとクリーンもやってみたけどだめでした。
1.4.5のForge安定版って436でいいんですかね?

原因がよくわからないし1.4.6が出るまで待つかな…

224 :名無しさんの野望:2012/12/19(水) 19:44:45.90 ID:4gQ0msBV
eclipse上から見える/見えないとか、リフレッシュしたかとかじゃなくて、
直接エクスプローラなどでソースがあるかを確認してみたのかな?
ソースがあるなら、プロジェクトの設定でソースフォルダのあたりを見直したり再設定したりしてみよう

mcp の eclipse/ 以下にあるプロジェクト設定に問題があるのか、それ以外に問題があるのかをまず切り分けよう
プロジェクトはそこにあるものを使わなくても、1から自分で作成できるしな

225 :名無しさんの野望:2012/12/20(木) 03:15:42.08 ID:po53+Xu+
ベッドで寝て WorldTime が飛んだ瞬間を、ベッド側から知る方法はありませんか?
Block に毎 tick 呼び出されるメソッドがあれば簡単なのですが、無さそうなのでどうしようかなと。

226 :名無しさんの野望:2012/12/20(木) 10:57:28.34 ID:efjSjL7h
Block#setBedOccupiedをオーバーライドしてみるとか
occupiedがtrueで就寝、falseで起床

BlockBedにもsetBedOccupiedがあるけどこれはstaticなので
オーバーライドには無関係

WorldServer#tick -> WorldServer#wakeAllPlayers
 -> EntityPlayer#wakeUpPlayer -> Block#setBedOccupied

227 :名無しさんの野望:2012/12/20(木) 22:21:30.29 ID:po53+Xu+
>>226
Block#setBedOccupied か…… 1.2.5 には無いみたいだ。
けどヒントにはなったよ。Block#setBedOccupied の代わりに、Block#onNeighborBlockChange で待ち構えてみる。
どうもありがとうございました。

228 :名無しさんの野望:2012/12/21(金) 00:49:47.18 ID:nUw13nCu
ふと思ったんだが、minecraft.jarをロードする時点で難読化を解除するMODとかあれば、
もっと開発が楽になったりするのだろうか。

229 :名無しさんの野望:2012/12/21(金) 01:42:50.91 ID:41dU2HRf
プレイヤーの採掘速度を変えようと思ってEntityClientPlayerMP周りを弄ったけど、
なんだかサーバーに弾かれてるっぽくて、ブロックを破壊しても忽然と復活する・・・
こういうのはパケットを送ったりすればいいのか、それとも問答無用で弾かれるのかな

230 :名無しさんの野望:2012/12/21(金) 01:48:39.13 ID:wAf3dZbi
もしかして:保護領域

231 :名無しさんの野望:2012/12/22(土) 14:53:20.44 ID:05TlI9af
採掘早すぎるとサーバーと同期できなくなるから復活するっていうマルチ化の弊害じゃなかったっけ?

232 :名無しさんの野望:2012/12/22(土) 16:38:15.38 ID:Gt1HI+Tk
あれを意図的に起こしてるわけか

233 :名無しさんの野望:2012/12/22(土) 20:10:08.88 ID:7+/s3VBm
アイテム持ちながらスニーク+右クリックで蔵側のBlock.onBlockActivatedが起きなくなってやがる・・・
何でPlayerControllerMP.onPlayerRightClickでスニーク判断してるんだよonBlockActivatedの中でいいだろ畜生

234 :名無しさんの野望:2012/12/22(土) 20:23:37.22 ID:2I5DAgzM
>>228
そうなれば、レシピ追加modをもっと発展させた、
いわばmodツクールみたいな都合のいいソフトができるのかなぁ

235 :名無しさんの野望:2012/12/23(日) 00:00:56.58 ID:a1kDaEnv
プレイヤーを変容させるMOD、たとえばプレイヤーがアイアンゴーレムやクモ
になったりするそういうのの作り方がわからぬ。
どうすればいいんだ

236 :名無しさんの野望:2012/12/23(日) 00:42:35.18 ID:z4tHY+Ue
>>235
そういうMODをデコンパイルしてみるんだ

237 :名無しさんの野望:2012/12/23(日) 00:58:25.12 ID:IeyzNK1X
>>236
そういうMODのソースコードを見るって事か
ありがとう

238 :名無しさんの野望:2012/12/23(日) 07:40:14.07 ID:UqmHuYOZ
>>233
俺もそれではまった
スニーク状態でGUI切り分けしてたせいで対応くそ面倒かった

239 :名無しさんの野望:2012/12/23(日) 08:33:31.54 ID:4Hx8QzFM
Forge445で環境作ろうとforge内のinstall.cmd実行してDL/デコンパイルは終わったんだけど
そのままrecomplie実行するとサーバソースがありませんってエラーが出た
decompile実行するとこれまたエラー

== Decompiling server using fernflower ==
> Creating SRGs
> Applying Retroguard
'"D:\dev\Java\jdk1.6.0_32\bin\java" -cp "runtime\bin\retroguard.jar;lib;lib\*;ja
rs\minecraft_server.j...' failed : 1
== ERRORS FOUND ==
Unrecoverable error during obfuscation, see log file for details.
RetroGuard error: COM.rl.obf.classfile.ClassFileException: ClassNotFound pl
==================
Decompile failed

何度か最初からやり直しても変わらないけどどうすりゃいいんだろ

240 :名無しさんの野望:2012/12/23(日) 08:43:48.29 ID:z4tHY+Ue
>>239
Forge445にはバグがあるらしい
ttp://forum.minecraftuser.jp/viewtopic.php?f=39&t=8548

241 :名無しさんの野望:2012/12/23(日) 09:30:42.15 ID:4Hx8QzFM
!! Can not find server sources, try decompiling !!
と出ていたので失敗してると思っていたのだけどclassファイルはちゃんと生成されてました。
自作MODを1.4.5用に修正してコンパイルしサーバに入れてみたけど動いているので問題なさそうです
お騒がせしました

242 :名無しさんの野望:2012/12/23(日) 16:22:49.62 ID:n8eKZprF
1.2.5でstay1.2.5潰さないように村人追加するのって難しい?
メイドさん村も欲しいがキモい村人の村も作りたくなった

243 :名無しさんの野望:2012/12/23(日) 17:24:34.50 ID:y0Lyff06
とりあえずやってみれば難しいかどうかは判断つくと思うよ
難しいと思うかは人による

244 :名無しさんの野望:2012/12/23(日) 17:37:20.93 ID:n8eKZprF
全く何も知識ない状態
コピペで簡単なのならなんとかなると聞いてダメ元で質問してる
このレベルだと厳しいかね?

245 :名無しさんの野望:2012/12/23(日) 18:44:19.26 ID:z4tHY+Ue
>>244
Javaに触れたことも無かったがコピペやらデコンパイルやら繰り返してたら直感で覚えてしまったぞ
執念さえあればどうにかなるぜ

246 :名無しさんの野望:2012/12/23(日) 19:16:28.87 ID:UqmHuYOZ
プログラミングはパズルだからな

247 :名無しさんの野望:2012/12/24(月) 11:02:00.00 ID:BwM4QT5x
作成ではなく修正ですが質問させてください

通称、水影MOD(GLSLとSEUS v10 with water shader)に水影用修正テクスチャ
を使うと色々表示されないブロックがあったのでsoartexFanVerのseus対応版
を使ったのですが、こっちは水に対応してないらしく水面にニンジン葉が出ます
http://minus-k.com/nejitsu/loader/up212151.png

水影用テクスチャと見比べるとニンジンと競合する場所があるので
http://minus-k.com/nejitsu/loader/up212210.png

SEUSシェーダーのzipにあるfinal.fshの水面処理関連(520行目あたりから)の
どっかのtexture2Dの引数をいじればいけるかなと考えています。

マではありますが、shader初挑戦なのでgoogle先生に聞きながらやってます
//REFRACTION のコメントのあたりが臭いのですが、まだうまくいきません
どなたかシェーダーに強い人お助けを

248 :名無しさんの野望:2012/12/24(月) 17:58:19.66 ID:aVRw/BS4
そのソースやテクスチャ関連を弄ったことがないので、あんまり足しになることは言えんけど
テクスチャ座標は、一つのint値の8bitを使って16x16のテクスチャ位置の座標情報を持たせてあったはず
なので、そのあたりを処理してるとこを見つけ出せば修正は容易な気がするよ

ビット演算については割愛するけど、
 int x = (textureCoord & 15) << 4;
 int z = textureCoord & 240;

こんな感じで分解してやることが出来る

たとえば、247の画像の赤枠左上のテクスチャであれば、左から10、上から12番目の座標が必要になるので
x座標=160 (16px ×10)、z座標=192 (16px ×12)になるので、
xのほうを4ビット右シフトし、x = 160 = 1010 0000 → 0000 1010 (=10)
10 + 192 = 202 が赤枠左上のテクスチャの位置情報になる。こんな感じ

勘のいい人は気づくかもしれないけど
左から10(= 1010) 、上から12 (=1100)、160(=1010 0000)、192(=1100 0000)、202(=1100 1010)

あとは、そのあたりの数値を処理してる場所を探せば置き換える値も見つかるんじゃないかな

249 :名無しさんの野望:2012/12/24(月) 18:01:08.23 ID:aVRw/BS4
あー、座標は 16x16 テクスチャの話ね
つっても、もっと高解像度のテクスチャの場合であれ、
この座標にテクスチャの大きさにあわせた倍率をかける感じで座標出してると思うけど

250 :名無しさんの野望:2012/12/24(月) 18:03:08.89 ID:aVRw/BS4
的外れだったらゴメンネ

251 :名無しさんの野望:2012/12/24(月) 18:23:44.42 ID:BwM4QT5x
>>248-250
うおwテクスチャサイズ(64)掛けちゃダメだったのか
ありがとう、やってみます。

252 :名無しさんの野望:2012/12/24(月) 21:44:06.70 ID:C+GoWllw
質問なんですが
mobのモデルをプレイヤーモデルにする方法がわからないのです。
例えば、「ModelMagmaCube.java」のファイルを「ModelPlayer.java」
として使うには「ModelMagmaCube.java」のどこのソースを
いじればいいのでしょうか?
詳しい方お願いします。

253 :名無しさんの野望:2012/12/24(月) 23:50:52.03 ID:BwM4QT5x
202(0xCA)のテクスチャ番号を呼び出してる場所が見つからないので
色々なとこのtexture2Dの第2引数に1個ずらして確かめるつもりで
+ vec2(0.0f,1.0f)入れてみたけど、水面のニンジンが消えない・・

http://minus-k.com/nejitsu/loader/up212306.png
ぶちきれてニンジン潰したった

今のところシェーディングの知識が足りなさすぎるんで
修正すべき箇所を見つけられないけど、チェストが半透明になってたので
透過処理の対象となるテクスチャ番号(?)の情報がかなり古いVer
を元にしている気がする(チェストでも悪戦苦闘中)

254 :名無しさんの野望:2012/12/24(月) 23:59:36.16 ID:hNpqqct0
>>252
コンストラクタとrenderとその他必要な部分をいじるといいよ

255 :名無しさんの野望:2012/12/25(火) 00:20:31.00 ID:/JBJuAeS
>>254
その他必要な部分というとどんなところでしょうか?
また、MODにより追加されたMobのモデルにするときも
同じ方法でできますでしょうか?
良かったらご回答お願いします。

256 :名無しさんの野望:2012/12/25(火) 06:54:47.30 ID:MNK+ygxR
>>253
使っている SEUS のバージョンが分からないけど、ここでは v10 RC2 with water shader と仮定する

人参が映らない v10 RC5 の各ファイルと比較すると、どうやら問題点は
gbuffers_textured_lit.fsh の以下の部分


float texblock = 0.0625f;

if (tex.r > 0.99 && tex.b > 0.99 && tex.g < 0.1f) {
transx -= texblock * 3.0f;
iswater = 1.0f;
} else {
iswater = 0.0f;
}

gl_FragData[0] = texture2D(texture, texcoord.st + vec2(transx, transy)) * zero * color;


ここが見つかれば直すのは簡単だろう

>>248
3Dグラフィックでのテクスチャ座標はテクスチャの大きさに関わらず0.0〜1.0。
ちなみに、0.0625 = 1/16

257 :名無しさんの野望:2012/12/25(火) 20:35:22.58 ID:ujRXi4Yw
テクスチャ座標 texcoord.stの指すところがマゼンタで塗りつぶされてると
transx が -3/16 になるから、左に3ブロックずらして
gl_FragData[0] にテクスチャをセットする…おお、これっぽい!

サンタさんありがとう!

258 :名無しさんの野望:2012/12/25(火) 21:28:46.61 ID:ujRXi4Yw
できたー!
http://minus-k.com/nejitsu/loader/up212432.png

259 :名無しさんの野望:2012/12/25(火) 21:41:32.07 ID:/MikpUII
>>258
ちなみにRC5の方では↓の様ににテクスチャ使わない方式に変わってる

if (tex.r > 0.99 && tex.b > 0.99 && tex.g < 0.1f) {
tex = vec4(0.5f, 0.9f, 0.9f, 0.2f);
iswater = 1.0f;
}else {
iswater = 0.0f;
}

gl_FragData[0] = tex * color;

260 :名無しさんの野望:2012/12/25(火) 22:36:59.85 ID:LrSzo7Zv
>>258
おめ!だいぶ格闘してたねえ

261 :名無しさんの野望:2012/12/26(水) 21:58:11.86 ID:ajaimQ1Y
@SideOnly(Side.CLIENT)
ってのが出てきたんだがこれは何だろう?

262 :名無しさんの野望:2012/12/26(水) 22:02:12.30 ID:nvyGAh2k
>>261
クライアントでしかそのメソッドを実行しないって指示

263 :名無しさんの野望:2012/12/26(水) 22:04:02.23 ID:ajaimQ1Y
>>262
つまりクライアント側で独立してるってこと?

264 :名無しさんの野望:2012/12/26(水) 22:19:35.60 ID:LYolU6SX
独立してるっていうか一種の契約みたいなもんじゃね
実際、MODがロードされる時にその指定に合わないメソッドは削除されるので
間違って呼び出されるとNoSuchMethodException(Errorだっけ?)で落ちる

265 :名無しさんの野望:2012/12/26(水) 22:23:07.94 ID:ajaimQ1Y
>>264
なるほどわかった ありがとう

266 :名無しさんの野望:2012/12/28(金) 14:47:00.07 ID:CBwmt45a
1.4.6環境に移行と思って、1.2.5時時代に作った今真っ赤かのソースと奮闘中なんだけど、
xxxx.item.stackSize(EntityItem)とxxxx.item.itemID(EntityItem)が
EntityItemからItemがいなくなってて使えないんだけど、みんなはどう対応した?

267 :名無しさんの野望:2012/12/28(金) 15:24:27.54 ID:0WxnjybT
>>266
ちょっと読んできた
Forge環境の情報だがfunc_92014_d()でItemStackが返ってくる模様

268 :名無しさんの野望:2012/12/28(金) 15:45:50.42 ID:CBwmt45a
>>267
ナイトきた!これでかつる!
func_92014_d()で、確認したら動きました!
ありがとうございます!

269 :名無しさんの野望:2012/12/29(土) 23:49:19.79 ID:N6OZEZmQ
Forge471がインストールできなくてぐぬぬ

エラー: C:\forge\mcp\lib\asm-all-4.0-source.jarの読込みエラーです。error in opening zip file
エラー: C:\forge\mcp\lib\guava-12.0.1-sources.jarの読込みエラーです。error in opening zip file

っていわれた。
フォーラムでも報告あるみたいだけど、Forgeの鯖が落ちてるのと関係あり?

今Recommended落とすと471なんだけどどれがお勧めなんでしょ?

270 :名無しさんの野望:2012/12/30(日) 18:25:10.99 ID:8QGzMWHm
asmもguavaもForgeがつくったライブラリじゃないし、探せば入手は出来る
つっても、sourceはなくても動作はするから無視できそうな気もするが
過去の環境があるならそっちから持ってきてもいい

271 :名無しさんの野望:2012/12/30(日) 19:48:42.40 ID:ootz1RxN
startclient.batやstartserver.batで
他のMODを入れて起動したい場合はどうすればいい?
mcp/jars/mods/に普通に入れると起動中にフリーズしちゃう

仕方ないので毎回reobfuscate.batでclass化して
プレイ環境の方に入れてるんだが恐ろしく手間がかかる

272 :名無しさんの野望:2012/12/30(日) 19:54:14.68 ID:s/aAWJ9V
>>271
デコンパイルの時にjarに放り込めばいいよ
Forgeの場合は無理だが

273 : 【1274円】 【大吉】 :2013/01/01(火) 00:14:04.58 ID:HEBxXZFl
tes

274 :名無しさんの野望:2013/01/03(木) 10:33:49.68 ID:d/Dp+/eG
ちょっと質問です。

MineCraftのModの場合、何か描画をしようと思ったらテクスチャをいじるのが基本に見えたのですが
自由に線や円を描画したり、文字を表示したりすることは難しいのでしょうか?

例えば、自プレイヤーの目の前に、線や円の図形を描画したり、画面ウィンドウの下端に独自の文字を表示したり
ということを、ModLoaderやForgeを使ってやってみたいと考えています。

275 :名無しさんの野望:2013/01/03(木) 13:00:45.64 ID:x8dnZ11f
>>274
MMMさんのACHUD(だっけ?)ってmodがまさにそんな感じだから、MLで十分できるとおもう。
どうやってるかは知らない。

276 :名無しさんの野望:2013/01/03(木) 13:10:30.12 ID:oeiFLyxO
テクスチャ変更は張るテクスチャを変えてるだけで、描画とは違う

また、FMLやRMLはMODを読み込むためのModLoaderで、
Forgeはマイクラのソフトウェア的な拡張。つまりまず役割がちがう
これらは描き出す処理を行うためのフックポイントの提供などをしてくれるけど、直接描画する機能はない

自由に描画をやりたいならMinecraftが3Dとかに使用してるLWJGL、OpenGLを勉強しよう
つか、そういうことしてるMODは沢山あるんだから、そのソースとか見てみるといいよ

277 :名無しさんの野望:2013/01/03(木) 14:53:35.53 ID:d/Dp+/eG
>>275-276
ふむふむ、なるほど、ありがとうございます。
実現しているmodは色々あるのですね。

OpenGLは分かっているつもりでしたが、mod wikiでAPIを見ても描画フックの仕方が
よくわからずにいたので、質問させて頂きました。
ちょっと、どのmodが実現しているが分からないのですが、まずは、jp-wikiのmodの
ソースを見てみようと思います。

ありがとうございました。

278 :名無しさんの野望:2013/01/03(木) 20:32:45.36 ID:a76k/h+e
>>277
>テクスチャをいじるのが基本に見えた
>OpenGLは分かっているつもりでしたが

まず結論としては、OpenGLを使って画面に描画しようと思えば、
フックとか関係なく、どのタイミングででもどんな形ででも描画できる。

なので厳しい言い方になるけど、「分かっている」と言っていいほど分かっている人の台詞ではない。
ModdingWikiを見るのもいいけど、そのレベルではまずは本体ソースを見て、
どこでどんな処理をしているのか、説明できるようになっていくのを目指すのが良い。
そうすればどこから描画処理が始まって、どんな書き方で描画命令を書いているのかがわかる。

マイクラ自体が描画の始め終わりや透過、カメラ位置の指定などをかなり外側のメインループ寄りでやっているので
上手く描画されない時の原因を特定するのはわかっていてもかなりややこしい作業になる。
しかも、それに関しては作る物の性質で千差万別にやり方が変わるので、
チュートリアルを見て云々、みたいな話も期待しないほうが良い。
(いっそModdingではなく、ゲームプログラミングのためのOpenGLを使った3D描画のチュートリアル、みたいなのを見るのは良いと思う)

なので、現状でMODのソースを見て描画を挟む処理部分だけ見ても、
根本的な理屈がわからないと自分のやりたい事の実現に持っていくのは難しいと思う。

279 :名無しさんの野望:2013/01/03(木) 21:43:39.82 ID:On8twaNm
描画フックって言葉から察するに、DirectXのイメージなのかな。
あっちはAPIがいろいろ用意されてて、Hook使って割り込みさせるから。

Gui系のソースとRender系のソースが何やっていて、
どのタイミングでコールされているかソースから読み取れれば、
あとは描画処理ベースの話だと思うよ。

280 :名無しさんの野望:2013/01/04(金) 03:30:30.59 ID:uLFqQFbI
質問と答えがかみ合ってないような気がするが

281 :名無しさんの野望:2013/01/04(金) 16:19:04.79 ID:Kq7e0xmV
Forgeのフックの用法が分からないというケースもある
既存クラスの書き換えは出来るだけ避けたいものだ

282 :名無しさんの野望:2013/01/05(土) 10:18:12.92 ID:OEzMEtma
〜って難しい?できる?系の質問ってよくあるけど、どういう回答が期待されてるんだろうね

283 :名無しさんの野望:2013/01/05(土) 11:53:01.71 ID:FKtdOya3
>>282
エスパーかスーパーハカーの出来るって解答を期待してるんだろう

284 :名無しさんの野望:2013/01/05(土) 11:59:08.99 ID:CSh4WlyX
やり取りができる対面の会話なら普通の質問だし
単に2chに慣れてないだけじゃないの

285 :名無しさんの野望:2013/01/05(土) 12:04:24.86 ID:FKtdOya3
>>284
対面の会話ですら最低限の情報は相手に話すぞ
>>282の言ってる質問にはそれが無いんだよ

286 :名無しさんの野望:2013/01/05(土) 12:10:55.71 ID:CSh4WlyX
うんごめんフォローしたみたいになっちゃったけど質問不備は同意
対面なら細かいやり取りで意図が分かってくるけど
2chじゃそれができない(or歓迎されない)って想像力が足りないんだろうな、と思う

287 :278:2013/01/05(土) 14:50:38.02 ID:OlC/KpCh
質問の不備や是非の話になっちゃってるけど、
内容自体はちゃんと具体的だと思うよ。

その上で、実際の描画のやり方以前、かなり初歩の段階で見当違いな事を言っているので
もっと手前の段階から理解していかないと駄目だよ、と言いたかった。

>>282
こういう聞き方って要は「こうすれば出来るよ」っていう回答待ちなんじゃね。
ただ大抵の場合はそのニ、三歩前の段階を理解できてないケースが多いと思う。

288 :名無しさんの野望:2013/01/05(土) 14:54:12.38 ID:r+XDYuI8
その手の質問する人向けの正しい解答は、「きっとあなたには無理ですね」だと思う
分かる人はその手の質問をまずしないから

289 :名無しさんの野望:2013/01/05(土) 17:01:43.87 ID:IyhJ5Prd
環境1.2.5 + ModLoader での質問です。

防具のテクスチャの置き場所について教えて下さい。
ClassPath の /armor/* に自作防具の png ファイルを置いています。

MCP にて開始した場合は png ファイルが読み込まれ、正常に描画されます。
ただし実環境に持ち込むと、テクスチャが正常に読み込まれていないようです。
(エラー落ちなども発生しないが、setupTexture が標準出力に流れてこない)

実環境では mod.zip 内の /armor/* にテクスチャを配置していますが、場所か環境が異なるのでしょうか。
比較のために fragileArmor-1_2_5-1 も試してみましたが、こちらもテクスチャが読み込まれません。

290 :名無しさんの野望:2013/01/05(土) 18:32:02.59 ID:IyhJ5Prd
自己解決。PlayerFormLittleMaid を実環境から消したら表示されるようになりました。
これが介入していたみたいです……失礼いたしました。

291 :名無しさんの野望:2013/01/06(日) 01:35:35.04 ID:xzG3xfmo
テスト環境で豆腐ハウス作ってたら爆発して焦った。

よくよく思い出したら爆発処理の変更テストのために感圧板いじってた

292 :名無しさんの野望:2013/01/09(水) 14:20:17.60 ID:qJS0niPZ
昨晩から>>2のwikiに繋がらなくなったお…

293 :名無しさんの野望:2013/01/09(水) 14:30:12.22 ID:4UDq6Cyr
かなしみ

294 :名無しさんの野望:2013/01/09(水) 14:44:41.73 ID:fJMSbqyv
なんで繋がらなくなったんだろうな

295 :名無しさんの野望:2013/01/09(水) 20:46:04.10 ID:w9261r04
管理者miyabi氏のツィートによると、サーバ回線のルータがあぼーんしたとのこと
ttps://twitter.com/miyabi9821/status/288843613432082433

296 :名無しさんの野望:2013/01/09(水) 20:56:07.49 ID:fJMSbqyv
フォーラムの運営費用だけでも数十万いってるらしいし
負荷分散も必要なのかもなぁ

297 :名無しさんの野望:2013/01/09(水) 22:27:33.89 ID:mL89XqZM
oh月曜からmoddingをはじめたばかりなのに・・
運営も大変ですなぁ

298 :名無しさんの野望:2013/01/10(木) 01:08:12.89 ID:QuRd97l8
復活してるね
ありがとう管理者様

299 :名無しさんの野望:2013/01/10(木) 02:46:41.44 ID:dl3x897i
やったー思いの外はやかったね
鯖管おつおつ

300 :名無しさんの野望:2013/01/12(土) 04:32:08.48 ID:rQiKel/z
13w02aってforge勢にとって致命的な変更な気が…

301 :名無しさんの野望:2013/01/12(土) 05:25:32.26 ID:SwfyNGsC
どのあたりが?

302 :名無しさんの野望:2013/01/12(土) 11:39:57.58 ID:rQiKel/z
Textures for blocks and items now have individual image files (read more below)
(テクスチャを、大きな画像ファイルからブロックごとの画像を切り出す方法からブロックごとの画像を単独のファイルとして保持する方法に変更した。詳しくは後述)

303 :名無しさんの野望:2013/01/12(土) 12:38:50.96 ID:wkcgd3Sq
ML勢の歓喜の雄たけび

304 :名無しさんの野望:2013/01/12(土) 20:00:39.74 ID:4crapnK/
まあ、単に画像を管理する(人間の)側からすれば後者の方が色々と楽だろう。
一部だけ差し替えたり、別々のパックから組み合わせたり、
テクスチャをMODに対応させるのだってしやすくなるんじゃないかな。

問題は、SpriteIDとかTerrainIDとかは大丈夫なのってことぐらいで。

305 :名無しさんの野望:2013/01/12(土) 20:17:03.27 ID:SwfyNGsC
自分でも調べてみたが、言ってしまえばテクスチャ分けるだけだし、たいした手間ではないな
forgeっていうよりはテクスチャパック作者に影響のある変更
forgeで致命的というか、RMLの致命的な問題が一つ解消されたって感じ(それでもRMLは色々…だが)

なんにせよ、変換するならDinnerbone氏のunstitcherもあるし、
まだスナップショット用のを見てないけど、FMLかForgeが新旧両対応する可能性もあるかもな

スナップショット
ttp://www.mojang.com/2013/01/minecraft-snapshot-13w02a/
変更内容や変換ツールなど
ttp://www.minecraftwiki.net/wiki/Texture_Packs#Textures_for_Blocks_and_Items_in_Minecraft_1.5
unstitcher
ttp://twitter.com/Dinnerbone/status/281796115647561728

306 :名無しさんの野望:2013/01/12(土) 20:21:10.11 ID:rYZK8BhY
mojang自身が各種IDを使いきりそうって状態で、このままの仕組みのままAPI導入とかただの嫌がらせですわ

307 :名無しさんの野望:2013/01/12(土) 20:52:02.18 ID:lMD99kU0
例のUnstitcherはバニラのテクスチャ用っぽいのでそれ以外用の奴を作ってみた
JavaScript製なので気軽に実行出来るよすごいよ
CC0なので自由にパクれるよすごいよ
IEなんてすごいブラウザのことは知らないよ
https://dl.dropbox.com/u/28984230/MC/1.5/unstitcher.html

308 :名無しさんの野望:2013/01/13(日) 01:32:03.62 ID:VzGOs4yl
>>303
やること変わらないのになんで?

309 :名無しさんの野望:2013/01/13(日) 01:39:47.56 ID:B91WuXpt
>>308
それすらわからず書いているんだろ

310 :名無しさんの野望:2013/01/13(日) 11:22:08.96 ID:1P4MLCoP
>>308
スプライトのこと気にせず使えるよ!やったね!ってことだろ多分

311 :名無しさんの野望:2013/01/13(日) 17:41:41.12 ID:LkrPxy9d
リスポーン時にアイテムばらまかないmodない?

312 :名無しさんの野望:2013/01/13(日) 17:45:15.87 ID:1P4MLCoP
>>311
チートコマンドのkeepInventory使えばいいと思うよ

313 :名無しさんの野望:2013/01/13(日) 17:52:10.34 ID:LkrPxy9d
>>312
アリガト!(´▽`)

314 :名無しさんの野望:2013/01/13(日) 18:47:06.12 ID:2j0JK/e0
>>308
やること変わらない からです

315 :名無しさんの野望:2013/01/14(月) 18:22:50.47 ID:DzGHcxKX
軽量化MOD(1.4.7対応)ない?

316 :名無しさんの野望:2013/01/14(月) 19:20:53.73 ID:4Oo41Qkg
>>315
スレチ

317 :名無しさんの野望:2013/01/15(火) 05:30:26.28 ID:fxJ+2xgS
Minecraft 1.4.7
minecraftforge-src-1.4.7-6.6.0.497
eclipse
という環境でMOD作成しています。
作成したMODをeclipseから起動すると正常に起動できるのですが、
実際にmodsフォルダにいれて起動するとエラーがでます。

cpw.mods.fml.common.LoaderException: java.lang.ClassNotFoundException: net.minecraft.src.sample.spritesample.client.ClientProxy

と、エラーが出ているので作成したClientProxy.classが正常に読み込まれていないということまではわかりました。
生成されたclassファイルを確認しましたが、sample/spritesample/client/ClientProxy.classに入っていました。

ソースの内容は、以下のサイト(Minecraft Modding Wiki)
ttp://minecraftjp.info/
→Tutorial一覧
 →MinecraftForgeUniversal #183〜#430
  →SpriteID無限化(独自のterrain.png, gui/items.pngの利用)
に記載されてあるものを参考にしました。
MinecraftForgeUniversal #445〜のバージョンから、パッケージに変更が入ったようなのでそのあたりもチェックしました。
赤く表示されている部分もなく、eclipseからは正常に起動&MODも機能しています。
ソースを保存したあとはrecompile.bat→reobfuscate.batの順番でclassファイルにしています。

Proxyを使用しているのはスプライト無限化のためですが、
もしかしてProxyシステムを使わなくても(例)samplefood.javaにオーバーライドでsample.pngを参照するだけでもいいのでしょうか?

318 :名無しさんの野望:2013/01/15(火) 05:53:34.59 ID:fxJ+2xgS
連投申し訳ありません。
最後の2文ですが、プロキシ関連をソースから削除してオーバーライドで参照しただけのMODを作りました。
プロキシ関連を削除したことによって本体にMODをいれても起動&MODも機能しました。

スプライト無限化のほうは、IDCheckerという残りのスプライトIDを確認できるMODを導入したうえで、
プロキシ関連を削除した自作MODの導入前と導入後で残りのスプライドID数を確認したら減っていませんでした。
なので、オーバーライドだけで十分だったようです。

プロキシがうまく動いてくれていなかったのが気になりますが、現状はこれでいってみようかと思います。

319 :名無しさんの野望:2013/01/15(火) 12:23:22.58 ID:cahoHjqB
reobfuscateはnet.minecraft.srcを一番上まで持ってくんだよ
ForgeのMODはもうほとんど(全部?)がnet.minecraft.srcは使わないようになってるよ
net.minecraft.srcに置くのは目当てのソースがどこにあるかぱっと見分からないしね
RML時代の悪しき習慣とも言える

320 :名無しさんの野望:2013/01/15(火) 13:29:36.85 ID:+7X41sKd
Minecraft→src→net.minecraft.srcパッケージの中にファイル作るのは古いやり方っぽかったから
Minecraft→srcの中に>>317で言うところのsample.spritesampleパッケージ作って
そこにClientProxy.javaとか全部入れる感じの方向でやってる

321 :名無しさんの野望:2013/01/15(火) 13:37:15.05 ID:rQ9YMQ/e
アイテムでメタ値毎にテクスチャを変えたいんだけど
ブロックで言うgetBlockTextureFromSideAndMetadataみたいな事って出来るのかな?
出来るなら教えていただきたい

環境
1.4.6
RModLoader

322 :名無しさんの野望:2013/01/15(火) 13:41:16.00 ID:DR9m8Las
ヒント:染料

323 :名無しさんの野望:2013/01/15(火) 14:03:28.52 ID:rQ9YMQ/e
>>322
あってるかは分からんけど染料でテクスチャ指定してそうなのが
getIconFromDamage
っぽいんでこれで色々やってみる

324 :名無しさんの野望:2013/01/17(木) 07:53:36.16 ID:P+fPTAvC
おかげさまでメタ値毎にテクスチャを買えることが出来た
ありがとう!

325 :名無しさんの野望:2013/01/22(火) 15:39:48.15 ID:OgrSAoQ3
満月の夜になると主人公めがけて団体で一斉にワラワラとおそってくるMODとか欲しい
ブロックもガツガツ壊してくる
満月は寝れない
たまにボスが居てそいつ倒すと通常に戻るとかっていいな〜

326 :名無しさんの野望:2013/01/22(火) 20:04:31.45 ID:d47XwsuW
>>325
欲しいなら作ればいいじゃない

327 :名無しさんの野望:2013/01/22(火) 20:14:29.61 ID:jT1iP6OK
ここはいつからリクエストスレになったんだ?

328 :名無しさんの野望:2013/01/26(土) 01:57:27.89 ID:qvePTWRd
eclipseの中にJDK入ってるらしいけどやっぱりマイクラ用に別にJDKインストールしなきゃいけないのかな?

329 :名無しさんの野望:2013/01/26(土) 06:38:03.62 ID:j9zfJVYr
自分はJDK入れてからEclipse入れるって手順でやったから分からんな

もしEclipseだけ入れれば済むか試すなら、うまくいったら儲けもの、
動かなかったらあとでJDK入れてEclipseからそれ使うように設定する、
って感じの手順になるんじゃね

330 :名無しさんの野望:2013/01/26(土) 14:35:54.08 ID:vPxCtKAJ
Eclipseの中のJDKはMCPからは見えないよ
まあパス通せばいいんだけどね

331 :名無しさんの野望:2013/01/26(土) 15:40:33.69 ID:qvePTWRd
>>330さんの言うとおりパス指定で行けました。
特に問題も今のところ無いので、JDK入れるのめんどくせぇって人はお試しを

332 :名無しさんの野望:2013/01/29(火) 17:55:59.37 ID:v2QwLTlL
マルチなどでクライアントに表示されたメッセージを取得するのにはどうすればいいのでしょうか

333 :名無しさんの野望:2013/01/30(水) 01:22:38.33 ID:0uaeD0/i
バニラのブロックが破壊された時に一緒にこっちで追加したアイテムも出したいんですけど
EventのHarvestCheckがそれっぽいのでこれ使ったらいいんでしょうか…
バニラの地層をいじらずに確率で追加の鉱石をドロップするイベントみたいのを一応つくろうと思ってるんですけど

334 :名無しさんの野望:2013/01/30(水) 19:44:33.94 ID:0uaeD0/i
なんかやってみたらHarvestCheckって
ブロックが採掘できない時に呼ばれるだけでそういう時に使うものじゃないっぽい…?

335 :名無しさんの野望:2013/01/30(水) 21:42:49.17 ID:Gnc9y+9P
>>332
自己解決しました
BaseModのserverChatをオーバーライドすればよかったのか

336 :334:2013/01/30(水) 22:41:44.16 ID:0uaeD0/i
mineAllのソース見ると結構複雑なことやってるみたいなんで諦めて既存書き換えの方向で行きます…

337 :名無しさんの野望:2013/01/30(水) 23:11:55.07 ID:nO7YJbpu
何か都合のいいフックとかイベントがないとなると、最終的にはStoneChanceが着地点になりそうだな

338 :名無しさんの野望:2013/01/31(木) 00:38:43.25 ID:eqYUHDhL
StoneChance調べたら丸石のクラス入れ替えてるmod…?
そういうやりかたもあるのか…

339 :名無しさんの野望:2013/01/31(木) 00:39:29.68 ID:eqYUHDhL
☓丸石 ○石 

340 :名無しさんの野望:2013/02/05(火) 01:35:17.38 ID:mF5VJOXQ
MOD作成は全くの素人なんですけど
月面MODというのを作りたくなって

・重力変更
・地形変更(石だらけの世界)
・時間を夜に固定
・「真空」の概念の追加(空気残量のコードの流用)

これらの変更は可能でしょうか?
技術的にできそうなら今からminecraftの勉強するつもりなのですが……

341 :名無しさんの野望:2013/02/05(火) 01:45:26.27 ID:fZc+aO9x
MODに不可能はない

342 :名無しさんの野望:2013/02/05(火) 02:05:22.89 ID:YN54/1zP
個々にだが、どの要素も実装してるMODは見かけた事があるので
無理ってことはないだろう
複合できる技術があるかは別だが、期待してるぞ

343 :名無しさんの野望:2013/02/05(火) 02:06:24.49 ID:fZc+aO9x
てか宇宙MODってあったよな?

344 :名無しさんの野望:2013/02/05(火) 02:06:54.04 ID:YnuVRVFr
Forge鯖です。
ちょっと聞きたいが
サーバーとクライアントでconfigの内容が違ったらどうなるの?
MCPじゃ試せないからだれか教えてください。

>>340
全部可能ってか似たようなMODあるしな

345 :名無しさんの野望:2013/02/05(火) 02:12:55.54 ID:YN54/1zP
>>343
俺も宇宙MODと呼べるものがあるのは知ってるけど
余計な情報なしに>>340が考えて作る月面MODが見たい

346 :名無しさんの野望:2013/02/05(火) 02:26:04.15 ID:j+fms4Lv
>>344
んなもん作りによるとしか
蔵側でconfigによって動作変えてるんなら問題起こるだろう
MCPじゃ試せないってどういうことだ
蔵起動してconfig変えて鯖起動じゃいかんのか?

347 :名無しさんの野望:2013/02/05(火) 02:34:00.48 ID:YnuVRVFr
>>346
その発想は無かった
ちょっと試してくる
ありがd

348 :名無しさんの野望:2013/02/15(金) 22:51:43.30 ID:7DfNQE2n
>>340
AstroCraftっていうmodがそれに近い
ttp://www.nicovideo.jp/watch/sm18379765

ニコニコ動画はってごめんね殴らないでね

349 :名無しさんの野望:2013/02/18(月) 01:01:58.79 ID:O6qJnAfG
1.4.7 + ModLoader + シングルプレイ環境での質問です。

サーバ側の処理として
 EntityLiving#setPositionAndRotation → World#spawnEntityInWorld
を行ったのですが rotationYaw の値がうまくグラフィックに反映されず。
調べてみるとクライアントとサーバで rotationYaw の値が同期とれていなかったのですが、
これを同期するにはどうすればいいですか?

350 :名無しさんの野望:2013/02/18(月) 03:55:44.44 ID:4nVErvRz
MOD作ったことないけど、手動でaddEntityToTrackerするか
spawnEntityInWorldの前にaddSpawnしておくかすると
自動でパケットをクライアントに飛ばしてくれるようになるかも

351 :名無しさんの野望:2013/02/18(月) 05:47:39.11 ID:pV3GkHjv
MCPがMinecraft Coder PackからMod Coder Packに名前変わってた

352 :349:2013/02/19(火) 00:17:20.14 ID:UPjtUx2v
>>350
ありがとう。お手数おかけしてすみません。
だけど spawnEntityInWorld の中で addEntityToTracker されているみたいだったし、
Packet24MobSpawn も Packet30Entity も飛んでいたから、ちょっと事情が違ってたみたいでした。

いろいろ調べてみると、同期されていないと思っていた rotationYaw の値は正しく同期されているようでした。
Packet24MobSpawn が ×256÷360 されていたので同期されていないと思ってました。勘違い。
モブ側の挙動がおかしかったようで、そちら側を修正することにします。失礼しました。

353 :名無しさんの野望:2013/02/19(火) 01:09:50.01 ID:N7a6JTGj
乙乙
原因分かってよかったよかった

354 :名無しさんの野望:2013/02/23(土) 14:34:21.84 ID:27XKrsNF
TileEntityの挙動がおかしい、なぜだ

・・・と、同期しないといけないってことを忘れて悩んでしまった
マルチ化してからisRemoteかどうかを確かめるコードが手放せないから困る

355 :名無しさんの野望:2013/02/23(土) 22:21:41.68 ID:UzMZSFCw
質問なんですが
EnderStorageってMODが上手く入りません
前提MODも入れる場所も間違ってないはずなんですが・・・

入れ方教えてもらえますか?

356 :名無しさんの野望:2013/02/23(土) 23:18:40.50 ID:whj8O06W
>>355
このスレと何の関係があるんだ?

357 :名無しさんの野望:2013/02/24(日) 00:57:23.14 ID:XTcmDoct
>>355
スレチ

358 :名無しさんの野望:2013/02/26(火) 02:01:53.22 ID:FCSjmd9p
質問させてください。1.4.7環境ModLoader使用です。
「ピッケルで壊しやすいブロック」などを追加したいときは、各アイテムのblocksEffectiveAgainstを書き換えるのが正攻法ですか?
それとも他にオーソドックスな方法があったりしますか?

359 :名無しさんの野望:2013/02/27(水) 01:24:26.66 ID:S32T4HZ1
>>358
ツルハシ以外で叩くと何もドロップしないけど
ブロックのmaterialをrockにするとか?

他の他のツールでも取得出来る様にするなら分からん・・・
ブロックのmaterialを自分で作れるならそっちを使うとか出来そうだけど

360 :359:2013/02/27(水) 01:37:53.22 ID:S32T4HZ1
ごめ、破壊速度だからmaterial自分で作っても意味ないや
石みたいに適切なツールじゃないとドロップしないようにするとかだ

361 :名無しさんの野望:2013/03/01(金) 02:06:50.80 ID:XvyVGdMN
IC2のAPIにElectricItemクラスがあるけど、
同じようにElectricBlockクラスのようなものはありませんか?
ElectricBlock.charge(x,y,z,amount,tier,…)
みたいに使いたい

362 :名無しさんの野望:2013/03/03(日) 00:18:52.90 ID:9PmyYpAX
RML で出来ていたことが FML で出来なくなると、ちょっとヘコむな。
FML 対応やめようかなぁ……

363 :名無しさんの野望:2013/03/03(日) 00:33:16.83 ID:H3lWRiVC
その肝心の内容を書かなきゃ問題の周知にも解決にもならないんだぜ

364 :名無しさんの野望:2013/03/03(日) 00:57:57.74 ID:buZTFdwo
RMLでできることはほとんどForgeのFMLが吸収してくれるから、
やりたいことはForge対応じゃなくてUniversal対応じゃないの?

365 :名無しさんの野望:2013/03/03(日) 01:24:10.85 ID:buZTFdwo
何のこと言ってるかわからないから一応書いておくけど
\forge147\mcp\src\minecraft\net\minecraft\src
にModloader用のソースをつっこむ

ほとんどエラーだからこの時点でコードは触らない。
RMLと違ってForgeはパッケージ分けされてるから、
パッケージを読み込む、見つからないパッケージの型を
読み込んでいくeclipseだと簡単なんだけどね。
それが終わると残るのは数箇所のエラーで済むと思うけど。

ModLoder.getInterface()とかModLoder.addRecipe()みたいのは、
FMLが勝手に認識してくれるからそこは直さなくていいともう。

Universal(マルチでも使えるように)対応するなら、
話はもっと複雑だけどFML対応ならこれでいけるぞ

366 :名無しさんの野望:2013/03/03(日) 01:39:10.25 ID:9PmyYpAX
じゃあ、内容を書いてみます。RML 1.4.7 と FML4.7.4.520 の差異で気付いたところ。


【その1】
BaseMod を継承した抽象クラスと、そのクラスを継承して作った MOD 本体を別々の zip に分けていると、
RML では問題なくロード出来るが、FML では MOD が BaseMod を継承していないと判定される。
→MOD の構造を変更することで対応

【その2】
ModLoader#setPrivateValue について、RML では final フィールドに対しても使えるが、
FML では対応していないので IllegalAccessException がスローされる。
→RML の相当の setPrivateValue を自前で持つことに。

【その3】
ItemSpade#blocksEffectiveAgainst が setPrivateValue で書き換えられる(RML) のと
書き換えられない(FML) という差がある。
→未解決。final が外したことまでは確認できているが、その後なのに 「IllegalAccessException: Can not set static final」 と怒られる


【結論】
FML は RML のノリで扱うと痛い目を見る。

367 :名無しさんの野望:2013/03/03(日) 01:54:33.66 ID:buZTFdwo
>>366
MinecraftForge.setBlockHarvestLevelで代用できないかな?

368 :名無しさんの野望:2013/03/03(日) 02:14:15.72 ID:buZTFdwo
ツールの方の設定変えたいならこっちかも setToolClass

369 :名無しさんの野望:2013/03/03(日) 02:20:26.64 ID:9PmyYpAX
やりたいことは結局のところ setBlockHarvestLevel なんです。
ただ、RML にて自前でやっていた処理が Forge 自体と競合するのなら、
もはや対応不可能としてMODのサポート外にしてしまって良いかなと思ってます。

「自前でやるけど Forge があるならそれを使う」 みたいな処理の山になるのは嫌なので。
代用を探していると本当に気が滅入ってきます。

370 :名無しさんの野望:2013/03/03(日) 02:23:52.65 ID:buZTFdwo
>>369
そうだね〜逆にForgeはパッケージ化した分、セッタとゲッタ色々用意したからそれ使ってね〜ってスタンスで、
ModLoaderはsetPrivateValueとgetPrivateValueあるからそれ使ってねってスタンスだしね

371 :名無しさんの野望:2013/03/03(日) 02:27:19.22 ID:buZTFdwo
逆にForgeパッケージ分け、src.*に全部ぶかえれば、
final見れるかもしれないけどめんどくさすぎるね

372 :名無しさんの野望:2013/03/03(日) 02:50:06.71 ID:buZTFdwo
>>369
連投で済まないけど、そこの変数privateか、publicに書き直して、
コンパイル通してさ、ItemSpadeのclassもreobfにできちゃうけどそれは捨てて、
マインクラフトの実機環境に載せてみたらどうなるかな?
うまくいけばスコープできるかもしれない。

373 :名無しさんの野望:2013/03/03(日) 03:11:57.56 ID:9PmyYpAX
>>372
そういうのができたら嬉しいですね。

374 :名無しさんの野望:2013/03/03(日) 13:14:51.68 ID:doNFobVl
RMLとFMLの違いっていうより作者のスタンスが問題の根本原因じゃないかな。
リフレクションのユーティリティをAPI機能だと考える事がまず間違ってる。

プライベートフィールドは、クラス機能として、値が書き換えられることを一切考慮されてない部分。
その値を変更するのは、既存書き換えをやるのと根本的には同じ事。

RMLが機能提供してて簡単に出来てしまうので、そのあたりの感覚がマヒしてたり無い人もいるだろうけど、
極力リフレクションで値書き換えるような実装を、リリースする対象で「やるべきでない」と思うよ。

得にfinalで修飾されているような、クラス内からの変更すら考えられてない部分は、
他の環境に影響を与える可能性がより高くなる部分なので、
RMLのノリっていうか、そういうノリでMOD作る作者は既存書き換えたほうがいいんじゃないかな。
MOD利用者や、他のMOD製作者のためにも、BTWみたいに割り切った対応をして欲しい。
じゃないと、競合による問題が発生した場合に、他のMOD作者に迷惑をかけることにも成りかねない。

375 :名無しさんの野望:2013/03/03(日) 13:43:54.32 ID:doNFobVl
もちろんリフレクション使うなって話ではないよ。そのあたりはケースバイケース。
ただ、どういうケースで使えるかってとこの判断が曖昧なら、一律使わないか既存書き換えれって話ね。
あと、FMLのissueでセキュリティ関連の話とかも出てるから、
今後リフレクションに対する制限が増える可能性もあるかもだね。

あと、その3の問題は、情報足りてないからどういう環境で発生させたエラーかは分からんけれど、
実行時にItemSpade#blocksEffectiveAgainstがstatic finalな事が原因だから
開発環境上じゃなくて実際のプレイ環境上での話しなのかな?
そうだと仮定すると、開発用じゃないほうでfinalを外す書き換えが漏れているとかだと思う。
(もしくはforgeだとfinalに変更されてるのかな?)

ちょっと逸れるけど、エラーの根本原因は、static final フィールドへの不正なアクセス(書き込み)。
なのでパッケージとかアクセス指定子とかはあんまり関係ない。
static final は変更がない事が明示されてるコードで、コンパイル時点でコンパイラ様の手で
インラインな値に置換される場合があり、ランタイムでの変更が不可能になってる可能性があるための制約だと思う。

もしForgeじゃなくFMLで起きてるなら互換性のバグだろうし、PR送ればマージはされそうだけど、
誰もそんな使い方してないから発見されず放置されてんじゃね。

376 :名無しさんの野望:2013/03/03(日) 14:06:32.58 ID:doNFobVl
何が言いたいかというと、RMLで出来ることは提供されてるAPIだけで、
RML上で無理やり対応してることはRMLで出来ることではない、ってこと。
RMLとかForge/FMLとか、ほかに問題があることじゃない。
自分でお行儀の悪い実装をするのなら、他のMODと競合しても仕方がないことだと思って割り切っちまおう。

でも、FMLのruntime de-obfuscateきたら、RMLベースの開発環境は本気で終わりそうだし、
今後もMOD開発するつもりの人は、はやいとこForge/FML環境に乗り換えたほうがよさそう。
再コンパイル再難読化しただけのバージョンアップ対応みたいなのも要らなくなるだろうし。

377 :名無しさんの野望:2013/03/03(日) 14:14:28.94 ID:k/aO6Gre
根本的に、他人のプログラムを既存コード触らず(再設計無しに)外部から改造するって作業だから
可能な手段が黒魔術的な方法しか残らないこともあるのは(むやみに忌避しても)仕方ないんじゃね
(競合が問題なら、「MLの恩恵に与るならMLのカバー内容で協調しろ」的な方向性よりも
 競合情報の提供を求めて公開する方向でやる方が、建設的でより多くにとって幸せだろうし)

例のそれは自分とこのforgeだとpublic static final Block[]だったよ
static finalなフィールドはリフレクションじゃ書き換え不可能らしいから
forge界隈でよく聞く常套手段の>>372がうまくいくといいけど

378 :名無しさんの野望:2013/03/03(日) 14:27:07.97 ID:doNFobVl
連投スマソ。
>>375で1点訂正
FMLのバグじゃなくForgeでの変更によるものみたい。
なので、RMLとFMLの互換性問題ではなさそう。

つまり、リフレクション使ってForgeと競合する実装を行っていた事が原因。

// こういった問題が起きやすいから、リフレクションは極力使わないほうがいいと思う

取れる対策は、Forgeにある機能をRMLでも再現するために、処理を分けて両対応のMODを目指すか、
ForgeかRMLのどちらかの環境での動作サポートを切るかの2択じゃね。

379 :名無しさんの野望:2013/03/03(日) 14:33:55.37 ID:k/aO6Gre
その下二行で話が終わると、せっかく詳細書いてくれたのに>>362で終わってる話になっちゃうな

380 :名無しさんの野望:2013/03/03(日) 14:38:10.76 ID:doNFobVl
>>377
黒魔術的な方法である事を理解して貰うのは大変だし、それなら使わないことを進める方が楽だからなー。

リフレクションのデメリットを教えたりするのは、突き詰めたらSecurityManagerだとか
もっと深い話まで発展しかねない部分だから、こんな場所でやるのは無理だし、
そういうのって各自が必要に応じて勉強すべき部分だと思う。

だから、privateなフィールドにアクセスできる便利な方法、って認識で使わないほうがいいよって感じ。

このあたりの情報って、ぐぐったら setAccesible(true) を説明なしに使ってたりするから、けっこう危ういのよね。
理解不足で多用しちゃうと、きちんと作られたアプリケーションに出くわしたときに調査できずに死に兼ねない。

ちなみにFMLだとそこにはfinalがついてなかった。
forgeは代替となる手段を用意してるから、変更は認めないようにする制約を追加してる、って感じなんだと思う。

381 :名無しさんの野望:2013/03/03(日) 14:49:41.73 ID:doNFobVl
>>379
そだね。
>>362の「RMLで出来ていたこと」って表現には語弊があるけど、
自分のレスは、情報をちょっと足して無駄に長文にしただけで、結論はそこで出てると思う。

それ以外の対策方法(アンチパターンとなるような逃げ道)は、自分が理解出来てる範囲では見当たらない部分。

黒魔術どころかなんかもっとやばいの召喚する儀式でよければ、
クラスローダーのっとってロード時に値を差し替え…みたいな手あるけど、
(操作したい対象がprivateだし参照だから散らばってることは無いだろうし多分可能)
さすがにアホすぎるしなww

382 :名無しさんの野望:2013/03/03(日) 14:52:11.29 ID:doNFobVl
なんどもすまそ。意味不明だから訂正

> それ以外の対策方法(アンチパターンとなるような逃げ道)は、
> 自分が理解出来てる範囲では見当たらない部分。

それ以外の対策方法(アンチパターンとなるような逃げ道)は、
自分が理解出来てる範囲では見当たらななかったす。

383 :名無しさんの野望:2013/03/03(日) 15:52:35.19 ID:qryz8h9X
急にスレのレベルが上がった

384 :名無しさんの野望:2013/03/03(日) 16:28:36.17 ID:k/aO6Gre
クラスローダー関連はForgeさんがcoremodとして大まじめに枠組み提供してる部分じゃね
まあそれを採用するとしても結局Forge用別MOD作ることになるわけか

385 :名無しさんの野望:2013/03/03(日) 17:48:21.21 ID:doNFobVl
>>384
別MODにする必要はなくね。
同じMODのコードで動かせることを目的とした場合の手段としてあげたネタ話。
まぁそもそもFMLRelauncherは拡張を考慮して無いし(そんなことする必要ないし)、
色々面倒すぎて、同じコードで動かせることのためにやるような事じゃないw

あとすごく重箱の隅だけど、coremodはFMLの機能だからForgeは何も提供してないぜ。
Forgeが提供してるのは、複数のMODがやりたがるような事を、競合なくできる仕組みだけ。

386 :362:2013/03/03(日) 18:14:08.48 ID:9PmyYpAX
確かに「RML ではできていたこと」って表現は微妙でしたね。
リフレクションを自前でやるか、FML がやってくれるかという差でしたし。

ちなみに final を無かったことにして値を書き換えるのは RML でも FML でもやってますね。どちらも黒魔術の領域。
しかも Forge だとさらにアクロバティックに、com.sun.reflect を直接リフレクションで叩いてますし……
『Forge よ、お前は sun の jvm でしか動かない子なのか』 とか思ってしまいます。

まあ、一番謎なのは、競合の有無とかは置いておいて、
なぜ public static final Block[] を Forge 環境下で書き換えられないか、だったりしますが。

387 :名無しさんの野望:2013/03/03(日) 19:15:30.87 ID:7mdORv4e
え、エラーメッセージに答え出てるのに理解できてないの?

388 :362:2013/03/03(日) 19:46:59.99 ID:9PmyYpAX
>>387
でてた?

通常リフレクションでは final フィールドの値を書き換えることができないから、
Field 自体をリフレクション使って final を 『外して』 書き換えられるようにする。
これが RML の setPrivateValue の挙動。

それと同じ実装を自前で用意して、Forge 環境下でも動作するようにしたい。
だけど、同じ処理でも RML でやると上手くいくが、Forge では上手くいかない。
どちらの環境でも最初は final 付いているが、処理の途中で final が外れたのは確認できる。
しかし RML では上手くいき、Forge では IllegalAccessException で弾かれるのはなぜか?

という話でした。

389 :名無しさんの野望:2013/03/03(日) 20:10:53.61 ID:OKJ2xc80
ぼくはよくりふれくしょんでぷらいべーとふぁいなるってついているめんばーをかきかえたり
いかにもきょうごうしそうなぶぶんにてをだしてすりるをたのしんだりします
doNFobVlさんにばれたらまほうでてんぷらにされますか?
ぼくはぷろぐらまーではないのでてんぷらにしてもおいしくないとおもいます

390 :名無しさんの野望:2013/03/03(日) 20:13:42.84 ID:doNFobVl
>>386
小姑的だけど、そういうのとは少しちがうかな。
APIの機能として提供されている(サポート範囲)なのか、提供されて無いのかの違い。
リフレクションはRMLの機能ではないから、RMLで出来ていたっていう表現だと
RMLがそういった機能を提供していて、Forgeでその互換性がなくなったように
読み取れるような書き方してあるので、語弊があるかなって思っての指摘。

実際は、RMLで出来ないことを、既存クラス書き換えて実現してたら、
Forgeと書き換えクラスが競合してエラー出た、ってな感じの状況。
なので、上で書いたことに繋げると、そういう影響範囲を把握できて無い部分を
無理やりリフレクションで弄るくらいなら、競合したことがすぐにわかるように、
既存書き換えたほうがいいよ、って意見を書いた感じ。
リフレクションので参照くらいは問題ないけど、JVMとか環境に依存した動作がある可能性高い部分なので、
値の変更みたいなのは、影響範囲が限定されてるか、動作を保障できる範囲じゃない限りやらないに越した事は無い。

> 『Forge よ、お前は sun の jvm でしか動かない子なのか』 とか思ってしまいます。
Forgeは提供している機能に動的なEnum操作をする必要があるから、
言語仕様上JVM依存の処理を使う部分があるのはしょうがないんじゃないかな。
むしろ、どんなJVMにも通じるような手段を持ってるなら、是非修正してPR送るべきだと思う。
つーか俺も知りたい。

ってかいきなりForgeのここがダメだ、みたいな感じの話題を振るのは別の目的があるの?
もし、共感得たいとか宗教戦争がしたいとかなら、blogとかでやろうな。

391 :名無しさんの野望:2013/03/03(日) 20:14:45.33 ID:H3lWRiVC
doNFobVlって何かの単語かと思ったがIDかwww

392 :名無しさんの野望:2013/03/03(日) 20:32:25.27 ID:doNFobVl
>>386,388
ああ、言ってる意味はわかった。
ってかRMLのこれはちょっとまずいんじゃないかなw
さすがにjavaのクラスをリフレクションで値変更するのはまずい実装だと思うわw
ただ、JVMがmodifiersだけを見て制限を変更してるかは、JVMの実装に依存するからなんともだな。
そんなんできたらセキュリティの制御が出来なくなってザルJVMになってしまいそうだし、
もう少し制限がされてるような気がするよ。

あと、先にも書いてるけど、static final がついてると展開される可能性があるから、
そういう意味でも実行時に値を書き換える、リフレクションの対象にするのは難しいと思う。

ついでに言うと、finalついてても、アクセス制限だけ弄れば
インスタンス変数は変更はできるから、RMLのmodifiersフラグ周りの処理自体無駄な気がする。

393 :名無しさんの野望:2013/03/03(日) 20:41:25.51 ID:BHiLg7Zo
ここ時々ハイレベルになるな
勉強になるわ

394 :名無しさんの野望:2013/03/03(日) 22:49:00.91 ID:OKJ2xc80
ID:doNFobVlがMLはオワコンだと思っていて(>>376)、Forgeを否定するのはML教の信者だと思っている(>>390
ってことがよくわかる有意義な時間だったね

395 :名無しさんの野望:2013/03/03(日) 22:59:44.28 ID:doNFobVl
>>392で嘘書いてたので訂正
finalがついている場合に変更できるのは、Fieldインスタンスがコピーしてきた値だけで、
クラスインスタンスのフィールドの値は変更できていないようだった。
Fieldクラスのmodifiersを書き換えても結果は同じ。

テスト環境のJREは java version "1.7.0_15"
Java(TM) SE Runtime Environment (build 1.7.0_15-b03)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
同JVMの6update41でも結果は同じ。

つまり、finalつけてるフィールドの値は普通にリフレクション使っても変更できない。
なのでRMLのmodifires弄ってる処理は得に意味はないみたいだね。

396 :名無しさんの野望:2013/03/03(日) 23:06:49.32 ID:k/aO6Gre
RML使ってないけど、後学のために
> しかし RML では上手くいき、Forge では IllegalAccessException で弾かれるのはなぜか?
このへんの具体的な理由は自分も知っておきたいところ

397 :名無しさんの野望:2013/03/03(日) 23:09:21.87 ID:IsJQi2io
ID:OKJ2xc80 これがML信者か

398 :名無しさんの野望:2013/03/03(日) 23:14:52.91 ID:l3xZcWTw
>>397
話しについていけないのが悔しくてくだらない事しか言えないだけのバカだろ。

399 :名無しさんの野望:2013/03/03(日) 23:17:47.12 ID:doNFobVl
>>396
理由は>>377のとおり。
Forgeだと blocksEffectiveAgainst が static final なので変更できない。
RMLやFML環境、バニラではそこは final がついてないから、アクセス拒否されることないし、書き換えも可能。

ただ、いま試しなおしてみたら、ちょっと面白い動作してることに気付いた。
Java7だとstatic finalなFieldへのsetで不正アクセスの例外は発生してない。
どちらにしても、finalついてるクラスメンバーやインスタンスフィールドの値は変わってないんだけど。

400 :名無しさんの野望:2013/03/03(日) 23:44:32.50 ID:k/aO6Gre
>>399
> RMLやFML環境、バニラではそこは final がついてないから、アクセス拒否されることないし、書き換えも可能。
おおなるほど(FMLも含むのか)ようやく話が分かったわ、ありがとう

FMLってForgeと一体化したんじゃなかったっけと思ってたけど
Forgeと別個のFML環境もちゃんと用意されてたのね
よくForgeのフォルダ見たらfmlはfmlでmcpフォルダと似た構成になってるのに今気づいたわ

401 :名無しさんの野望:2013/03/04(月) 00:11:31.07 ID:tyWxpOEC
>>399
貼れるかな? 実験コード。final 付いていても書き換え可能だった。こちらの環境は……
 Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
 Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

import java.lang.reflect.*;
public class Test {
public static void main(String[] args) throws Exception {
System.out.println(new Foo());
for(Field f: Foo.class.getDeclaredFields()) {
if ((f.getModifiers() & 16) != 0) {
Field fm = Field.class.getDeclaredField("modifiers");
fm.setAccessible(true);
fm.setInt(f, f.getModifiers() & -17);
}
f.setAccessible(true);
f.set(null, new Object());
}
System.out.println(new Foo());
}
}
class Foo {
public static Object value01 = new Object();
public static final Object value02 = new Object();
private static Object value03 = new Object();
private static final Object value04 = new Object();
public String toString() {
return value01 + " / " + value02 + " / " + value03 + " / " + value04;
}
}

402 :名無しさんの野望:2013/03/04(月) 00:31:01.79 ID:DwtFVyx0
>>401を受けて再テスト
結果が異なったのは、フィールドの型の違いが原因だった。
Stringだと書き換えが出来ないが、Objectを拡張したクラスで試したところ書き換えができた。
プリミティブ型(int)で試した場合は、Stringと同じ結果となった。

Oject型でのテストは、Java6だとstatic final の書き換えで失敗し、Java7だと書き換えに成功した。

いずれのテストでも、Field#modifiers の値の変更による結果の違いはなかった。

Object型であるStringで期待通りの結果が得られないのは、コンパイラかJVMかわからんが、
Stringを特別に扱っていることによる影響だと考えれそう。
試しては無いけど他の不変の型(Integerとか)も同じように制限されてそう。

403 :名無しさんの野望:2013/03/04(月) 00:31:54.73 ID:DwtFVyx0
と、さすがにmodとは関係ない話題になってきたので、これくらいにしておきます。失礼しました。

404 :名無しさんの野望:2013/03/04(月) 09:34:02.85 ID:2pX57dcA
コンストラクタで与えたEntity側のfloatの変数の値に応じてRendererでの描画処理を変更したいんだけどどうすればいいの? Entity側は与えた値になってるのにdoRenderの中から参照すると0になってるんだけど・・・

405 :名無しさんの野望:2013/03/04(月) 09:53:22.23 ID:TwXXftCs
writeEntityToNBTとreadEntityToNBTでNBTとして同期するデータを設定してやるとか?

406 :名無しさんの野望:2013/03/04(月) 22:41:05.77 ID:3RefWp4w
finalは「定数」じゃなくて「一度代入したら変更できない変数」

この「変更できない」ってのは一番外側にかかるので、
final int a=1;
a=2;
はIllegalAccessExceptionで死ぬ。
setAccessible(true)したら、例外は発生しないが値は変更されない。

final Hoge hoge=new Hoge();
hoge.a=1;
は問題なく変更される。

なので>>402前半の結果は当然。
Stringとかラッパークラスとかは知らね。

407 :名無しさんの野望:2013/03/04(月) 23:57:03.02 ID:v/eDAbiH
「一番外側」って・・・

408 :名無しさんの野望:2013/03/05(火) 01:24:12.02 ID:ZPWjBE6k
>>406
参照とかそういう基本的な部分については分かるだろうって細かくは書いてないけど、そういうことじゃないよ。

結果は書いてるとおり。
昨日書いたコード一式うpるので、気になるようだったら自分で試しておくれ。
ttp://www1.axfc.net/uploader/so/2817310.zip パスはmod
プロジェクトのJREまちがって7のままでうpっちゃってるけど、ライブラリをJRE6に変えてあげれば、
準拠レベルも6になるから、テストの起動構成で実行用のJREを6にしても動くとおもう。
あと、TargetClassの"Object"の部分を別の型に全置換して、BEFOREとAFTERの値を型に合わせて書き換えたら別の型でも試せると思う。


そういや昨日Integerみたいな不変の型も同じかもって書いてたけど、Integerで試した場合は書き換え出来た。
Stringとプリミティブ型のみが特別な扱いされてるみたい。

もっかいまとめると、たぶんこんな感じ。
finalがついたフィールド値は、Java7なら、「プリミティブ型」もしくは「String型」以外の型のフィールドであれば、変更が可能。

つーわけで長々とすまんかった。

409 :名無しさんの野望:2013/03/05(火) 01:32:56.00 ID:ZPWjBE6k
>>404
405も書いてるけど、クライアント側のみでEntityに値を設定しているとかでなければ、
サーバーとクライアントのEntityの値の同期が取れていない可能性が高いんじゃないかな。

シングルの場合でもサーバーとクライアントはインスタンス的には別のEntityを持ってるから、
サーバーで値を更新したのなら、同期取ってあげないといけないよ。
RenderにわたってくるEntityはクライアント側がもっているEntityインスタンスで、サーバーのものではない。

410 :名無しさんの野望:2013/03/05(火) 04:04:15.12 ID:Rb3JcJkf
>>402
static finalのプリミティブ型やString型を参照してる部分を、
コンパイラがリテラル値に置き換えてるんじゃねーの?

411 :名無しさんの野望:2013/03/08(金) 22:41:07.50 ID:2wCna3VY
mob制作で躓いた。メソッド解説がマジで欲しいぜ・・・

412 :名無しさんの野望:2013/03/08(金) 22:54:54.95 ID:VWwyfvyh
各種解説ページを手掛かりにソースコードあっちこっち追いかけてると
だんだんぼんやりと全体の動作が脳に刷り込まれてきた感じがする

413 :名無しさんの野望:2013/03/10(日) 04:12:20.49 ID:oJI37fi8
IC2のブロンズ装備が入ったチェストを砂漠の寺院で見つけたのですが、バニラで自然生成されるチェストに、自前のアイテムを放り込むには何処を弄ったらいいのでしょうか。

RML環境でそれらしい物を探したのですが、見つけられませんでした。

414 :名無しさんの野望:2013/03/10(日) 07:24:38.97 ID:O010nfmC
RMLにはないよ
既存クラス書き換えになる

415 :名無しさんの野望:2013/03/10(日) 15:42:08.26 ID:UA4+gDRo
Entity の NBTTagCompound をサーバとクライアントで同期するパケットってありませんでしたっけ?
TileEntity 用の Packet132TileEntityData はすぐに見つかりましたが、こんな感じの。

416 :名無しさんの野望:2013/03/10(日) 17:52:40.65 ID:F+dDsEmv
エンティティの同期周りは自分も調べてるところなんだけどさっぱりだなあ

417 :名無しさんの野望:2013/03/10(日) 18:52:11.45 ID:paSFJ/aN
DataWatcherとか使うんじゃなかったっけ
Entityは触ったこと無いので間違ってたらゴメーンネ

418 :413:2013/03/10(日) 23:38:11.63 ID:oJI37fi8
>>414
ご回答ありがとうございます。
Forgeに移植することにしました。

で移植してaddDungeonLootと言うそれらしきものを見つけたのですが、非推奨でした。それでDungeonHooksの代替クラス、ChestGenHooksを覗いてみたのですが、どのメソッドを使えばいいのかわかりません。

419 :413:2013/03/10(日) 23:42:05.67 ID:oJI37fi8
途中で送信押してしまった。。連投すみません


>>414
ご回答ありがとうございます。
Forgeに移植することにしました。

で移植してaddDungeonLootと言うそれらしきものを見つけたのですが、非推奨でした。
それでDungeonHooksの代替クラス、ChestGenHooksを覗いてみたのですが、どのメソッドを使えばいいのかわかりません。
どういった方法でチェストにアイテムを入れるべきなのか教えていただけないでしょうか?

420 :名無しさんの野望:2013/03/11(月) 21:32:13.48 ID:AmwrAoGr
@Instanceってmodidまんまじゃないと動かないんだな
エラーメッセージでググっても全然動かなくて数時間悩んだわ

421 :413:2013/03/11(月) 23:43:39.02 ID:PlphXas5
自己解決しました。

422 :名無しさんの野望:2013/03/12(火) 08:18:54.37 ID:Ok2RR6hN
Techne起動しねぇ
参ったこりゃ

423 :名無しさんの野望:2013/03/16(土) 15:45:36.33 ID:bmo7Vy8l
ぐぬぬ…moddingWikiが落ちてやがる…

424 :名無しさんの野望:2013/03/17(日) 00:22:31.56 ID:oD+aFLmw
OptifineやPlayerAPIみたいなソース無しjar投入系のMODやAPIを
今時(MC1.5)のForge開発環境に導入するのってどうやるんだろう

install.shしてできたmcp/jars/bin/minecraft.jarにRenderPlayerAPI入れてcleanup.sh→decompile.shして
 > Unrecoverable error during obfuscation, see log file for details.
 > RetroGuard error: COM.rl.obf.classfile.ClassFileException: ClassNotFound qp
と言われて失敗するところまでは試したけど、たしかmoddingWikiにもその辺の情報は無かったよね

425 :359:2013/03/17(日) 00:59:28.42 ID:Mm7BXOsG
>>424
ぱっと思いついたのが、他の環境でデコンパイルしてソースをForge環境に移動……
でもあれか、Forge環境とForge無し環境じゃ色々変わっちゃうんだっけ

426 :名無しさんの野望:2013/03/17(日) 01:00:44.07 ID:Mm7BXOsG
名前つけて曖昧な答えとか恥ずかしい><

427 :名無しさんの野望:2013/03/17(日) 01:27:15.58 ID:cxUT/6rx
配布場所に書いてあるとおり。まずMCPによるデコンパイルと難読化解除を行う
その後にForgeの同じソースとマージを行えばOK
バニラのソース、Forgeのソース、APIのソースの3つを用意して
WinMargeとかで3ファイル比較しつつ変更点確認しながらマージしていくのが確実だと思うよ

最近の開発環境事情からすると、めんどくさい仕組みのままだから、改善して欲しいところだな

428 :名無しさんの野望:2013/03/17(日) 01:28:49.11 ID:cxUT/6rx
あ、PlayerAPIの話な、Optiは見てない

429 :名無しさんの野望:2013/03/17(日) 11:48:16.89 ID:ip47v4AZ
テクスチャの切り分けツールってありませんか?
>>306はテクスチャパック用だし、
>>307さんのは2列以上あるとなんか画像が崩れる

430 :名無しさんの野望:2013/03/17(日) 12:11:05.38 ID:Q4VnlPFW
>>429
http://reginn666.hatenablog.com/entry/2013/03/10/181338
ここにあるやり方でできない?

431 :名無しさんの野望:2013/03/17(日) 12:30:26.35 ID:oD+aFLmw
>>427
forgeでないmcpにゲームフォルダから持ってきたバニラのjar(とnativeフォルダの中身)入れて
minecraft.jarにRenderPlayerAPI入れたら、デコンパイルまではできたよ! ありがとう

マージはマージ用ソフト使っても心折れたけど、RenderPlayerAPIがforge対応してるのをあてにして
APIのファイルをForge環境に上書きすることにして、今はEclipseに従ってエラー表示を消す作業してる

432 :名無しさんの野望:2013/03/17(日) 12:42:47.16 ID:FmKfrAGM
ModLoader1.5で
ModLoadergetUniqueSpriteIndex()とか
ModLoader.addOverride()がなくなってるんだけど、
それらに変わる処理ってなにか追加されてるのかな?
どなたか知っていましたら教えてください。

433 :名無しさんの野望:2013/03/17(日) 12:52:12.64 ID:ip47v4AZ
>>430
おー、さんくす
インストールがめんどいがちょっとやってくる

434 :名無しさんの野望:2013/03/17(日) 13:04:52.07 ID:GD62px9W
>>432
それらに替わる処理は公式で追加されてるから
公式コードを参照して作ればいける

435 :名無しさんの野望:2013/03/17(日) 13:09:16.69 ID:FmKfrAGM
>>434
ありがとうございます。
なるほど、公式処理も結構かわってるのですね。
いろいろ参照してみます。

436 :307:2013/03/17(日) 14:25:07.91 ID:gPy9NV4o
>>429
透過のことをさっぱり考えてなかったのだぜ
修正してみた

437 :名無しさんの野望:2013/03/18(月) 06:11:31.45 ID:fQqKUi3L
上の人とは別の者ですが

tex = par1IconRegister.func_94245_a("modname:top");
/mods/modname/textures/blocks/top.png

以上のようにForgeはテクスチャのパスにフォルダ指定できるけど、Modloaderは
いまの所パスを追加することはできないですよね?


たとえばModloaderで以下のようにしたいけど、func_94245_aにはパスを含ませると
画像を読み込んでくれないようです。
サラっとしか見てないけど文字列を内部ではファイルとして格納している部分がありそう
なので単純にパスを作るだけのメソッドではなさそうで。
tex = par1IconRegister.func_94245_a("aaa/top");
/textures/blocks/aaa/top.png

ファイルしか指定できないから他のmodとかぶらないようにするにはファイル名を
ユニークな物にしないといけないのだけど、できるならフォルダで区別させたい所。

438 :名無しさんの野望:2013/03/18(月) 08:27:09.82 ID:7XzDNXbp
単純にこんなのを作ることが可能かっていう質問なんだが

・プレイヤーでスキル制を導入する。
例えば、鍛冶のスキルとか、きこりのスキルとか農業のスキルとか。
そのスキルのレベルを上げないと上位?の事が出来ないみたいな。
・NPCになれるMOD?
プレイヤーがいて、他のNPCがいるとする。
んで、指定したNPCの視点になって、そのMOBつうかキャラ?に設定された環境でプレイできる。

こんな感じの奴。単純にこんなかんじのを作ってみたいなぁって思ったんだが、可能?

439 :名無しさんの野望:2013/03/18(月) 08:51:36.27 ID:IJTIsQlq
>>438
できそうとは言えるが本当に可能かは作ってみないとわからない
つまり可能か聞く前につくってみなさい

440 :名無しさんの野望:2013/03/18(月) 13:12:28.65 ID:7XzDNXbp
>>439
わかった
プログラミング一回もやったことないから勉強してから挑戦してみるわ

441 :名無しさんの野望:2013/03/18(月) 21:10:48.05 ID:KDwZl01/
custom lan port modっていうのをつかってUgocraftがマルチ化してるのを見て
これつかえばメイドさんマルチでいけるんじゃね('A`)!?とか思い立っていろいろしてるけどいまいち使い方がわからん・・・。

UDPポート公開とかもできてるはずなんだが・・

どなたか知恵をかしてください!

442 :名無しさんの野望:2013/03/18(月) 21:14:13.45 ID:KgsDQySf
>>441
スレ違いですよ。MODスレか質問スレ行きましょう。

443 :名無しさんの野望:2013/03/18(月) 21:32:03.44 ID:KDwZl01/
>>442
スレタイ確認したら間違えてました・・・申し訳ない('A`)
板汚し失礼しました

444 :名無しさんの野望:2013/03/19(火) 03:29:19.98 ID:QK05LzCc
Forgeのイベント系のチュートリアル載っているページないかな?
LivingAttackEventでダメージ軽減とかやりたいんだけど、
全然使い方がわからない

参考までに環境は#518です。

445 :名無しさんの野望:2013/03/19(火) 05:59:35.06 ID:1h86La1M
>>444
reginn666氏のwikiにさわりだけ載ってる
後は似たような作り方で全部いける・・・はず

446 :名無しさんの野望:2013/03/19(火) 14:23:49.41 ID:QK05LzCc
>>445
ありがとう〜
詳しく解説してあって助かりました!

447 :名無しさんの野望:2013/03/19(火) 18:35:49.54 ID:QK05LzCc
ダメージ値で設置しているブロックのテクスチャが変わるMODを作っているんですが
ブロックがアイテムとして扱われてるいるときは問題なく16以上も違うテクスチャで表示されていています。
ブロックを設置したときに0〜15までは問題ないのですが、16以上は15をマイナスしたブロック表示になってしまいます。
16なら0、17なら1という感じです。回避策はとかないですか?

448 :名無しさんの野望:2013/03/19(火) 18:38:11.34 ID:1h86La1M
>>447
メタデータが16以降ないのは仕様です。
TileEntity使えば1ブロックでも行けるけど何気に面倒

449 :名無しさんの野望:2013/03/19(火) 18:40:42.25 ID:M6ERdBrE
Blockのmetadataが0〜15までしかないからね
ブロック設置時にTileEntityに書き込むくらいしかないんじゃね
で描画はTileEntitySpecialRendererを使う

450 :名無しさんの野望:2013/03/19(火) 18:43:33.35 ID:gYMLYG7V
ボートなどのEntityを操作する方法はどうすればいいのでしょうか?
ソースを見ているとDataWatcherクラスのaddObjectメソッドあたりが怪しいとおもったんですが・・・。

451 :名無しさんの野望:2013/03/19(火) 18:46:38.50 ID:QK05LzCc
>>448
>>449
ううー、16までなんですね。
素早いご回答、ありがとうございます。
TileEntityは使ったことないですが勉強してみます。

452 :名無しさんの野望:2013/03/19(火) 18:51:33.30 ID:QK05LzCc
>>450
どういう操作かはわからないけど、DataWatcherは
単にサーバーとデータを同期させてるだけなので、あんまり関係ないかも?

453 :名無しさんの野望:2013/03/19(火) 19:00:57.05 ID:gYMLYG7V
>>452
"w"キーを押すと前進
"s"キーを押すと後進
他のキーで・・・といった具合なんですが
DataWatcherクラスってそうやって使われるんですね

454 :名無しさんの野望:2013/03/19(火) 19:38:24.46 ID:QK05LzCc
>>453
ボートの処理はボートによって特殊な移動処理をしているのではなく
riddenByEntityの情報に合わせてボートの位置情報を取得して、
ボートを描画してるだけっぽいですね

455 :名無しさんの野望:2013/03/19(火) 20:47:41.00 ID:te5arWiL
>>454
なるほど
そういうことなんですねありがとうございます
やっぱり他の人のソースを参考にするしかないですかねぇ

456 :名無しさんの野望:2013/03/20(水) 09:40:56.10 ID:8UKL+z11
forge使ってエクリプスで⒈5用のアイテムとブロック追加チュートリアルやってるんですが自作テクスチャ何処に置けばいいんでしょうか?
modsフォルダがいっぱいあってわかりません

457 :456:2013/03/20(水) 11:29:36.11 ID:8UKL+z11
すいません。自己解決しました。
ドライブ:\forge\mcp\src\minecraft\mods\【ドメイン名?】\textures又はblocks\
の中に入れたら出て来ました。jarフォルダとか片っ端から突っ込んでた・・・・
もっとエラーメッセージ見ればよかった・・・(;´Д`)

458 :名無しさんの野望:2013/03/20(水) 11:31:50.20 ID:8UKL+z11
すんません間違えた・・・(´・ω・`)
ドライブ:\forge\mcp\src\minecraft\mods\【ドメイン名?】\textures\items又はblocks\

もういい。休め。今日は休め俺!orz

459 :名無しさんの野望:2013/03/20(水) 11:42:59.22 ID:b4TICttv
Texture・MOD総合スレから誘導されてきました
他の方の質問に比べて稚拙かと存じますが、質問させて下さい
以下、元スレと同内容

2週間ぐらい前に非公式フォーラムで質問したけど流れてしまったのでこちらで質問させて下さい

Flan's MODで銃器を自作しようとしているのですが、どうにもやり方が理解できず困っています
解説している所も幾つかあったのですが、どれも3Dモデルなどの解説で、肝心の銃の自作方法は見つかりませんでした。
銃のコンテンツパックの自作方法についてご存知の方がいらっしゃいましたら、ざっくりで構いませんので
ご教授頂ければ幸いです

460 :名無しさんの野望:2013/03/20(水) 12:39:14.09 ID:Cpuvee+/
>>459
ご教授とまではいかず、教示ですまないけど、向こうで答えてしまった。
あれで何か問題有ったら/解決した場合はこっちでよろしく
次問題が有るときは使ったツール全部書いてくれると解決もさらに早くなったかと思う

461 :名無しさんの野望:2013/03/20(水) 12:50:18.75 ID:m1WMP2tj
>>458の置き方すると、
startclient.batから起動したときはいいんだけど、Eclipseのデバッグから起動したら
FileNotFoundExceptionにならない?

パッケージ名が"mods.user.hogehoge"だとしたら
テクスチャファイル置くところは"mcp/src/minecraft/mods/user/hogehoge/textures/blocks/filename.png"
func_94332_aに指定するのは"user/hogehoge:filename"でいいんだよな?

462 :名無しさんの野望:2013/03/20(水) 13:08:55.79 ID:gf0ymDa6
Eclipseの方は、Eclipseフォルダ内にコンパイルされた未難読化クラスを実行してた気がするから
そちらに配置する必要があるんじゃないかな

463 :名無しさんの野望:2013/03/20(水) 13:24:04.29 ID:fda1vVrW
Eclipseってsrcに置いたら勝手にコピーしてくれたような

464 :456:2013/03/20(水) 13:29:51.30 ID:8UKL+z11
http://minecraftjp.info/modding/index.php/ にある「新しいテクスチャの利用」っていうチュートリアルをやってたんですが
func_94332_aにはsampleで指定してあってそのまま何も弄ってません。
起動はエクリプスから実行してるんですがこのままだとコンパイルするとエラーになる可能性があるって事かしら・・・

465 :名無しさんの野望:2013/03/21(木) 10:44:57.33 ID:N1ifnrC/
>>464
一番簡単に画像を表示させるには、
頭にmodsつけたパッケージを作るのが早いと思う。
package mods.sample; みたいに。

そうしたら、指定して
@Override
@SideOnly(Side.CLIENT)
public void func_94581_a(IconRegister par1IconRegister){
this.iconIndex = par1IconRegister.func_94245_a("sample:item");
}

んで、画像はここにおけば、Eclipseが勝手に引っ張ってデバッグでも表示してくれる
mcp/src/minecraft/mods/sample/textures/items/item.png

ドメイン名指定でファイル設定できるのForgeだけだから気をつけてね

466 :名無しさんの野望:2013/03/21(木) 10:58:18.59 ID:N1ifnrC/
画像分割するのにこのソフトがお手軽で良かったので紹介
「画像分割くん」
ttp://cacaosoft.web.fc2.com/soft/cut.html

467 :名無しさんの野望:2013/03/21(木) 11:29:45.51 ID:N1ifnrC/
>>461
画像置く場所とパッケージって本当はどうでもよくて、
パッケージがaaa.bbb.cccだとしても、
this.iconIndex = par1IconRegister.func_94245_a("sample:item");で指定したら、
mcp/src/minecraft/mods/sample/textures/items/item.pngに画像置いたら表示される。

"/mods"と"/textures/items"の画像表示用のパスが固定なだけで、
ドメイン名は固定されてない場所の設定パスって考えればいいかも?

実際zip化するときは、
/aaa/bbb/ccc/main.class
/mods/sample/textures/items/item.png
って感じかな。

でもなんか気持ち悪いから、
mods.aaa.bbb.cccってパッケージ作って
this.iconIndex = par1IconRegister.func_94245_a("aaa/bbb/ccc:item");で指定したら、
mcp/src/minecraft/mods/aaa/bbb/ccc/textures/items/item.pngに画像置いたら表示される。
実際zip化するときは、
/mods/aaa/bbb/ccc/main.class
/mods/aaa/bbb/ccc/textures/items/item.png
の方が気持ちいい感じがするってだけ・・・

468 :456:2013/03/21(木) 20:20:13.57 ID:MhIgzeVD
みなさんありがとう。とりあえずjava初心者なんで難しい事はわかんないですが
教えてもらったパッケージ作ってとりあえずそっちからテクスチャ読み込みで動かしてみます。

Forgeの公式チュートリアルで軒並み赤線が出て困るwwww orz

469 :名無しさんの野望:2013/03/21(木) 23:09:03.87 ID:9C/w1XsE
151でまたパス指定変わってるみたいだね
150をコピーしてメソッド変更だけでは読み込んでくれなかった

470 :469:2013/03/21(木) 23:14:59.96 ID:9C/w1XsE
ぐあっthe勘違い ファイル置く場所1段ずれてた

所でForgeの独自レンダーのrenderWorldBlockが実行されないのだけど、同じ人いないです?

471 :名無しさんの野望:2013/03/21(木) 23:48:48.13 ID:a65tTWq4
描画結果はある程度キャッシュされるっぽいよ
周りにブロック置くとかするともう一度呼ばれる

472 :469:2013/03/22(金) 00:18:28.84 ID:Pfey147R
ソース追ってみたらRenderBlocks.javaのrenderTypeのdefault:がfalseを返して終了してた。
150では以下のようになってた。
default: return FMLRenderAccessLibrary.renderWorldBlock(this, blockAccess, par2, par3, par4, par1Block, l);

Forgeならすぐ更新されるかな

473 :名無しさんの野望:2013/03/22(金) 03:40:44.21 ID:YScIW0OU
数万ブロック程度のブロックデータを保存しておきたいんですが、セーブ機構で良い案ありませんか?
NBTに全データ入れるか、それともどこかにファイルを作っちゃうか、とか……

474 :名無しさんの野望:2013/03/22(金) 03:51:19.02 ID:gjleKrDy
>>473
それだけじゃ物によるとしか言えないような
ただコピーして貼りつけたいだけならNBTでもいいと思うけど
建築データとして配布したいならファイルを作るかな

475 :名無しさんの野望:2013/03/25(月) 16:48:54.04 ID:w6RnmX1N
質問です
ボートのように乗ることができるentityに乗った時
entityの向きと自分の向きを同期するにはどうすればいいでしょうか?

例えばボートに乗っている時視点を右に動かすとボートの向きも一緒に右に動く
といった感じです

476 :名無しさんの野望:2013/03/28(木) 03:56:25.78 ID:WmaVQoGi
1.5でテクスチャの取り扱い方変わって面倒だなぁと思ってたけどこれ
アイコンの解像度とか個別に簡単に変えられるから段々便利に思えてきた

477 :名無しさんの野望:2013/03/28(木) 19:31:25.73 ID:DA8iLEhJ
いまドット絵作るために高度限界解除するMODを作ろうと思ったんですが、

ググったり動画みたりしても、レシピの追加や、ブロック、アイテムの追加などしか出て来ません。

バージョンは1.5.1です

どなたかどうすればいいか教えてください!

478 :名無しさんの野望:2013/03/28(木) 20:18:41.64 ID:uKKXxK/r
既存クラスを大量に書き換えればできるんじゃないかなー(適当)

479 :名無しさんの野望:2013/03/28(木) 20:32:41.53 ID:0zuv/gzp
釣りだと思うけど
> ググったり動画みたりしても、レシピの追加や、ブロック、アイテムの追加などしか出て来ません。
作りたいんじゃなくて出来合いのものが欲しいだけだよねこれ

480 :名無しさんの野望:2013/03/28(木) 20:33:23.65 ID:DkcSU1ny
間違いなく既存クラス書き換え
それがいやなら1ブロックを小さな4x4x4ブロックに分割して描画とか

しかしドット絵とかペイント眺めてればいいじゃんって思うんだが

481 :名無しさんの野望:2013/03/28(木) 20:44:59.27 ID:SnbHRHhW
>>480
ドット絵作るってのはある一定の人数いるからねぇ。


高さ上限が低かった時代に高くするってMODが昔あったな。

482 :名無しさんの野望:2013/03/28(木) 20:53:58.07 ID:A62XHQi6
バニラでの高さ上限引き上げはそれだけ革新的だったんだ
単純にy座標で2倍、地表の空間部分として見たら従来の3倍までが
自由に使えるようになったわけで、通常の建築ならまず不足はしない

ドット絵建築は賛否あるからなぁ、わざわざ大型MOD作ってまで
Minecraftでやることかどうかは疑問視せざるを得ない

483 :名無しさんの野望:2013/03/28(木) 22:15:27.49 ID:DA8iLEhJ
>>479

MODの作り方が乗ってるサイトとかを回ったんですが、
レシピを追加するMODを作るやり方とかしか乗ってなかったって意味です

>>480


それがいやなら1ブロックを小さな4x4x4ブロックに分割して描画とか

なるほどそういう考えもあるわけですね…参考にします!

>>482

まぁそう言われてしまえばおしまいですが…
限界ギリギリのものをたくさん作ってたんですけど、
やっぱもっと大きな物を作りたいと思ってしまうんですよね(´・ω・`)

484 :名無しさんの野望:2013/03/28(木) 22:57:37.92 ID:kBJ8iue9
高度限界を制御してる変数をちょちょいと弄ればすぐだろ
MODの勉強よりJavaの勉強が先じゃないのか

485 :名無しさんの野望:2013/03/29(金) 02:37:21.30 ID:IayU3Uat
言い方あんまりよくないけど、聞かないとわからない人はたぶん聞いても分からない
何でって思ったりしたことを調べる事が楽しめる人じゃないと、長くは続かないと思う

486 :名無しさんの野望:2013/03/29(金) 09:33:47.94 ID:89kjzT/R
>>483
>>484がちょちょいと作ってくれるってよ

487 :名無しさんの野望:2013/03/29(金) 10:01:13.35 ID:C/Sj3vOm
>>484
そうですね、Javaはほとんど勉強もなにもしてないんです(´・ω・`)
その変数をいじればすぐと言われたんですが、それがどこにあるのかわからななくて…

>>485

調べるのが苦痛なわけでもないし実際1週間くらいずっと調べてたんですけど
すべて自分でやろうとしなくても、素直に聞くことも時には大切かと思いまして…

>>486

もし484さんが作ってくださるというのであればすごくありがたいのですが…
ここはやはり自分で作ろうかと思います(`・ω・´)ゞ

488 :名無しさんの野望:2013/03/29(金) 10:31:20.66 ID:cpqgyy+m
高度限界を弄るだけならserver.cfgなり内蔵サーバーのコンストラクタでsetBuildLimitの引数書き換えるなりでいけるけど
チャンクデータのファイルフォーマットが256以上の高さをサポートしてないから
実用目的ならまず高さ256対応のチャンクデータ作らないといけなくてこれが大仕事になる
そもそもこんな需要のあるネタがそんなに簡単なら既に誰かやってるっての

489 :名無しさんの野望:2013/03/29(金) 11:04:30.56 ID:PTQ4q7mn
需要は山盛りだけど供給ゼロっぽい以上、今はある程度以上には面倒なんだろうなあ、
と英語フォーラムぐぐって思ったけど、案外多少の面倒で誰もがスルーしてる状況なだけかも、
とか思いつつなんか為になる情報出たりしないか眺めてるわ

内容に触れない説教レスって、一見何も把握しないまま適当な説教したいだけの連中にみえる(失礼)けど、
実際にどういう難しさがあるかある程度把握したうえで言ってる人な場合も結構あるから受け取り方に困るよね

490 :名無しさんの野望:2013/03/31(日) 13:38:28.17 ID:bXj5Siv1
(´・ω・`)や(`・ω・´)の顔文字使いながら質問する奴は大抵地雷

491 :名無しさんの野望:2013/03/31(日) 22:19:35.34 ID:vYO0GDW7
いいか皆、これがレッテル貼りって奴だ

492 :名無しさんの野望:2013/03/31(日) 22:54:11.76 ID:bChQI54u
modding というよりは fix だけれども、フォーラムは登録して居なかったらここにチラ裏。

SMP でわんこが消えるバグを修正するには、
WolfEntity#setAttackTarget() 内の setAngry(true) が呼ばれる条件式で自身が野生であるかどうかもチェックするようにすればいい。
具体的には

// if (par1EntityLiving instanceof EntityPlayer)
if (par1EntityLiving instanceof EntityPlayer && !this.isTamed())

バニラのコードはどうやらシングルプレーしか意識しているらしく、
飼いならされているときには setAttackTarget の引数に飼い主は渡されていないことを利用し、引数が EntityPlayer 型かどうかしかチェックしていない。
しかし、SMP では飼い主以外のプレイヤーが存在しうる為、飼い犬状態から怒り状態へ移行してしまう。
ちなみに、setAngry(false) が呼ばれている部分は見たところ存在しないようで、これが野生の狼が怒ったら二度と手なずけることはできないという (正しい?) 挙動をする。

493 :名無しさんの野望:2013/04/01(月) 01:01:55.65 ID:lsobZiqH
DataWatcher に巨大な String を入れた Entity を spawn させると、
Forge 6.6.0.497 環境だと落ちちゃうんですね……

なんで Entity の Spawn に、Forge だと Packet250CustomPayload 使ってるんですか?

494 :名無しさんの野望:2013/04/01(月) 11:51:30.04 ID:D+3Lqa9l
一番大きいのはPacket24MobSpawnでEntityID127までしか使えない問題の回避の為だと思う

495 :名無しさんの野望:2013/04/01(月) 23:54:28.06 ID:jKY4QTgF
>>494
そういうことか。納得……

回避のために大量データを Packet250CustomPayload で運ぼうとしているけど、これ結構難しいな。
基本一方通行だから、要求に対する返答みたいな処理したいときには一苦労なのか……

496 :名無しさんの野望:2013/04/03(水) 23:24:24.29 ID:tUhpmLHG
MCP744 でデコンパイルしたら、Block の名前を付ける奴(旧名 setBlockName)が
"getIndirectPowerOutput" になったんだけど、これって自分だけ?

497 :名無しさんの野望:2013/04/03(水) 23:37:44.16 ID:dJAI4kJL
>>496
多分

正確にはsetUnlocalizedName

498 :名無しさんの野望:2013/04/04(木) 00:05:15.66 ID:tUhpmLHG
まじかーどこでズレたんだ……そもそもどうやったらずれるんだ。
mcp.ocean-labs.de/index.php/MCP_Releases の MCP744 と Minecraft 1.5.1、
どちらも今日落としてきたものなんだけど、バージョン合ってるよね?

499 :名無しさんの野望:2013/04/04(木) 00:11:44.43 ID:nrH53GaN
>>498
面倒ならMinecraftForge使ったら?
全部自動でやってくれるから

500 :名無しさんの野望:2013/04/04(木) 00:20:32.65 ID:wzg3PK2d
>>499
その言葉に全否定された気分なんだけど。

501 :名無しさんの野望:2013/04/04(木) 01:07:51.49 ID:wzg3PK2d
ああ、そういうことか…… Forge は独自に methods.csv 持っていて、
"func_71864_b" を "getIndirectPowerOutput" から "setUnlocalizedName" に変更しているんだな。
しかも変更しているのこれだけだし! ここだけ書き換えてデコンパイルしなおすか……

502 :名無しさんの野望:2013/04/06(土) 08:26:59.55 ID:4tjbXFHu
今日日既存書き換えMODなんて好んで使う人いないだろうし、バニラにMCPで開発する意味って殆どなくね
Forge機能いらないなら、FMLで開発環境作ればいいような
ForgeもFMLもinstall.bat実行するだけで全部DLしてくれるから、環境作成とか数分で終わるよ
バニラと比較するにしても、それでDLされたものからファイルをコピーしちゃえばいいし

503 :名無しさんの野望:2013/04/06(土) 10:54:06.52 ID:cnblIpQC
既存書き換えするようなMODの場合はcoremodsタイミングじゃないと間に合わなかろうから
その場合実質Forge専用になりそう

504 :名無しさんの野望:2013/04/07(日) 05:20:40.18 ID:MBS/vjAp
釣竿を追加するmodのチュートリアルを誰か作ってくれ・・・

505 :名無しさんの野望:2013/04/07(日) 08:09:40.71 ID:1t3qm9ga
ForgeMODのSideProxyのことだけど、統合サーバー(ようするに一人用)だと
クライアント側として一度しかModが初期化されないっぽいから
他にサーバー専用処理とサバクラ共通処理をもproxyに任せたかったら
CommonProxyは基底としてServerProxy作ってproxyとして登録した方がいいんだよね?

それとも各種マルチ環境だと事情が違ってこれだと不都合あったりする?

506 :名無しさんの野望:2013/04/07(日) 12:03:49.42 ID:Ku2SBwKJ
>>504
作り方は知ってますが面倒臭いから自分で調べてください

>>505
クライアントから呼んだらClientProxy側が勝手に呼ばれた気がします。
試してないので違ったらすみません

507 :名無しさんの野望:2013/04/07(日) 14:16:58.49 ID:Hv9uhppM
釣竿の射程うpと引っ張る力うpして釣り能力消した、
飛距離を表示してメジャーの代わりにするようなModネタで作ったことならあるよ

たしか、釣竿を継承して作るだけじゃ処理挟めないとこがあって、
一部処理は釣竿側(飛ばすエンティティのほうだったかも?)からコピペして改変みたいな感じになった記憶がある

508 :名無しさんの野望:2013/04/07(日) 22:32:12.41 ID:BANgs38w
Privateに注意するだけでしょ

509 :名無しさんの野望:2013/04/11(木) 02:17:09.66 ID:7wBM+i9q
作れることは作れたけど釣り糸が表示されない・・・

510 :469:2013/04/17(水) 21:58:25.71 ID:dKxAG5SQ
環境はMC1.5.1 Forge(universal) #639です

GUIを開いた時の処理で質問があるのですが、かまどのGUIを開いた時に燃焼の残りと
完成するまでの時間を取得していますが、自分で同じようなブロックを作って
テストしてみたのですがTileEntityで保持している値を取得できませんでした。

たとえばバニラでは以下のようにして取得していますが、自分で作ったもので
テストするとTileEntityFurnaceのコンストラクタで初期化した値がかえって
きてしまします。(本来なら徐々に変化している値が帰ってくるはず)
TileEntityFurnace furnaceInventory
furnaceInventory.getBurnTimeRemainingScaled(12)

ためしにBlockのclassの適当な場所で以下のようにやれば取得できます。
TileEntityFurnace furnaceInventory = (TileEntityFurnace)world.getBlockTileEntity(i, j, k);
furnaceInventory.getBurnTimeRemainingScaled(12)


ボタン等を追加した場合はパケット関係の処理が必要のようですが、GUIからTileEntity内部の値を
取得するにもパケット関連の処理が必要なるのでしょうか?
色々なソ−スをみてみたのですが、直接関係してそうな記述がみつからなかったので
記述の仕方もわからず、別の場所に問題があるのかパケット系が足りないのかが分からず
困っています。
パケットがらみが必要か不必要かだけでも分かると助かります。

511 :名無しさんの野望:2013/04/17(水) 22:33:50.76 ID:L4SOkNs/
>>510
ContainerのupdateCraftingResults()(鯖)とかupdateProgressBar()(蔵)で何とかなった記憶
パケットはこの場合は本体が何とかしてくれます。

ContainerFurnaceを参考にしてみるといいかも

512 :名無しさんの野望:2013/04/18(木) 00:33:01.05 ID:JeGSjBxU
>>511

Containerのほうに一連の記述を追加したらGUIのほうでも値を更新してくれるようになりました。

Containerは枠だけ作ってこれでもう完成だと思い込んで、ソースをみていませんでした。
よく見るとこちらもで値の更新処理をしているのですね。

ありがとうございました。

513 :名無しさんの野望:2013/05/01(水) 23:48:33.15 ID:JLYj/QR8
お前ら凄いな…

514 :名無しさんの野望:2013/05/03(金) 02:44:55.73 ID:Fz2r7TF3
あげ

515 :名無しさんの野望:2013/05/19(日) 23:22:27.05 ID:rySmoW/S
他MODのアイテムを簡単に取得するにはどうすればいいでしょう
FFMみたいにAPIが用意されていればいいんだけど、普通はないですし。
今はClass.forName().getDeclaredField()で無理矢理取ってきてるんですが、
もっとForgeの機能とかでないものですかね?
Gregとかどうやってるんだろう?

516 :名無しさんの野望:2013/05/19(日) 23:59:43.75 ID:bw56E9th
>>515
ロジパイプも同じようなことやってるしソース見るのおすすめ

517 :名無しさんの野望:2013/05/21(火) 14:49:44.11 ID:7ibf71vW
ゾンビを元の7〜8倍ほどに巨大化したmobを追加したのですが、
下半身にしか、攻撃したときの当たり判定が出ません。
見た目通りの判定にするにはどうすればいいでしょうか?

518 :名無しさんの野望:2013/05/21(火) 17:13:47.06 ID:Dlx4fEqK
エンドラのソースを見る

519 :名無しさんの野望:2013/05/25(土) 12:48:15.93 ID:jfxwV1Zz
ディメンション追加系のMODで参考にするのにおすすめなのって何かないかな。
複雑なのが多くて、単純なのがあんまり見つからない気がする。

520 :名無しさんの野望:2013/05/25(土) 23:26:52.00 ID:2I1RRR4f
Minecraft Forge universal 1.5.2-7.8.0.712

なんか Entity#onUpdate が WorldServer でしか呼び出されていないんだけど、
WorldClient では呼ばれないんだっけ?

521 :名無しさんの野望:2013/07/01(月) NY:AN:NY.AN ID:yPHw3Z5s
Forgeを利用してMODを作ってます。
Eclipseのデバッグモードで実行したままソースを変更してもリアルタイムに反映されないのですが、何か設定が必要なのでしょうか?
自動的にビルドのチェックは入ってます。

522 :521:2013/07/01(月) NY:AN:NY.AN ID:yPHw3Z5s
Youtubeなどにある矢に爆発をつけるようなものはリアルタイムに反映されました。
レシピ追加などは起動しなおさないといけないのですね、失礼しました。

523 :名無しさんの野望:2013/07/01(月) NY:AN:NY.AN ID:5wLEHit4
MCPまだかな

524 :名無しさんの野望:2013/07/01(月) NY:AN:NY.AN ID:/HJr2Fai
1.6が正式に来てからじゃないと来ないんじゃ?
pre版がほぼそのまま正式になることがほとんどとはいえ確実ではないしな

525 :名無しさんの野望:2013/07/01(月) NY:AN:NY.AN ID:R9iJjqXZ
いつも本体のPre来たらMCPもPre来るじゃんと思って見てみたけどやっぱり来てるじゃん
ビビらせんなよな

526 :名無しさんの野望:2013/07/01(月) NY:AN:NY.AN ID:Ss+M1Wwl
>>523
一応だが1.6はきてた

527 :名無しさんの野望:2013/07/01(月) NY:AN:NY.AN ID:/HJr2Fai
まじかどこだって思って探したらunsuportedって形できてるのか
にわかmodderが露見してしまったはずかしい

528 :名無しさんの野望:2013/07/02(火) NY:AN:NY.AN ID:/LwMDKPX
1.6.2の話が出てるし1.6.1は飛ばしてもいいか

529 :名無しさんの野望:2013/07/02(火) NY:AN:NY.AN ID:ag+wgw4W
テクスチャパックからリソースパックになったところ眠い頭じゃどうすりゃいいのか分からんw

530 :名無しさんの野望:2013/07/02(火) NY:AN:NY.AN ID:o5OardLq
ググればテクスチャパックからリソースパックへの変換ツールが出てくる。

531 :名無しさんの野望:2013/07/02(火) NY:AN:NY.AN ID:o5OardLq
あーごめん、MODをどう作るかの話ね

532 :名無しさんの野望:2013/07/02(火) NY:AN:NY.AN ID:S7ZwEN85
1.6.1forgeきてた

533 :名無しさんの野望:2013/07/03(水) NY:AN:NY.AN ID:wn905pbY
動物系の処理がかなり変わってて解析するだけでも心が折れそう( ゚∀゚)・∵.
まともに表示させることすらできてないよ!ないよ!

534 :名無しさんの野望:2013/07/03(水) NY:AN:NY.AN ID:wn905pbY
あまりのショックに間違えてあげてしまったorz

535 :名無しさんの野望:2013/07/08(月) NY:AN:NY.AN ID:G2EXJl41
1.6.2pre用のMCP来てた

536 :名無しさんの野望:2013/07/08(月) NY:AN:NY.AN ID:7Eb7hHaH
1.6.1以降のMCPにmodloaderを導入する方法を教えて下さい
1.6.1のMCPはminecraft.jarが不必要なようなのでどうすればいいのか分かりません

537 :名無しさんの野望:2013/07/08(月) NY:AN:NY.AN ID:G2EXJl41
一回decompileして、自動で落とされるMCP\jars\versions\1.6.1\1.6.1.jarにmodloader突っ込んで、cleanupしてdecompile?

正しい手順かどうかは知らん

538 :名無しさんの野望:2013/07/10(水) NY:AN:NY.AN ID:zmNWTzg8
ただでさえ面倒くさい作業がさらに面倒になったのか
modloaderも開発続けるならいい加減ソースパッチくらい公開すりゃいいのに

539 :名無しさんの野望:2013/07/10(水) NY:AN:NY.AN ID:o9e9ugts
Forgeが簡単になりすぎたんや

540 :名無しさんの野望:2013/07/10(水) NY:AN:NY.AN ID:/GXvpAJW
間を取ってFMLで開発しよう

541 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:VghlmKfq
ModLoaderが安定しない
1.6からはForgeのみでの開発にした方がよさそうだ

542 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:orXq4Trj
win8 x86-64, MCP 8.04 でデコンパイルで躓いていたのだが、
org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug3
のコピーに失敗していたから json から lwjgl の nightly を name に含むエントリーを削除したらうまくいった。

543 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:DWowjVnw
>>542
Jsonファイルにnightlyなんて一文字も存在しないんだが、具体的にどこを削れば良いんだ?

544 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:orXq4Trj
>>543
自分のjsonには
{
"name": "org.lwjgl.lwjgl:lwjgl:2.9.1-nightly-20130708-debug3",
"rules": [ { "action": "allow", "os": { "name": "osx", "version": "^10\\.5\\.\\d$" } } ]
},
{
"name": "org.lwjgl.lwjgl:lwjgl_util:2.9.1-nightly-20130708-debug3",
"rules": [ { "action": "allow", "os": { "name": "osx", "version": "^10\\.5\\.\\d$" } } ]
},
{
"name": "org.lwjgl.lwjgl:lwjgl-platform:2.9.1-nightly-20130708-debug3",
"rules": [ { "action": "allow", "os": { "name": "osx", "version": "^10\\.5\\.\\d$" } } ],
"natives": { "linux": "natives-linux", "windows": "natives-windows", "osx": "natives-osx" },
"extract": { "exclude": [ "META-INF/" ] }
},
が含まれていたからそれを削除した。 (書き込み制限のため一部改行削除済み)
もしかしたらOSや落とした時期で変わるかもしれない。
ちなみに、これはwin8でさっき落としなおしたもの。

545 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:BSXgXFQ6
>>541
どこが安定しないんだ?

546 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:DWowjVnw
>>544
見る場所は↓であってる?
minecraftforge-src-1.6.2-9.10.0.784\forge\mcp\jars\versions\1.6.2

547 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:DWowjVnw
forgeの1.6.2-9.10.0.789ならしっかり動いたっぽいのでこっちにで始めて見たんだけど
すげー基本的なこと教えてくれ。

参考にしたサイトが下の2つ
http://minecraftjp.info/modding/index.php/MinecraftForge%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86%EF%BC%88MCP%29
http://minecraftjp.info/modding/index.php/MOD%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E4%BD%9C%E3%82%8B


MODを作成するに当たっての質問
Eclipseのパッケージエクスプローラーのsrc右クリで新規→パッケージを選択して
名前はドメイン逆引き命名で作成すれば良いんだよね?
それとも、作業はnet.minecraft.srcでやるのかな?

あと、ModLoaderの説明の方にクラス名の先頭に"mod_"というプレフィックスを付けるってあるけど
forgeも同じ?
あと、クラス作成するときなんだけど、スーパークラスはjava.lang.ObjectのままでOK?
ここら辺の情報が見つけられなくて困ってるので、エロイ人助けてください。

548 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:nELvSpu7
>>547
1.
net.minecraft.srcはやめよう。それはマイクラ本体のパッケージ(名前空間とだいたい同じ意味)だよ
なので、その下にModのクラスファイルを作成するのは間違ってる

パッケージの名前は、慣習としてドメインがよく使われるけど、別にドメインじゃなくてもOKだよ
他人と絶対に重複しないような名前であることに意味があるだけ(ドメインは絶対に重複しないことが保証されてるのでよく利用される)
ドメインを持ってるならそれでいいし、持ってないならマイクラのIDとかでいいと思う。
マイクラのModで他人のIDをパッケージ名にするなんて早々ないだろうからね

2.
Forge(FML)のModとして認識されロードされるクラスは、命名規約はないよ。自由な名前をつけてOK
クラスを @Mod アノテーションで修飾すれば、Modクラスとして認識される
もちろん、スーパークラスも必要ないよ(Objectでいいよ)。POJOなクラスを自由に作成できる

FMLにもRML互換機能としてBaseModやModLoaderクラスがあったり、
BaseModを直接の親にもつmod_Xxxクラスのロード機能もついてるから、RMLと同じようにしても一応ロードはされるけれど
今から作るModで、あえてそういう作りにするのは意味ないし、推奨はしないよ

549 :名無しさんの野望:2013/07/11(木) NY:AN:NY.AN ID:nELvSpu7
参考までに

1.6.x
ttp://minecraftjp.info/modding/index.php/1.6%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%B3%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0

1.5.x
ttp://minecraftjp.info/modding/index.php/%E6%96%B0%E3%81%97%E3%81%84%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E8%A8%98%E6%B3%95%E3%81%A8Universal_Modding
ttp://minecraftjp.info/modding/index.php/%E6%96%B0%E3%81%97%E3%81%84API%E3%81%A8%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6

550 :>>547:2013/07/11(木) NY:AN:NY.AN ID:jmhCx+ww
>>548
わかりやすい解答ありがとう。
恥を忍んで聞いて良かった。
すっきりした。

参考リンクもサンクス
これ見つけられてなかった。
また疑問出てきたら質問させて頂きます

551 :名無しさんの野望:2013/07/12(金) NY:AN:NY.AN ID:SK+2PQIU
>>546
明記していなくて済まない。
自分はバニラのままで、win8 環境下であれば
%appdata%\.minecraft\versions\1.6.2\1.6.2.json
のことを指していた。

もうちょっとググってみると、Light Renderer の中の人も似たような問題に陥って同じ方法で解決したみたい。

552 :名無しさんの野望:2013/07/12(金) NY:AN:NY.AN ID:SK+2PQIU
連投失礼。書き忘れた。

>>546
もし、decompile ができないのであれば
forge も 9.10.0.789 (Recommended) が既に出ているから、
そっちだと解決しているかもしれない。

553 :名無しさんの野望:2013/07/12(金) NY:AN:NY.AN ID:5+smZEYn
>>551-552
バニラのVersion以下のことだったのね。
どちらにしても、昨日の段階だとnightlyがJSONに入ってなかったです。
削除して、再取得とかしてもだめだった。
が、今日やり直したら、ちゃんと出てきました。
ちょくちょくファイルが差し代わってるらしいから
それでファイルがおかしかったのかもしれないですね。。。。
昨日はlocalで新ワールド作成とかできなかったしwww

おつきあいありがとう

554 :名無しさんの野望:2013/07/15(月) NY:AN:NY.AN ID:U/JwLx3s
ブロックの向きをmetadataで保存しようとしてるんだけど
一度クライアントを落とすと向きが初期化されちゃうのはどうしてですかね・・・

555 :名無しさんの野望:2013/07/15(月) NY:AN:NY.AN ID:Xz4p5tfa
同期

556 :名無しさんの野望:2013/07/15(月) NY:AN:NY.AN ID:U/JwLx3s
getblockmetadataと書くところをblockmetadataとか書いてたせいでした・・・

557 :名無しさんの野望:2013/07/15(月) NY:AN:NY.AN ID:Xl+sF88p
>>556
毎度自分で0上書きしてたのか……

558 :名無しさんの野望:2013/08/04(日) NY:AN:NY.AN ID:7kUF6ITe
coremod作ろうとしてるのだが
modding wikiみて基礎をつくって
そこから特定のキーおしたらGUI開くようにしたいんだけど
keybindingの仕方がわからない...

分かる方教えてくださいお願いします

559 :名無しさんの野望:2013/08/04(日) NY:AN:NY.AN ID:CRizUzXz
FMLが持ってるModLoaderクラス、BaseMod用のコンテナあたりの
キーバインディング登録の処理を参考にするといいよ
キーコントロール画面に出さなくてもいいなら、TickType.RENDERで毎フレームHookして
自前でキー処理するって手もあるけど、あんまりおすすめしない

560 :558:2013/08/04(日) NY:AN:NY.AN ID:7kUF6ITe
>>559
サンクス!
やり方はわかって動くようになったんだが、
Eclipceから実行すると正しく実行されるけどコンパイルして実環境にもってくと
java.lang.NoClassDefFoundError: atp
でnet.minecraft.client.settings.KeyBindingが読み込め無いんだが
なにか原因分かる方います?

561 :名無しさんの野望:2013/08/07(水) NY:AN:NY.AN ID:60KkHF/w
リフレクションとかそういうのは一切使ってないよな?

562 :558:2013/08/07(水) NY:AN:NY.AN ID:CFw5IZ6Z
解決した!
@TransformerExclusionsで指定されてたパッケージ内に入れてたのが問題だった。

563 :名無しさんの野望:2013/08/12(月) NY:AN:NY.AN ID:MUGysjlH
Peaceful環境下における満腹度の低下を考えております。
その類のmodは存在しますが、1.6.2未対応のため、自分でmodを作るに至りました。

空腹はFoodStatsクラスが担当し、このメソッドのonUpdate内で難易度の判定と、行動による満腹度の消費を実行するようです。
このクラスのインスタンスはEntityPlayerが持ち、満腹度の加算メソッド、更新メソッドを呼び出しています。
EventHandlerで処理を追加するだけでは、FoodStats内の難易度判定がくぐれず、停滞しております。

既存ファイルを書き換えれば簡単な話ですが、追加する形で方法がありましたが、ご教授お願い致します。

564 :563:2013/08/12(月) NY:AN:NY.AN ID:MUGysjlH
失礼、Forgeを使用してのmod制作です。
minecraftは1.6.2、Forgeは9.10.0.804を使用しております。

565 :名無しさんの野望:2013/08/13(火) NY:AN:NY.AN ID:G/8Sn5yj
Forgeはしらんけど難易度判定を行わないだけでほかは同等の処理を外部で実行し
foodExhaustionLevel
foodSaturationLevel
foodLevel
を書き換えればいいだけじゃないの?
疲労追加からonUpdate前の間に処理ができないならプレイヤーの行動を
すべて補足し再計算しないといけないだろうけど

566 :563:2013/08/14(水) NY:AN:NY.AN ID:iUlY/x6u
>>565
返信ありがとうございます。
単純に@ForgeSubscribeで追加したonLivingUpdate時や、onUpdate時にHealthやFoodLevelを書き換えても正常に動作しないようで、現在は正常に動作する書き換えタイミングを探しております。
こういった内容はもしかしたらPlayerAPIを使ったり、Coremodsでの書き換えが適当なのかもしれません、そちらも調べてみることにします、ありがとうございました。

567 :名無しさんの野望:2013/08/15(木) NY:AN:NY.AN ID:QAcw5oCw
サーバーとクライアントは別エンティティで、定期的に同期がとられている
更新対象のエンティティを間違えているとかは?

568 :名無しさんの野望:2013/08/16(金) NY:AN:NY.AN ID:4oelRlbY
>>567
ありがとうございます、まさにその通りだったようで、EntityPlayerを取得する記述を変更した所、無事に動作しました。
追加のLivingUpdate内で難易度をハードに変更→FoodStats更新→難易度を元に戻すという処理で実現できました。
スマートではありませんが、FoodStatsのExhaustionLevelにはアクセス出来ないので、ひとまずこのようにしました。

目標のハードモードでの敵mob無し環境は、今回の処理とピースフル、及びコマンドの自然回復オフで実現できそうです。
他の方法では、ハードモード + mobの沸きを個別設定できるCJB ModsのMobFilerでも可能でした。
おかげ様で無事平和な日々が過ごせそうです、ありがとうございました。

569 :名無しさんの野望:2013/08/17(土) NY:AN:NY.AN ID:ZmI/CeP2
というか満腹度変更だけなら難易度関係なく直接setFoodStatus()するだけでいい

570 :名無しさんの野望:2013/09/08(日) 14:03:16.87 ID:sK4FX5m6
coremodsタイプのMODを作っていて、既存クラスを全部書き換える処理をしています。
以下の様なフォルダ構造でzip化し、拡張子をjarしてmodsフォルダに入れると、Modsには有効になっているように表示されるのですが
ログには
[ForgeModLoader] FML has found a non-mod file ChatLogger.jar in your mods directory.
It will now be injected into your classpath. This could severe stability issues, it should be removed if possible.
というメッセージが出ていて
MDOの機能が有効化されません。MANIFESTにはちゃんとFMLCorePlugin: com.ChatLogger.asm.ChatLoggerCoreと書いています
ChatLogger.jar
│ GuiNewChat_Logging.class (GuiNewChatの書き換え後のクラス)
├─com
│ └─ChatLogger
│  └─asm
│       ChatLoggerCore.class (implements IFMLLoadingPlugin)
│       ChatLoggerMain.class (メインの処理)
│       ChatLoggerModContainer.class (extends DummyModContainer)
│       ChatLoggerTransformer.class (implements IClassTransformer, Opcodes)
└─META-INF
    MANIFEST.MF

571 :名無しさんの野望:2013/09/08(日) 19:06:46.41 ID:dqelKLZL
>>570
最近coremodsのロードで不具合が指摘されて修正されたようだけどそれとは違うかな

572 :名無しさんの野望:2013/09/08(日) 19:26:53.63 ID:sK4FX5m6
>>571
アドバイスありがとうございます
Forgeの最新版(9.10.1.859)を使ってみたところ、そのメッセージは消えたのですが、今度は
[WARNING] [ForgeModLoader] The coremod com.ChatLogger.asm.ChatLoggerCore does not have a MCVersion annotation, it may cause issues with this version of Minecraft
[Forge Mod Loader] Mod Forge Mod Loader is missing a pack.mcmeta file, things may not work well
というメッセージが表示されるようになってしまいました。
ChatLoggerCoreには@Mod(modid = "ChatLogger", name = "ChatLogger", version = "1.6.2")と書いているのですが
まだなにか足りないのでしょうか?

573 :名無しさんの野望:2013/09/08(日) 20:32:08.46 ID:7ulxuGLV
>>572
うお・・・
とても他人事に見えないんだけど・・・どんなMODを作ろうとしてるのか気になります。

ちなみに私はChatLoggerPlusを作ってる者です。
http://forum.minecraftuser.jp/viewtopic.php?f=13&t=7929

574 :名無しさんの野望:2013/09/08(日) NY:AN:NY.AN ID:sK4FX5m6
>>573
ChatLoggerPlusの方ですか
私は、自分が運営しているサーバーのwikiで「チャットログに流れたすべての文のログを時刻と合わせて取る」というMODを公開しているのですが
(こんな感じです→ 2013/08/30 NY:AN:NY.AN8 ○○ joined the game. )
最初は既存のクラスを直接書き換える方法で作っていたのですが、やっぱりmodsに入れるだけで導入できたほうが便利だと思い
この質問をさせていただきました

575 :名無しさんの野望:2013/09/08(日) 21:41:04.10 ID:7ulxuGLV
>>574
ああ・・なるほど、サーバー側ですか!
動作確認してないけど、ひょっとしたら、ChatLoggerPlusがそのままサーバ側でも動くかもです。
もしそのままがダメだとしても、対応は比較的簡単かも・・・。(時刻出力もしてます)

こちらのソースは、githubで丸ごと公開してるので、参考になるかもです。
https://github.com/jakenjarvis/ChatLoggerPlus

あと、やってる事がかなりかぶってるので、もしよかったら共同開発しません?
興味があるようでしたら、メールでもください(^^;

で。coremodsは作ったことが無いので、ちょっとわかりませんが・・・。
考えられる原因ですが、ひょっとしたらzip圧縮の仕方が問題なのかもです。

7zipでフォルダを右クリックして圧縮だと、内部フォルダの階層が一つ深くなってしまい、読み込めない、なんてことで昔ハマりました。
フォルダを開いて、上位のファイルとcomフォルダを全部選択して、右クリックして圧縮するとうまく動いたりしませんか?

576 :名無しさんの野望:2013/09/08(日) 21:48:13.22 ID:sK4FX5m6
>>575
あ、すいませんサーバー側ではなくて普通のクライアント側MODなんですよ
圧縮の方法は、ちゃんとその階層まで言って全選択してやってるんですがねえ

ソースありがとうございます。参考になりそうです。

共同開発ですか、私なんてまだまだレベルが低いのでお役に立てそうにないです・・あんま時間も取れないですし。
せっかく誘ってくれたのにすみません。

577 :名無しさんの野望:2013/09/08(日) 22:08:17.11 ID:7ulxuGLV
>>576
あ、あれ?じゃあ、MODはモロかぶり?汗
もしかして昔からあったのかな・・・私が無駄骨だったんだろうか・・・

ちなみに、うちのChatLoggerPlusもmodsフォルダに置くだけですよ。
やろうとしてる事が、ちょっと違うのかな?

それから私もcoremodsがどういうものかも分かってないレベルなので、あまり気にしないで(^^
役に立つアドバイスが出来なくてゴメンナサイ

578 :名無しさんの野望:2013/09/08(日) 22:43:00.68 ID:sK4FX5m6
>>577
私もForgeのイベントからアプローチしようかと最初は思ったんですが、
他にもMOD開発していてそれもcoremodsタイプにしたいので
どうせならこのMODからcoremodsにしておこうと思って。

それにForgeのイベントだと、チャットログに流れた文章がそのまま取得できなく無いですか?

579 :名無しさんの野望:2013/09/08(日) 22:54:22.12 ID:bRJkEWYA
ClientChatReceivedEventじゃ駄目なん?

580 :名無しさんの野望:2013/09/08(日) 22:58:40.23 ID:sK4FX5m6
>>579
それでもいいんですけど
他のMODもcoremods化したいので
この方法で作りたいのですよ
それにClientChatReceivedEventでは私の取得したいものが取得できないので

581 :名無しさんの野望:2013/09/08(日) 23:22:23.41 ID:7ulxuGLV
>>580
ClientChatReceivedEventのパラメータの文字列は、Json形式っぽい文字列に変わってますよね。
おかげで、プレイヤー名が取得できるようになった。(これまではサーバで区切りが変わるので、面倒だった)

今までと同じような文字列がほしいなら、ChatMessageComponentクラスを見ればOKです。
func_111078_c()とかfunc_111068_a(true);あたりで何とごまかせますよ。
使い方は、ソースをChatMessageComponentで検索すると、いくつか使ってる場所が見つかると思う。

{"translate":"commands.clear.usage"}
こういうのが、ちゃんと
/clear <プレイヤー> [アイテム] [データ]
こう変換できます。

私はチャットの内容の書き換えまで考えて、現在コーディング中なんですが、
結局、privateメンバーのアクセスメソッドがprotectedなので、ChatMessageComponentのラッパークラスを作りましたよ。

582 :名無しさんの野望:2013/09/08(日) 23:23:31.46 ID:7ulxuGLV
ところで、coremods化する利点って何でしょう?
どこか書いてある場所があるなら、URLほしいかもです(汗)

583 :名無しさんの野望:2013/09/08(日) 23:34:05.24 ID:sK4FX5m6
>>581
プラグインで流れるメッセージとか色コードも取得したいんですが、それもできるんですか?

>>582
jarに入れるよりもmodsに入れるほうが楽・・というところぐらいですかね
でもそれって私の中だと結構大きいので(私自身めんどくさがりだし・・)
それになんかそっちのほうがスマートな気がするんですよね

584 :名無しさんの野望:2013/09/08(日) 23:42:27.19 ID:MFBsW4IQ
forgeがjar書き換えに対し警告を発するようになったからな〜。

585 :名無しさんの野望:2013/09/09(月) 00:28:13.37 ID:WZvKiNiX
>>583
色なんかもちゃんと§で復元されてますよ。
例えば、
{"color":"dark_green","translate":"commands.help.header","using":["1","4"]}

§2--- ヘルプページの §21 / §24 ページを表示(/help <ページ番号>) ---
なる。

printChatMessageあたりで検索して、呼び出し元と先の両方を確認すると、
そこから先は、これまでと同じ仕組みだってことが分かると思う。

>>583 >>584
ああ・・・もしかして・・・
coremods化すると、class上書きする場合もmodsフォルダに入れるだけで済むようになるってことかな?

586 :名無しさんの野望:2013/09/09(月) 02:30:40.22 ID:N9gsYAy7
>>585
そうです。
optifineはjar書き換えmodの代表例ですが、現バージョンからforge環境下では拡張子を.zipに変えてmodsに入れるだけで導入可能になりました。
また、jar書き換えmodをforge環境下で導入する際はランチャー側で実行オプションを付けforgeのエラーチェック機構を無効化する必要があります。

587 :名無しさんの野望:2013/09/10(火) 23:49:18.14 ID:xapKISk4
なんだか少しだけ違うところがある気がするので補足的な

## クラスを書き換え(置き換え)る方法
jar改変になる。同じクラスの書き換えを行うModがあると、競合が起こり起動出来ない問題が発生する。
Mojangもjarの改変は非推奨。(ソースはcpw氏のツイート)

## 拡張クラスなどを作成し、実行時のインスタンスを置き換える方法
出来る箇所が限られているが、普通のModとして振る舞える。ただし同じことするModがいると競合を起こす可能性がある。
安全に作ってあれば同じことをするModが居ても落ちないが、少なくとも一方の機能が死んだり想定外な動作をする可能性が高い。
落ちない代わりに問題が発生した場合の原因究明が困難になる可能性も高い。

## coremod
(プラグインの実装次第だが、)部分的な拡張であれば1つのメソッドに対し複数の処理追加なども出来る。
coremodであるということで、クラス改変を行う機能を有している事が明確になるので、インスタンス置き換えよりは調査しやすい。(ユーザー視点)
動的なクラスそのものの改変なのでその負荷増加はクラスロード時のみになり、リフレクションよりパフォーマンス低下が少ない。
ただしバイトコード操作を行うので基本的にリフレクション以上に泥臭い実装になりがち。
また、低レベルなJavaの知識(クラスのバイトコードやクラスローダー周りなど)や、asmなどのライブラリの知識も必要。

必要のないcoremod化はあまりメリットないので、明確な既存機能の変更理由がない限りはcoremodはオススメはしないよ。
例えば、非公開のフィールドの値を参照する程度なら、(実行頻度にもよるけど)リフレクションでも十分だと思う。

大幅な改修に利用するのはさておき、ForgeがHookできるポイント(イベント)を提供してくれていないとこに
俺々Hookイベントの発行機能を追加する、みたいな目的で使うのが一番多いんじゃないかな。

588 :585:2013/09/11(水) 00:45:33.54 ID:PesAPWfn
>>587
詳細ありがとうございます!
そうか、リフレクションって手もあったか。すっかり忘れてたw

私の場合、今の所、必要性はないので、coremod化は考えなくてもよさそう。
んーしかし、クラスローダー周りの知識は怪しいなぁ・・・(汗)

589 :名無しさんの野望:2013/09/14(土) 15:16:37.79 ID:kHdH7yO6
既存ブロックに新しい変数を追加したいんだけど、これってどうすればいいんですかね?

590 :名無しさんの野望:2013/09/14(土) 18:17:10.60 ID:md2VLjuL
mod作成初心者です。
1.5.2のminechemに他modのアイテムの組成を登録するmodを作成したいのですが
minechem apiはあったほうがいいですかね?
過去のapiを用いても作成できますか?

591 :名無しさんの野望:2013/09/14(土) 19:33:50.79 ID:LMuTrlGv
>>589
オーバーロードすりゃええんでねーの

592 :名無しさんの野望:2013/09/14(土) 20:35:57.23 ID:kHdH7yO6
>>591
オーバーロードってそのクラス以外で出来たっけ?

出来れば既存クラスには手を加えたくないんだけど方法あるかな?

593 :名無しさんの野望:2013/09/14(土) 20:48:48.52 ID:IUL+NpB7
ブロックに変数追加って言うのは、Blockクラスに数値やらなんやらを追加したいの?
それとも設置してあるブロックに対して個別になんかを設定したいの?

594 :名無しさんの野望:2013/09/14(土) 21:07:55.93 ID:kHdH7yO6
>>593
それぞれのブロックのクラスに定数置いて、
ワールド上のブロックにも変数を設置したい

595 :名無しさんの野望:2013/09/14(土) 21:11:37.98 ID:IUL+NpB7
定数はその定数を参照するクラスに長さ4096(Block.blocksList.length)の配列持たせてブロックIDで参照するとかすればいいけど、
ワールド上のブロックそれぞれに変数ってのはかなり大変な気がする。

596 :名無しさんの野望:2013/09/14(土) 21:13:25.57 ID:kHdH7yO6
>>595
やっぱり厳しいですかね…

597 :名無しさんの野望:2013/09/14(土) 22:33:10.97 ID:ZR9aHBTZ
方法だけじゃなくてやりたいことも書かないとそれが最適な方法かはわからないと思う

598 :名無しさんの野望:2013/09/15(日) 01:11:46.72 ID:bGrUxZoV
TileEntityならNBTでなんとかなると思うけど既存ブロックの場合は難しそう

599 :名無しさんの野望:2013/09/15(日) 03:34:48.77 ID:23pGiL7V
バケツミルクを精錬するとチーズができるMODを作っています。
肝心のチーズができる部分はできたのですが
空のバケツをかまどに残す方法がわかりません・・・

残すやり方教えて欲しいです。

600 :名無しさんの野望:2013/09/15(日) 13:11:53.37 ID:0c+oijPk
ブロッククラスのインスタンスに情報を追加するだけなら、ブロックIDをキーに値を得れるマップなんかがあれば解決できる。

全座標毎に情報を持たせたいのであれば、チャンクに保存されるデーターの構造を変更して新しい情報を加えるか、
新しい座標毎の情報の永続化の仕組みを用意した上で、その情報が必要となるタイミングでのロードとか設定のタイミングとか
ゲームの根幹部分から手を入れていく事になって、とても大変だと思うよ。

結果として何がやりたいかって部分がわからないから、ブロック毎に情報をもたせるって考えが
既に間違ってる可能性もあると思うけどね。他の手段で本来の目的の部分を達成出来るかもしれない。

601 :名無しさんの野望:2013/09/16(月) 12:51:18.44 ID:vdEsRQ4i
1.5では
StringTranslate.getInstance().getCurrentLanguage()
で現在の言語("ja-JP"とか)が取得できてたのですが、
1.6では

・getInstance()がpublicじゃなくなった
・getCurrentLanguage()が根本的になくなった

ということで取得できなくなってしまいました。
他に取得できる方法ありませんでしょうか。

なお、最終的に取得したいのは日本語か否かだけです。

602 :名無しさんの野望:2013/09/16(月) 14:21:42.70 ID:Pl4YqhNr
>>601
私も他のクラスでgetInstanceが無くなってて置き換えた記憶があるよ。

getCurrentLanguage()でソースを全検索したら、どこかで使ってるところない?
その使い方見て真似できればOKだと思う。

603 :名無しさんの野望:2013/09/16(月) 14:54:41.56 ID:LKEDDH6M
それどっかで見たなあと思ったらこのコミットだ
https://github.com/MinecraftForge/FML/commit/b5af446

604 :名無しさんの野望:2013/09/16(月) 15:22:04.52 ID:vdEsRQ4i
>>602
なんか
Minecraft.gameSettings.language
に普通に設定が置いてありました。
さんくす。

>>603
二日前だと…

605 :名無しさんの野望:2013/09/19(木) 20:04:50.54 ID:Pk8w8N9/
ああ・・GUI作るのめんどくさい・・・
GuiSlotが使い勝手が悪い・・・。
どこかに、パーツ的なソース転がってないかな。

606 :名無しさんの野望:2013/09/24(火) 23:12:31.99 ID:MsOaiLTK
とても局所的な質問なのですが、Containerを使ってTileEntityの内部データをシンクロしているとき、
Container内のメソッドupdateProgressBar(int, int)の第二引数に入ってくる値が2バイトしかないのは
仕様なのでしょうか?

シングルでは4バイト帰ってくるのですが、マルチ環境では下位2バイトしかなく困っています。

607 :名無しさんの野望:2013/09/30(月) 21:50:35.39 ID:rINz7EgV
1.4.7から追加されたonSetBlockIDWithMetaDataって1.6.2から何になったかご存知のかたいたら教えてください><

608 :名無しさんの野望:2013/09/30(月) 22:59:19.35 ID:Zoh/VxWD
ちょっとは探す努力を汁
1.4.7のBlock.onSetBlockIDWithMetaDataはChunk.setBlockIDWithMetadataから呼ばれてる
だから1.6.2のChunk.setBlockIDWithMetadataの該当箇所を見てみる
そしたらちっとも変わって無いんだがおい

609 :名無しさんの野望:2013/10/05(土) 07:33:46.22 ID:c6VOGq6P
https://github.com/MinecraftForge/FML/commit/63ba3aa
あるMODが読み込まれてなければメソッドやインターフェース宣言を消してくれるっぽい?
連携MODのclassを含めなくて良くなる感じかな
バージョンまで指定出来るとAPIの違いによるクラッシュも無くなるかも(それかインターフェース自体にバージョンを付けてバージョンが違えば消すとか)

610 :名無しさんの野望:2013/10/13(日) 23:48:34.08 ID:vcj6LO4r
moddingwikiの食料追加のテンプレをそのままeclipseに突っ込んだんだが
テクスチャを追加しようとすると「func_111206_d」でエラーはくんだけどこれって何かいじらんといけないのかな
いろいろ調べてみたけどエラーでてる人見つけられなかったので詳しい人教えてください。

611 :名無しさんの野望:2013/10/13(日) 23:59:14.81 ID:i32sWtH0
mcpのバージョンが新しいものだと古い版でfunc_111206_dみたいな難読化された名前がまともなsetTextureNameっていうのになってるからかな
mcp/config以下で難読化された名前を検索するとmethods.csv等で正しい名前が書かれてる行にひっかかるから
それを参考に名前を置換すれば多分通る

612 :名無しさんの野望:2013/10/14(月) 00:20:31.41 ID:yqaTZDNQ
>>661
ありがと
今からがんばるよ

613 :名無しさんの野望:2013/10/14(月) 16:44:36.53 ID:FX/xPjHD
お前は未来と会話してるのか?

614 :名無しさんの野望:2013/10/14(月) 16:55:20.61 ID:p1RALhhv
しょーもないな

615 :名無しさんの野望:2013/10/14(月) 16:56:17.12 ID:u9sSnr7T
eclipseでやってるんだがマインクラフトを実行しようとしても
エラー: メイン・クラスnet.minecraft.launchwrapper.Launchが見つからなかったかロードできませんでした
って言われる。助けてくれ

616 :名無しさんの野望:2013/10/15(火) 20:31:05.19 ID:jbM3iCNH
書いてあるとおり、Forgeで修正された起動構成のmainクラスに設定されている
そのLaunchクラスが参照できない状態だから実行に失敗している
クラスパスに不備があるとかだろう

環境依存の問題だから現状提示されている情報じゃそれ以上のアドバイスはしようがない
調べてダメなら環境を再作成して何も変更していない状態で機動確認
→自分の改修を追加して起動確認といった感じで準に試して行って問題がないかを調べれ

617 :609:2013/10/31(木) 17:06:47.03 ID:jTG+pYcq
Issue立てたわけでも無いがバージョン指定が(形だけ)実装された
https://github.com/MinecraftForge/FML/commit/81fe1c9
package-info.java作ってpackageにアノテーション付けるみたい
現状ではバージョンの比較やらは未実装のようだ(単に>>609の条件が厳しくなっただけ)
そんでcpw氏本人がBCで早速使用してた
https://github.com/BuildCraft/BuildCraft/commit/0aad0c7

618 :名無しさんの野望:2013/11/05(火) 17:26:18.77 ID:7Tt+Qg0g
Gregがやってるようなレシピ削除ってどうやるの?

GameRegistry.addRecipe()で上書きは試したけど駄目だった。
CraftingManagerをコメントアウトしたらできたけど、なるべくForgeだけで対応したい

619 :名無しさんの野望:2013/11/05(火) 19:56:01.23 ID:24FkPAkm
CraftingManager.getRecipeList()でList<IRecipe>がそのまま出てくるからそれをゴニョればいいだけちゃうの

620 :名無しさんの野望:2013/11/08(金) 00:02:36.78 ID:uhbGW3oN
この板にどれほどのmod製作者が居るのかはわからないけど支援

621 :名無しさんの野望:2013/11/13(水) 00:48:16.01 ID:AUz8e8uE
162以降でどうにかして高さ制限を取っ払えないものか

622 :名無しさんの野望:2013/11/13(水) 12:17:01.25 ID:RhiBVbhp
高くするのはセーブ形式にも関わりそう

623 :名無しさんの野望:2013/11/16(土) 22:41:28.51 ID:6H3iPsQp
亀だがレシピ削除見っけた
ttp://forum.minecraftuser.jp/viewtopic.php?f=21&t=3811#p74046

624 :名無しさんの野望:2013/11/25(月) 05:42:12.82 ID:O7Vz/NTt
forge960から環境が変わったと聞いて試しに構築してみたのだけど、もしかして一部の
コードを除いて今まで見れていたバニラのコードを参照するこが出来なくなった?

eclipse上で実行出来るまでしか環境つくってない(従来のreobfuscate_srgに当たる処理がわからない)
けど、バニラのソースコードを参照する方法ってあるのでしょうか?
(とりあえず.javaファイルは存在しない)
もしないのならmod更新や新規で作るのが大変になりそう。

既存のコードを参考にしてた部分が多いからこれはきつい。

625 :名無しさんの野望:2013/11/25(月) 19:46:44.13 ID:Wulnha8l
実行すら出来てない俺が言うのも何だがForgeGradleはコミットが毎日5件以上あるしまだまだ開発途上だからなあ
サイトで配ってるのは古いし自分でForgeGradleをビルドして使うのもアリかも

626 :名無しさんの野望:2013/11/26(火) 09:46:58.23 ID:KlxUUKGI
ようやくMCPのalphaが出たか

627 :名無しさんの野望:2013/11/26(火) 21:47:35.61 ID:mHeaae/a
農業面だけ徹底的にリアルにしたMod作ったら遊んでくれる?

628 :名無しさんの野望:2013/11/26(火) 21:49:58.84 ID:uXK0eaQM
>>627
物凄い徹底的だったらやる

629 :名無しさんの野望:2013/11/26(火) 21:51:48.83 ID:mHeaae/a
>>628
現実とリンクして四季を導入して一年単位でいろんな作物育てるModなんだけど…

630 :名無しさんの野望:2013/11/26(火) 22:04:15.23 ID:xA/Kzbmu
チョット待て収穫がリアル年単位なのかw
鯖MOD型でちゃんクロード維持
昼夜も24時間にしてベッド飛ばしも無しかね?
単純に日数計算型?

定点カメラ付きで複数人動画投稿とかしてないとモチベーション持たなさそう

631 :名無しさんの野望:2013/11/26(火) 22:06:02.27 ID:mHeaae/a
>>630
寝たら時間飛ぶとかありえんだろ

632 :名無しさんの野望:2013/11/26(火) 22:10:05.80 ID:WKFKlN+O
人気を気にしてmod作ってたら絶対モチベ保たないぞっと

633 :名無しさんの野望:2013/11/26(火) 22:10:42.29 ID:mHeaae/a
冷害とか台風とかまで頑張って追加したらハードすぎるかなぁ

634 :名無しさんの野望:2013/11/26(火) 22:11:22.17 ID:mHeaae/a
>>632
根本は自分がやりたいからだから平気

635 :名無しさんの野望:2013/11/26(火) 22:12:39.54 ID:WKFKlN+O
>>634
じゃあ遊ぶかなんて聞く必要ないよね

636 :名無しさんの野望:2013/11/26(火) 22:14:26.15 ID:mHeaae/a
>>635
逆に自分のためだけのがモチベ持たんわ
自分の価値観で全てを決めるな

637 :名無しさんの野望:2013/11/26(火) 22:18:40.25 ID:xA/Kzbmu
>631
別に嫌味じゃなくてすげーなと思って聞いてみた
自分だと24時間鯖置く余裕無いしな
ただリアル近辺に貸し農地すらない人にはひょっとしたら癒やしになるかもなぁ

638 :名無しさんの野望:2013/11/26(火) 22:20:28.73 ID:mHeaae/a
>>637
嫌味だとは思ってないよ
寝たら時間飛ぶとかあり得ないからもちろんなしだって言いたかった

639 :名無しさんの野望:2013/11/26(火) 22:22:07.66 ID:mHeaae/a
起動してない間もどうにかして時間経過させとくようにできるといいけど

640 :名無しさんの野望:2013/11/26(火) 22:30:50.03 ID:uXK0eaQM
>>639
サーバーしかねぇな

641 :名無しさんの野望:2013/11/26(火) 22:32:09.16 ID:xA/Kzbmu
結局24時間チャンクロードしつつ鯖稼働じゃないと
天候や動物被害の出来事が反映しにくいし

ゲームオンオフだと日付差分一括処理だろうけど
その間の世話とか被害の対応とかはどういう扱いにするのかとか
リアルさが犠牲になっちゃうね

642 :名無しさんの野望:2013/11/26(火) 22:35:02.61 ID:uXK0eaQM
流石に無理だな
マイクラ内1分をリアル時間1秒とかにするしかないんじゃね?

643 :名無しさんの野望:2013/11/26(火) 22:35:30.69 ID:mHeaae/a
問題は山積みですなぁ

644 :名無しさんの野望:2013/11/26(火) 22:57:22.76 ID:/2suuX9T
時間の流れを現実同じにすることはリアルさなのかな?
農業として徹底的にリアルにするなら空腹度の変化、水と海水の区別、水の挙動のリアル化等が必要になりそう

645 :名無しさんの野望:2013/11/26(火) 22:58:37.20 ID:mHeaae/a
>>644
水の区別!盲点だった!

646 :名無しさんの野望:2013/11/26(火) 23:03:22.18 ID:B9vq8GIL
農作物ItemStackが格納された環境や時間経過によって腐ったりしたら結構面白いかな

647 :名無しさんの野望:2013/11/27(水) 04:37:57.58 ID:8RRoDLaz
現実とリンクは難しくね?
現実とは別の時間の流れ方でもそれはそれで面白そうだけどな
もし作るならカレンダー関連は充実して欲しいところ、種蒔きの日やら収穫日やら肥料撒く日やら書き込みたいし

648 :名無しさんの野望:2013/11/27(水) 06:08:25.50 ID:NlahcgVX
現実の天気と合わせるMOD無かったっけ

649 :名無しさんの野望:2013/11/27(水) 06:32:23.03 ID:xQgFQSwc
bukkitじゃなかったっけ

650 :名無しさんの野望:2013/11/27(水) 10:31:20.25 ID:qN4aEpp7
遊んでくれるかという観点では
農業や食べ物系MODは、ある程度のプレイヤー作業を必要としながら
ご褒美が薄い点が辛いからなぁ。

FFMの農業、養蜂は最終的に資源、エネルギー補給に繋がるが
そういうのナシだと、どうやってご褒美を作るかがキモになりそう。

651 :名無しさんの野望:2013/11/27(水) 10:49:46.96 ID:OhgzWNLI
牧場物語ならNPCとの交流に使ったり
おしゃれや家具集め、新しい道具、設備のための金稼ぎだが

もしもしでも農場ゲーは有るっぽいがあれの目標はどこにあるん?

652 :名無しさんの野望:2013/12/02(月) 21:55:26.02 ID:NWStpwzQ
BTWのハードコア地層が気に入ったから
パチもんのMOD(高度に応じて石ブロックの硬さ、採掘レベルが変わる)を作ろうとしてるんですが
1.複数の異なる硬さのブロックを作成し、チャンク生成時にチャンク内を走査し、高度に応じて石ブロックを置き換える
2.複数の異なる硬さのブロックを作成し、プレイヤーが石ブロックを殴ると、高度に応じて殴ったブロックが置き換わる
の2パターンが思いついたんですが
1は処理がかなり重い
2は殴った瞬間にブロックが変わるからダサい
といった問題を持っています。

なにかもっといい方法はないか、アドバイスお願いします。

653 :名無しさんの野望:2013/12/02(月) 22:17:33.63 ID:4Il3k6+s
ワールド生成法則の書き換えとかかな

654 :名無しさんの野望:2013/12/02(月) 22:32:45.49 ID:iDU9pseH
鉱石生成ロジックを流用とかどうだろう
ダイヤがほぼ100%の分布率ならそれはもうダイヤ層だろうし
フラットなものよりは凸凹が自然な感じになるかも
問題はそれを多階層化できるかだけど・・・

下手の横好きによるアイデアなので的外れなこと言ってたらごめんね

655 :名無しさんの野望:2013/12/02(月) 22:41:51.46 ID:yd2pGqZj
BTWのアレってBTW抜いたあとバニラでログインすると普通の硬さのブロックに戻ってるから、複数のブロックを生成してるのとは違うっぽい

656 :名無しさんの野望:2013/12/02(月) 23:03:22.52 ID:NWStpwzQ
アドバイスありがとうございます。
ワールド生成規則はどこをいじるのかわからないので、
鉱石生成ロジックをいじるの、ためしてみます。
BTWの仕様が理想なんですが、どうやってるのかさっぱり分からないのでパチもんを作ろうかなーと。

ブランチマイニング不可(非効率)で、ダイヤとかを掘るにはグリモアの凶悪な敵が出る深さを探索しなきゃならない
みたいな感じにしたいのです。

657 :名無しさんの野望:2013/12/03(火) 03:54:25.31 ID:kNlTYeTa
PlayerEvent.BreakSpeedで出来そうな気がしないでもない

658 :名無しさんの野望:2013/12/03(火) 08:04:25.61 ID:BZL21eOD
BTW地層はメタで変えてるのかな
生成方法をいじるとcoremodになりそう

659 :名無しさんの野望:2013/12/03(火) 17:33:13.91 ID:KAkoewgS
BTW地層の仕組みはいいよね、他のMODとの連携とかもしやすいだろうし。
BTWそのものは他MODとの共存なんてほぼ不可能だけどな…

660 :658:2013/12/03(火) 20:40:51.42 ID:kNlTYeTa
何で無視するのん・・・
ちょっと試してみたら出来たぞ
http://ideone.com/q5q3Vv
MinecraftForge.setBlockHarvestLevelも使えば採掘レベルも変えられる

661 :657:2013/12/03(火) 20:41:23.58 ID:kNlTYeTa
名前欄ミスった

662 :名無しさんの野望:2013/12/03(火) 23:08:08.26 ID:v1ZBJ7vj
>>660
神がいた・・・

663 :名無しさんの野望:2013/12/04(水) 00:32:52.76 ID:nWEIFsIO
たしかBTWのハードコア地層はダメージ値変えてるだけかな
あの地層概念はバランスよく出来てると思うわ

664 :名無しさんの野望:2013/12/04(水) 02:36:14.55 ID:NEbCZjoC
BTWからサトウキビの判定やネザーでのMOBスポーン判定の修正とかそういう妥当な改善点だけを抜き出したMod欲しいな

665 :名無しさんの野望:2013/12/05(木) 08:11:25.27 ID:hMp/sujf
1.7.2の中身見てきたけどnet.minecraft.initにBlocksとItemsができた?
なんかforgemodから既存ブロックを書き換えるのが難しくなりそう

666 :名無しさんの野望:2013/12/05(木) 08:58:12.68 ID:x5kqM4dP
1.6.4のgradle使ったやつを試してみたんだけど、
Eclipseもバージョンアップ一緒にされてしまったみたい。
ソースが警告で真っ黄色&Forgeのソースもすごい行開いたり、
行番号的なコメントが大量に表示されて見にくくなったんだけど、
どうにか昔みたいに表示できないのかな?

667 :名無しさんの野望:2013/12/06(金) 00:28:47.57 ID:loj5IB+m
bukkitでは既にBlockID取得関数がdeprecatedなんだな

668 :名無しさんの野望:2013/12/14(土) 12:08:43.07 ID:dbqWNaVe
従来のブロックアイテムIDはただの付属データになる

669 :名無しさんの野望:2013/12/19(木) 13:29:56.34 ID:kSJrOprc
1.7.2のMCPとForgeの開発が大変らしいので1.6.xからMod作り始めようかと思うんだが
とりあえず、EclipseとForgeのsrc落とせばいいのかな?

670 :名無しさんの野望:2013/12/19(木) 19:38:58.63 ID:lQOVm58O
Forgeだけでおk
開発はNotepad.exeとJDKだけでもできる

671 :名無しさんの野望:2013/12/23(月) 06:34:28.16 ID:jCFe0sWt
Eclipseで1.6.4の開発をしようとしてるんだけど
Clientを実行しても「Class:Startが見つかりません」とか出てエラーになる
1.5.2に戻すと問題無く出来たんだが、なんかやり忘れてる事があったりする?

672 :名無しさんの野望:2013/12/23(月) 06:35:11.51 ID:jCFe0sWt
ちなみにForgeはいれてない。ソースも全く弄らず

673 :名無しさんの野望:2013/12/23(月) 10:08:19.17 ID:BUxE/dU2
modding wiki 見てこい

674 :名無しさんの野望:2013/12/23(月) 12:58:30.84 ID:CX2zc9jU
「1.5.2 に戻すと」 あたりの文面から不思議なことやっている気配がする。
eclipse の環境を 1.5.2 で作ったあと、ソースだけ 1.6.4 に差し替えた?

新ランチャーが 1.6 で登場しているから、そのあたりが 1.5 と 1.6 で差異があるね。

675 :名無しさんの野望:2013/12/23(月) 13:11:41.42 ID:nkjL9gvT
実況ゲーム収益化情報
http://webblogsakusei.main.jp/youtube-game-jiltsukyou-twitch-niconico-douga.html

676 :名無しさんの野望:2013/12/24(火) 06:00:44.11 ID:NfOS+RsK
>>674
いや、Eclipseで最初に読み込んだのは1.6.4だった
というかMCPのフォルダを二つ作ってEclipse起動時のワークスペース領域の読み込み先を変えてるだけなんで環境とかは関係無いかと

MCPのstartclient.datだと普通に起動できたんでとりあえずこっちでやることにするわ d

677 :名無しさんの野望:2013/12/24(火) 06:12:04.05 ID:vfCFvqZP
>>676
メニューの「プロジェクト」-「クリーン」で直ったような気がしなくもない

678 :名無しさんの野望:2013/12/25(水) 00:24:30.34 ID:8q3XQ3Q+
1.7.2のFML出たな

679 :名無しさんの野望:2013/12/25(水) 08:42:41.08 ID:8wuDMi0s
>>678
マジでっ?!

680 :名無しさんの野望:2013/12/25(水) 08:42:59.81 ID:+hJwQPS8
MCPのベータ来たからdecompileしてみたけど、本家のほうもパッケージ階層化してきてるんだね。
Forgeにあわせてきてるのだろうか。

1.6.2からの修正量が少なくなるようにForgeががんばってほしい

681 :名無しさんの野望:2013/12/25(水) 10:56:13.05 ID:JQUv1L/D
MCPはbeta
FMLはvery alpha
FMLは正式リリースまでに何回か大きな変更が加えられるだろうな

682 :名無しさんの野望:2013/12/25(水) 23:24:07.51 ID:bkvUhkaS
MCP の download list にはまだ乗ってないのな。どこにあるの?

683 :名無しさんの野望:2013/12/27(金) 09:36:11.72 ID:A8nyOPkP
Forge来たぞ

>>682
Twitter

684 :名無しさんの野望:2013/12/27(金) 10:21:00.93 ID:fwpocBNr
forge1.7.2キタ─────-!!!

685 :名無しさんの野望:2013/12/27(金) 20:52:21.28 ID:2eW0DEnh
Forge1.7.2どうすりゃいいのかわからn

686 :名無しさんの野望:2013/12/27(金) 21:41:58.06 ID:oixY0yCk
forgeの1.7.2とりあえずマイクラ起動まで設定終わったけども、
FMLのKeyHandlerやら、IPacketHandlerがごっそりなくなってたり、
srgの出力とかもどうやるかわからずほとんど様子見だわ

Eclipse立ち上げて、ヘルプのとこのマーケットプレイスからgradleプラグインインストール
ダウンロードしたforgeのソースを適当なところに解凍してコマンドプロンプトから
「cd /d (forgeのソースのパス)」、「gradlew setupDevWorkspase」を実行。
forgeのソースとは別に、Eclipseのワークスペース作ってEclipseの立ち上げ、
ファイル>インポート>Gradle>Gradle Projectのルートフォルダにforgeのソースのパス、
Build Modelでプロジェクト作ったらとりあえず、ソース編集できるところまで。

687 :名無しさんの野望:2013/12/27(金) 22:19:11.24 ID:VNPwL3e3
>>686
setupDevWorkspace

あと、ソースを解凍した後にフォルダ名を変えたら setup に失敗した気がする。
(悩んだ挙句、フォルダ名を変えずに "forge-1.7.2-10.12.0.968-src" のまま実行したら上手くいった)

eclipse の場合、"gradlew eclipse" をかわりに実行するのでもいいかも。

688 :名無しさんの野望:2013/12/27(金) 22:49:53.09 ID:2eW0DEnh
>>686
ありがとう、試してみる

689 :686:2013/12/28(土) 13:53:49.02 ID:knAEbObn
>>687
setupDevWorkspaceはおまじないみたいなもので、
実際はGradle Project作るときにやってくれているはず。

gradlew eclipseコマンドの方を使った場合、
Eclipse>ファイル>インポート>既存プロジェクトをワークスペースへ
でプロジェクト自体をインポートできるのでこっちの方が楽かも。
てか、こっちの方が安定してますね。

690 :名無しさんの野望:2013/12/28(土) 16:13:17.54 ID:KQBYkOK9
そんな難しいことしないで
gradlew setupDevWorkspace
gradlew eclipse

を実行して

Eclipseを起動するときのワークスペースに
forge-1.7.2-10.12.0.***-srcの直下に出来ているeclipseフォルダを指定するだけでいけない?


あと環境作っても難読化?のせいでExampleMod.javaの
System.out.println("DIRT BLOCK >> "+Block.dirt.getUnlocalizedName());
でいきなりエラー出てるね

コメントアウトすればマイクラ起動が出来るけど、まだまだこれからって感じだな・・・

691 :名無しさんの野望:2013/12/28(土) 16:24:37.45 ID:knAEbObn
>>690
それでいけるね。
ちょっとエラーが出る要因がわからなかったから別にしておいたけど、
直下のeclipseでワークスペース指定すると、いちいち実行環境作らずに、
ただ使いたいだけなら、そのままデバッグまでいけるからそれが一番いいと思うわ

ModLoader互換のがごっそりいなくなってるけど、
これから追加されてるのか、もうサポート終わるのかなぁ。
ModLoaderから乗り換え組は大変そう・・・

692 :名無しさんの野望:2013/12/28(土) 17:27:22.36 ID:/hZHnm6T
bye bye modloader なんて書いてあったから互換は無い

693 :名無しさんの野望:2013/12/29(日) 07:16:48.97 ID:zS2zLy8v
>>690
サンプルソースが間違ってたみたい
https://github.com/MinecraftForge/FML/commit/6a5f9e1

694 :名無しさんの野望:2013/12/29(日) 10:20:18.52 ID:JVKhkYL7
現在のForgeバージョンで本気で1.7に対応してる人っているのかな?

試しに小さいmodでやってみたけど、メソッド名やフィールド名が難読化されてるるし
バニラのソースも現バージョンだとデフォルトで見れないからMCPベータでデコンパイルしたのを外部エディタで
MC1.6.2の頃の物と比較しながら見ないとどれか分からないしで、なんとなく現在はこんな手法になっているのかぁ
ってのも確認するだけになってしまってる。

あとうちの環境だとデフォルトワールドを生成するとクラッシュする
フラットなら生成できるのだが

695 :名無しさんの野望:2013/12/29(日) 12:05:46.08 ID:q62+V+/G
まだForgeはMOD作れる段階じゃない

696 :名無しさんの野望:2013/12/29(日) 19:47:09.01 ID:7zEt/jLg
Eclipseならプロジェクトエクスプローラーのforge-1.7.2-10.12.0.968-src.jarからソース見れるよ
それが見にくくて、MCPベータでデコンパイルやつ俺も見ちゃってるけども
#968だとうちの環境でもDefaultworldはエラーになる

Item、Block、TileEntityは正常に追加できて動いてる事まで確認できたけど、
GUIとかPacket系はまだまだ作れる感じじゃないねぇ
とりあえず、デバッグついでに犬と猫とゾンビと戯れてるわ

697 :名無しさんの野望:2013/12/30(月) 08:15:08.04 ID:ANeuw6Mh
MCP9.02beta(1.7.2)に旧版modソース突っ込む
→名前マッピングされてなかったり変更されてたりで修正箇所たくさん(´・ω・`)

ソース修正等してeclipse上で動くようにした
→recompileは通ったがreobfuscateでエラー

エラー内容を見て原因と思われるnet/minecraft/creativetab/CreativeTabsをconf/joined.excを見ながら修正してみる
→recompileしてreobfuscate…エラーでないで完了

minecraftのjarに突っ込んで起動してみる
→ClassNotFoundエラーが出る

reobfuscateの生成クラスを確認してみるとinterface等が再難読化されてないのが原因っぽい
↑今ココ

MCP更新されるまでどうしようもないんか…
試してないがForgeの方もまだだめなんよね?

698 :名無しさんの野望:2013/12/30(月) 10:18:11.12 ID:u2zOvIo3
Forge導入すると湿地に木が生成されないな
素直にMCPとForgeの安定版を待つか

699 :名無しさんの野望:2013/12/30(月) 13:18:08.62 ID:ANeuw6Mh
interfaceに public static final String __OBFID="CL_0000~~~~";をconf/joined.exc見ながら定義したら再難読化してくれるようになったわ。
classにはprivate static final String __OBFIDで定義されてるが、interfaceだとprivate使えないから変になってたんかなー

700 :名無しさんの野望:2013/12/31(火) 16:23:17.21 ID:G6dnepg4
解答してgradlew eclipse実行してフォルダごとプロジェクトに追加して実行したけど
tried to access field net.minecraft.util.WeightedRandom$Item.itemWeight from class net.minecraft.item.Item
ってでて落ちるeclipse以外からだとソース見れるのにeclipseから見ると存在しないって言われる
何が悪いんだろう

701 :名無しさんの野望:2014/01/03(金) 16:31:15.91 ID:cLL/l14w
チェストの容量増やすにはどのクラスいじればいいんですか

702 :名無しさんの野望:2014/01/03(金) 16:39:32.14 ID:ZgedpfIS
IronChastあたりのソース見ちゃえばいいんじゃないかな

703 :名無しさんの野望:2014/01/05(日) 03:22:29.53 ID:4hUz3tvU
forge 1.7.2でキーイベントのセットって出来ない?
1.6.4まではあったhandlerが無くなってるけど

704 :名無しさんの野望:2014/01/05(日) 03:50:00.03 ID:MKjE0QoO
handler系のinterfaceは削除されてForgeみたくイベント(この場合InputEvent.KeyInputEvent)を受け取る形になった
コミットで言えばこの辺
https://github.com/MinecraftForge/FML/commit/3256126
判定は自分でやらなきゃいけないっぽいね

705 :名無しさんの野望:2014/01/05(日) 16:24:48.58 ID:4hUz3tvU
>>704
ありがとう
でもそれ見ただけじゃ実装方法が全くわからねー
サンプルに入れとけよ

706 :名無しさんの野望:2014/01/07(火) 22:11:57.42 ID:0oFRQHTN
1.7仕様変わりすぎだな
>>704をみてイベント自体の受け取り方はわかったけど肝心のキーはどこから取得するんだろう
取得するクラスが用意されてない?

707 :名無しさんの野望:2014/01/08(水) 20:01:46.85 ID:tCWOQB3c
InputEvent.KeyInputEventだとキープレスの時はコールされるけど、
キーリリースの時にコールされなくてうちの環境だと使えなかったから、
TickEvent.ClientTickEventにKeyboard#isKeyDownで実装した。
ClientRegistry#registerKeyBindingでキー登録できるけど、
マイクラ内部の方には表示されなかったりまだちょっと不便な感じ

パケット送信が跡形もなく変わっててまったくわからない

708 :名無しさんの野望:2014/01/09(木) 11:59:45.02 ID:slfnDlPK
難読化するには>>697,699以外の方法ないのか
forumとかに載ってる方法だと難読化されないな

709 :名無しさんの野望:2014/01/11(土) 04:18:53.89 ID:wsMgmVfG
Javaのコードなんか難読化してどうすんの??

710 :名無しさんの野望:2014/01/11(土) 04:39:24.27 ID:F+h6YOnN
え?

711 :名無しさんの野望:2014/01/11(土) 04:56:22.19 ID:wsMgmVfG
Javaのコードなんか難読化してどうすんの??

712 :名無しさんの野望:2014/01/11(土) 22:05:40.51 ID:EAuHkY0j
え?

713 :名無しさんの野望:2014/01/12(日) 14:53:12.16 ID:9dnZxDm1
リアル農業とかすげえな
FFMの養蜂とかもきっと自分がやりたいから作ったんだろうなあ
なんで蜂・・・?とか思ったけど作者はきっと蜂が好きなんだろうなw

714 :名無しさんの野望:2014/01/16(木) 18:00:09.25 ID:Iv+Yhvnn
>>697
とりあえずこの方法でできた

Step1:環境作成
http://www.youtube.com/watch?v=CFytRiis6M0
[実行]→[実行構成]
※クライアント
メインクラス: net.minecraft.launchwrapper.Launch
プログラム引数: --version 1.6 --tweakClass cpw.mods.fml.common.launcher.FMLTweaker --accessToken Player1234
VM引数: -Dfml.ignoreInvalidMinecraftCertificates=true
※サーバー
メインクラス: cpw.mods.fml.relauncher.ServerLaunchWrapper
引数なし

Step2:修正&デバッグ
src/main/java/ に過去verのソース入れる→コンパイル&実行してチェック

Step3: リリースビルド
直下に Release.txtを作成→gradlew build と書いて保存→拡張子をbatに変更して実行
build/libs/ にjarファイルができる

715 :名無しさんの野望:2014/01/17(金) 22:56:51.41 ID:N+/Ho5m9
地平線とか遠くの山の輪郭を描画できるmodがあればマイクラの世界はよりいっそう美しくなると思うのだがどうだろうか

716 :名無しさんの野望:2014/01/17(金) 23:50:14.31 ID:cbCYugu9
山の輪郭はリソースパックで何とかならないだろうか

717 :名無しさんの野望:2014/01/21(火) 04:35:51.51 ID:TiB62LQw
よし今回は自信作
前回はチキンジョッキー→豚ジョッキー化っていう誤魔化しMODだったけど
今回のは1.8のチキゾン修正の差分+ニワトリも同時にデスポーンするように修正するMODにしてみた

[1.7.4]ChickenJockey_FIX.zip
http://www.mediafire.com/download/p236sad807df37e/

718 :名無しさんの野望:2014/01/22(水) 14:52:50.29 ID:u+F5ykor
アホな質問だが
バニラに存在するアイテムの新規レシピ
例→木の棒8つで木材 だとかは今からJAVA始める初心者でも簡単にできると聞くが
バイオーム追加とかだと難易度はどれくらい跳ね上がるんだろうか?

719 :名無しさんの野望:2014/01/22(水) 15:38:42.81 ID:Y7UWlo00
バイオーム追加はバニラなら簡単に作れるけど、Forgeでやるなら逆に面倒

720 :名無しさんの野望:2014/02/01(土) 15:39:34.72 ID:SKhk3x5U
coremod作りたいんだけど
coremodLocationがnullで1.6までの方法じゃ既存クラス書き換えが出来ない
どうすればいいんだろ

721 :名無しさんの野望:2014/02/03(月) 01:43:55.68 ID:BOM3GpvH
えらく初歩的な質問ですまぬ。
BuildCraftの拡張MOD(Additional PipesとかFFMとかみたいなやつ)を作りたいんだけど前提になるBuildCraftってどうやってソースに追加すりゃええのん?

722 :名無しさんの野望:2014/02/03(月) 19:54:51.33 ID:YOCbvl0/
質問です
1.6.4forge(9.11.1.965)開発環境をつくりたいのですが
install.cmdを実行しても環境が生成されないです
mcpディレクトリは自分で作るんですか?
もしそうならどこのディレクトリにつくるんですか?
情弱ですいません

723 :名無しさんの野望:2014/02/04(火) 02:25:57.02 ID:ygrMXfrq
>>721です。
BuildCraftのソース(ttps://github.com/BuildCraft/BuildCraft/releases)をDLしてsrcフォルダに追加するところまでは
ここ(ttp://www.minecraftforge.net/wiki/How_to_install_Forge_%26_an_external_API)とBuildCraftのGitHubをみればわかった。
ただ当然これだとEclipseの側でBCがワークスペースに追加されないからどうしたらいいんだろ?
とりあえず手動でBCのソースとロケーションフォルダの全部を追加してみたけどどうやらpackageの認識がおかしいらしく
Eclipseが「宣言されたパッケージ "buildcraft.api.blueprints" が、予想されているパッケージ "" に一致しません」とかいうエラー吐きやがるのよ。
クイックフィックスでパッケージを移動しようとしたら今度はbuildcraft.api.blueprintsは存在しないとかで冷害が出て失敗するのね。


>>722
install.cmd実行時に表示されるコンソールのメッセージには何と書いてる?
エラーの類が無い(FialedとかErrorの文字列が無い)ならちょっとわかんねえけど
ライブラリがダウンロードされなくてinstall.cmdが中止したとかなら俺でもあったしもしかしたら力になれるかもしれん。

724 :720:2014/02/04(火) 18:08:58.35 ID:pF01yQYH
1.6環境で試したら同じエラーが出たからForgeじゃなくてこっちのミスだった
クラスパスの追加?をしないとパスが回ってこないんだろうけどいまいち分からん
一応フォルダを追加してみたり.classを追加したりしてみてるんだけどcoremodLocationがnullのままだった
誰か詳しく教えてください

725 :名無しさんの野望:2014/02/05(水) 16:28:51.08 ID:48s1EndM
>>723
メッセージは
Checking MCP zip (may take time to download)
[Errno socket error] [Error 10035] 不可の操作をすぐに完了できま
せんでした。
とでます
mcpディレクトリを作ったら
古くせえやつをはよ消せってなります

726 :名無しさんの野望:2014/02/05(水) 20:14:49.56 ID:48s1EndM
>>725
ミス
正しくは
Checking MCP zip (may take time to download)
[Errno socket error] [Error 10035] ブロック不可のソケット操作をすぐに完了できま
せんでした。
です

727 :名無しさんの野望:2014/02/08(土) 13:19:17.13 ID:2fzwjs9T
Forge-1.7.2-10.12.0.1025-src
だんだんまともに易読化されてきたな
そのおかげで古いままの同梱のサンプルソースがコンパイルエラーになるが

728 :名無しさんの野望:2014/02/12(水) 02:17:48.84 ID:7IXBCvcI
1.7でMod作って導入してみたのですがクラッシュします。
一応Eclipseでは動作してたのでmod自体の問題じゃないと思うのですが。
導入方法(配布ファイルの作り方)が変わっていたりするのですかね?
一応binの中にあるフォルダごと圧縮したりclassだけ圧縮したりいろいろ試してるのですが全然分からず。
周りの1.7対応のmodが皆.jarなのは気のせいですか?

729 :名無しさんの野望:2014/02/12(水) 02:38:04.56 ID:Ny5NSq16
binのなかのclassは使えない
コマンドでgradle buildすると、build\libディレクトリの中に難読化済みclassが入ったjarができる

730 :名無しさんの野望:2014/02/12(水) 02:39:19.04 ID:Ny5NSq16
gradlew build
だった

731 :名無しさんの野望:2014/02/12(水) 07:23:16.14 ID:ZyvNziVj
1.7.2と1.7.4って内部的にそんなに違うかな?Minecraftの根幹らへんのことは分からないんだけど、MCPの1.7.4への対応って難しいのかねぇ

732 :名無しさんの野望:2014/02/13(木) 00:44:37.94 ID:zZJCrp3+
>>429
ありがとうございます。ありがとうございます!!
使える様になりました。 心から感謝します!

733 :名無しさんの野望:2014/02/19(水) 12:19:54.13 ID:9ewkCdNG
modで弟とけんかする マインクラフター
http://www.youtube.com/watch?v=A-IFPvyQhoU

734 :名無しさんの野望:2014/02/20(木) 21:08:32.35 ID:t4rEin88
MCPがさっぱり分からん。
jarsにminecraft_server.1.5.2を入れたのにデコンパイルすると
!! missing なんちゃらと出る

735 :名無しさんの野望:2014/02/21(金) 06:48:18.19 ID:Pq75fhi2
入れなくていいし気にしなくていいよ

736 :名無しさんの野望:2014/02/23(日) 08:29:10.59 ID:lvtpTPOy
forge-1.6.4-9.11.1.965
Minecraft1.6.4
Eclipse
MMMLib-1_6_4-kai-2
littleMaidMob-1_6_4-kai-1
この環境でリトルメイドモブのアドオン作りたいんだけど
とりあえずnet/minecraft/srcにjavaファイル全部置いて、パッケージエラーが出たファイルは規定の位置に移動させた
しかし、protectedのメソッドやら変数やら見に行っている記述が何箇所かあって、不可視だって怒られてる
このエラーを解決しない事にはアドオン作成に取り掛かれそうにないんだけど、解決方法がさっぱり分からん…

737 :名無しさんの野望:2014/02/23(日) 13:42:20.72 ID:rb0rflHO
forgeのソースをバックアップしておいて、全部publicに変更してみれば?
ぶっちゃけアクセス制限はコンパイル時のみで、実際は親子関係にかかわらずアクセスできたりするもの
Javaの場合は知らないけど、C言語なんかはそうだった

738 :名無しさんの野望:2014/02/23(日) 15:15:37.36 ID:T8gc8Oc4
MOD内にlangフォルダを作ってeu_US.langとja_JP.langを置いてみたら、ちゃんとアイテム名は適用されるんだけどもその後ろに.nameってついてしまう
これを改善する方法ってどなたかわかりますか?

739 :S:2014/02/23(日) 21:27:51.40 ID:WiMHVSsm
>>738

=の左側に.nameってつければいいんじゃない?

740 :名無しさんの野望:2014/02/24(月) 02:00:09.53 ID:dk7xnkOT
mod専用ってbukkiもmodに入るんか?

741 :名無しさんの野望:2014/02/24(月) 11:13:24.75 ID:TZBDQV9z
>>470 入らない気もするけど、BukkitPlugin作成スレがないからなあ
でもやっぱMod作成できる人しかいないんじゃない??

742 :名無しさんの野望:2014/02/24(月) 11:13:54.14 ID:TZBDQV9z
いつも番号間違える
すまん

743 :名無しさんの野望:2014/02/24(月) 12:11:42.85 ID:1tPJH2/N
>>737
うーん、そんなもんなのかな?
ちょっと非公式フォーラムの方にも聞いてみる。
ありがとね

744 :名無しさんの野望:2014/02/24(月) 12:47:40.76 ID:1tPJH2/N
うーん、非公式フォーラムに、何か書き込めなかったわ
エラーが無くなるまでprotectedをpublicに変更してみたけど、メイド生成でぬるぽして駄目だったし…
どうやら俺にはMOD制作は難しいらしい…

745 :名無しさんの野望:2014/02/24(月) 14:53:40.91 ID:dk7xnkOT
>>741
Bukkitもパケットやらあって難しいから人少ないのかな

746 :名無しさんの野望:2014/02/25(火) 12:45:51.84 ID:aP0FksR9
>>739
やってみたけど、そしたら翻訳そのものが適用外されなくなった…
他のMODを参考に作ったりもしてるけど未だ上手くいかず

747 :名無しさんの野望:2014/02/27(木) 00:33:04.06 ID:iOb7fH6L
ブロックを右クリックするとEntityを生成する、というのを作りたいのだけど、
サーバ側でspawnEntityしてもクライアントに反映されない……
何か同期処理が必要なのかな

748 :名無しさんの野望:2014/02/27(木) 01:30:08.25 ID:H96XXO/P
どうなんだろう。パケット追加しないとだめなのかなぁ

749 :名無しさんの野望:2014/02/27(木) 09:14:40.10 ID:iOb7fH6L
>>748
同じコードで、バニラのMobをスポーンさせると普通にクライアントにも同期されるんですよね
バニラのものも、全部パケットで同期されてるのかな
独自のEntityは自分で同期しないと駄目ということ?

750 :名無しさんの野望:2014/02/27(木) 09:57:05.96 ID:iOb7fH6L
あっ、NetworkModアノテーションを付け忘れてるだけだった…

751 :名無しさんの野望:2014/02/27(木) 12:24:56.26 ID:T8cjwfLn
稀によくある

752 :名無しさんの野望:2014/02/28(金) 20:00:38.37 ID:5ksug5TQ
教えてほしいんだけど、スキンを変更するmodってある?

753 :名無しさんの野望:2014/02/28(金) 20:01:54.71 ID:Ytw+Krvw
>>752
このスレと何の関係が?

754 :名無しさんの野望:2014/02/28(金) 20:06:37.96 ID:8PHenE0j
無ければ作るってことじゃないの

755 :名無しさんの野望:2014/02/28(金) 22:23:41.44 ID:ljxGSiKu
植物追加したいなーと思ってModdingWiki見たら白紙でわろた
初心者には無理だとつげているのか…

756 :名無しさんの野望:2014/02/28(金) 22:48:11.83 ID:aeG+0jig
スキン変更なら公式の使えば良くね?
それかファイルを差し替えるか

757 :名無しさんの野望:2014/03/01(土) 01:41:26.12 ID:O3uewm4r
もしかして:割れ

758 :名無しさんの野望:2014/03/01(土) 07:34:25.82 ID:TI6Rlzkl
良くJava初心者でも簡単なModdingならできるって言われてるけど、何処から入ればいいんだろうか?
Java開発環境はインストールしてあるから、IDEAでも入れればいいのかな

759 :名無しさんの野望:2014/03/01(土) 09:34:53.81 ID:6QYXergQ
そういう「歩き方」はさすがにテンプレ見ろよ

760 :名無しさんの野望:2014/03/01(土) 10:46:46.43 ID:a2LnKW70
エンティティIDの挙動は不思議だなー
コンストラクタの時点ではクライアントとサーバで違ったりするのに、いつのまにか同期されるからIDを使った処理が面倒……

761 :名無しさんの野望:2014/03/01(土) 18:33:48.11 ID:82f4mFW8
Javaは初めてで本も見たことないぐらいだったけど、プログラミングの基本?を覚えてたから単純なのだけどすぐ作れた
ブロック追加アイテム追加食料追加モブ追加クイエイティブタブ追加地形生成
ぐらいなら

762 :名無しさんの野望:2014/03/01(土) 18:44:23.19 ID:SdhXIbdh
littlemaidmob1.6.4のリソース配置教えて欲しい
テクスチャとか、モデルのクラスファイルとか。
マイクラの起動はするけど、メイドのスポーン時にぬるぽが出てダメだ。

763 :名無しさんの野望:2014/03/01(土) 18:54:41.99 ID:82f4mFW8
疑問に思ったのでちょっと質問します
モッドのテストさせる時、製品版のでやりませんよね
あれって一応割れになっちゃってるんですかね?
これは回答頂かなくてもいいのですが、あの技術でマイクラできちゃうって大問題ですよね

764 :名無しさんの野望:2014/03/01(土) 19:20:52.18 ID:0gER7HZq
じゃあ回答しないわ
質問の意味も分からんし

765 :名無しさんの野望:2014/03/01(土) 19:32:27.71 ID:82f4mFW8
>>764 自分のIDでやりませんよね。PlayerってIDで勝手にログインされますよね?
ってとこは製品版ではありませんよね?
Moddingの際のテスト起動は割れ行為になっているでしょうか。
という質問です。 分かりづらくてすいません。

766 :名無しさんの野望:2014/03/01(土) 19:42:39.13 ID:P5pemAbd
VM引数にアカウントとパス追加すれば自分のアカウントで起動出来るよ
俺もそこんところはよく分からん

767 :名無しさんの野望:2014/03/01(土) 19:55:00.22 ID:a2LnKW70
ちゃんとアカウント購入したなら問題ないね
取り敢えずこれ読んで
https://account.mojang.com/documents/minecraft_eula

768 :名無しさんの野望:2014/03/01(土) 20:12:32.57 ID:2X2CKP3W
>>752の者です。
char.png入れ替えたらできた。
今までスキンってmodで変えてると思ってた・・・www

>>757
割れじゃないよ。
あんな2000円くらい余裕でだせるwww
割れを使ってるやつの気持ちが分からん。

で、仮にもスキンを変更するmodって作れるのか?
mod作成の知識ないから・・・。ごめん・・・。

769 :名無しさんの野望:2014/03/01(土) 20:19:22.64 ID:a2LnKW70
>>768
Minecraftの公式サイトでログインするじゃん?
"Profile"をクリックするじゃん?
……スキンのアップロードフォームがあるじゃん?

公式でやると無改造でいけるし、マルチならこっちじゃないと反映されないよ

770 :名無しさんの野望:2014/03/01(土) 20:20:49.15 ID:P5pemAbd
シングルプレイでのスキンを変更するMODなら作れると思うよ
適用するテクスチャをダウンロードするんじゃなくてローカルのファイルを参照すればいいはずだから
メリットがよくわからないんで誰も作らないだろうけど

771 :名無しさんの野望:2014/03/01(土) 20:31:25.54 ID:Sqel5zYl
マルチでかえるの無理なんかな?
メイドさんみたいなグラフィックごと変えれる
鯖のMODあるじゃん。あれみたいな感じで・・・

772 :名無しさんの野望:2014/03/01(土) 20:39:41.73 ID:8ugNGnEc
>>771
二つ上のレスに答えがあると思うんだけど

773 :名無しさんの野望:2014/03/01(土) 21:59:34.26 ID:0gER7HZq
絶対割れだろこいつ

774 :名無しさんの野望:2014/03/01(土) 22:03:14.93 ID:oO85pWfC
割れじゃなきゃ公式使えばいいしな
ネットに繋がってないならマルチ出来ないし・・・

775 :名無しさんの野望:2014/03/01(土) 22:12:00.84 ID:Sqel5zYl
別に割れだったら割れ鯖経由でテクスチャは変えれるんじゃないの?
そういう関連の記事はMOD探してる時に見かけたから。
>>770
シングルのはテクスチャ変更だけで出来ますね。

776 :名無しさんの野望:2014/03/02(日) 00:29:41.78 ID:mu7Ur1mp
ModdingWikiは1.5.2向け情報っぽいけど1.6.4Forge環境を構築するのにも普通に応用できる?

777 :名無しさんの野望:2014/03/02(日) 00:47:45.81 ID:tXwFiNZk
ForgeGradleってのが1.6.4からあるから無理
WikiじゃなくてQiitaとかmodderのブログとか見た方がいい
Gradleはすごく便利だけど、ややこしいからね

ここで名前出すのはアレなので、適当にggって

778 :名無しさんの野望:2014/03/02(日) 00:55:40.70 ID:n1SMyqae
Gradleの方法も載ってます

779 :名無しさんの野望:2014/03/02(日) 08:52:19.53 ID:OcYz5PFD
>>762じゃないけど、俺も知りたい
いいMODだからもっと拡張して遊びたい

780 :名無しさんの野望:2014/03/02(日) 09:58:58.88 ID:Uzvjycr1
>>768だけど、
本当だわ。
profileクリックしたら簡単にできたわ。
何かマジで関係ない事聞いてたみたい・・・。
ごめん。

後、modで気になったことなんだけど、ときどきmodダウンロードしたら、
zipファイルの時があるんだけど、あれってjarに変えずにそのまま使うの?
まぁ、変えても変えなくても反映されなかったんだけど。

781 :名無しさんの野望:2014/03/02(日) 11:20:34.64 ID:UYhtWTvX
PC初心者スレにでも行け

782 :名無しさんの野望:2014/03/02(日) 11:38:04.11 ID:9xlQV/w/
wikiを全ページ熟読してこい

783 :名無しさんの野望:2014/03/02(日) 13:55:27.50 ID:OcYz5PFD
反応無いって事は、誰も知らないのか
フォーラムで聞いた方が早いかもな

784 :名無しさんの野望:2014/03/02(日) 16:52:10.08 ID:mu7Ur1mp
そんな態度ならフォーラムでも教えては貰えないと思うぞ

785 :名無しさんの野望:2014/03/02(日) 21:33:14.13 ID:TizVQgiv
>>783

>>782が答えてくれてるだろ。
取り敢えずお前は説明書の類を読んでから始めろ。

786 :名無しさんの野望:2014/03/02(日) 21:41:20.97 ID:d7kxh8iT
あー>>762ってもしかして開発環境の作り方じゃなくて普通にMODの導入方法についてなのか

787 :名無しさんの野望:2014/03/02(日) 22:17:12.23 ID:TizVQgiv
なら単にスレ違いじゃないか

788 :名無しさんの野望:2014/03/03(月) 00:36:46.84 ID:OTgoqBJg
便所の落書き相応の態度だろ
なにカリカリしてんだか

789 :名無しさんの野望:2014/03/03(月) 03:32:04.62 ID:LgZvJX2D
MODのデコンパイルの仕方知ってる人いる?
ちょっと書き換えたいんだけど、デコンパイルの情報が皆無でこまってる・・・

790 :名無しさんの野望:2014/03/03(月) 10:52:26.18 ID:LgZvJX2D
MODの画像がマイクラバージョン.javaのclassファイル追加する奴なのですが、
画像を変更したく、jd-guiでデコンパイルした後にコンパイルしなおそうとすると、
どうしても「シンボルがみつけられません。」とでてコンパイルできません。
助けてくださる方おられますか?

791 :名無しさんの野望:2014/03/03(月) 11:08:06.14 ID:FWGtkZ24
画像の変更だけならデコンパイルなんかしなくてもassetのフォルダの中身だけ変えればいいよ
classファイルはそのまま使い回せばいい

792 :名無しさんの野望:2014/03/03(月) 17:00:47.35 ID:kNz27VUY
forge#1024で言語変えてもUSに固定されて日本語に変更出来ず
langで日本語に対応出来てるかわからんのだが

793 :名無しさんの野望:2014/03/03(月) 17:24:19.65 ID:z4EsddFn
Forge1.6.4での開発です
ItemIDを5000ぐらいに設定したのですが、TooManyItemsで確認してみたら5200ぐらいに変動していました。
これは何かの仕様なのでしょうか? それとも設定が間違えていたりするのでしょうか?
ちなみに500あたりに設定したブロック達は変動していません。

(Blockは0~5000 Itemは5000~30000 あたりに設定しろ と教えて頂いたのですが)

794 :名無しさんの野望:2014/03/03(月) 18:43:59.49 ID:Hh2B81qC
仕様でシヨウか

795 :名無しさんの野望:2014/03/03(月) 19:04:43.58 ID:z4EsddFn
>>794 すいません。ネタをあまり理解できない馬鹿者で。
仕様と言うことでこの問題は放置してもいいのでしょうか?

796 :名無しさんの野望:2014/03/03(月) 19:43:31.24 ID:ssSPl/05
>>793
プラス256されてるのかな?

797 :名無しさんの野望:2014/03/03(月) 20:15:02.09 ID:z4EsddFn
>>796 はい。プラス256されてます。

798 :名無しさんの野望:2014/03/03(月) 21:15:04.83 ID:HgE1Je4P
仕様

799 :名無しさんの野望:2014/03/03(月) 21:29:55.10 ID:LgZvJX2D
>>791
外部URL参照なのですが、そのURL部分だけ変えて
コンパイルできればいけるかなーとおもったのですが・・・

assetフィルダも確認してみましたが、何も追加されてないようなので;

800 :名無しさんの野望:2014/03/03(月) 21:44:30.80 ID:z4EsddFn
>>794 >>796 >>798
大変助かりました。ありがとうございました。

801 :名無しさんの野望:2014/03/04(火) 04:33:12.16 ID:u/pywSoy
>>789
func_12345とかfield_12345とか程度のソースでもいいなら
MCPのデコンパイラ(fernflower.jar)使えばいい
どうしても関数や変数名が知りたいなら手動reobfuscateでggr

適当なバージョンのMCPをダウンロード
.minecraft\versions のForgeのjarと.minecraft\libraries\net\minecraftforge にあるjar、さらにデコンパイルしたいMODを解凍して
中身を1個のzipに入れて圧縮して拡張子をjarにする
適当なフォルダを作ってそのjar放り込む
そのフォルダに新規txt作って中に次のように書く(MCPのディレクトリ等は適宜いじる)
java -jar C:\mcp903\runtime\bin\fernflower.jar C:\dec\(デコンパイル対象).jar C:\dec\src
保存したら拡張子をBATにしてダブルクリック
終わったら、srcフォルダの中にjarができてて、中にデコンパイル済みのjavaファイルがはいってる

802 :名無しさんの野望:2014/03/06(木) 17:56:36.75 ID:nOFzXXB1
基礎的な質問ですが失礼します。
forgeの1.7.2からはmcpはついてこないのでしょうか?
1.6.4までのforgeはminecraftのソースを参照しながら制作ができましたが、
1.7.2のforgeではどこにもminecraftのソースを見つけることができませんでした。
これは自分でmcpの1.7.2対応版を使ってデコンパイルして、
forgeのフォルダに置かなければならないということでしょうか?

803 :名無しさんの野望:2014/03/06(木) 20:13:30.40 ID:iXLUCb96
ソースはあるが圧縮状態だからそのままだと参照しかできないかな

804 :名無しさんの野望:2014/03/07(金) 15:47:43.76 ID:mdE1dQPe
何とか出来たのでご報告

>>801
MCP調べてたら、開発版がでてたんでそれでなんとかなりました。
class書き換えで導入するものだったので、それを入れてmcp903でデコンパイル
必要な部分を書き換えてコンパイルしてぶち込んだら成功しました。
1.7.4 1.7.5もコレでできると思うので頑張ってみます。

805 :名無しさんの野望:2014/03/09(日) 10:29:02.90 ID:6OMzEcK1
>804です。
1.7.4 1.7.5ではやっぱりできませんでした・・・
CHICKEN JOCKEY PROBLEMS FIXとか作ってる人は
どうやって既存classいじる手段を見つけてるんでしょう?

806 :名無しさんの野望:2014/03/09(日) 14:22:18.02 ID:MRbjQrJ3
自力でデコンパイルして頑張ってるんだろ

807 :名無しさんの野望:2014/03/09(日) 14:55:37.95 ID:6OMzEcK1
>>806
自力でできるものなんですかね?

808 :名無しさんの野望:2014/03/09(日) 16:24:27.08 ID:soyMmK6D
それがJavaなのさ

809 :名無しさんの野望:2014/03/09(日) 17:15:29.76 ID:lQPCasoa
出来なかったらMCPとか作れないでしょ

810 :名無しさんの野望:2014/03/09(日) 18:04:35.22 ID:S2SkE1QI
ソース見て理解できて実用化出来た時の快感

811 :名無しさんの野望:2014/03/09(日) 18:33:52.82 ID:6OMzEcK1
確かに分からなければMCPは作れないですよね;
大人しく対応まつしか自分には出来そうにないですわ・・・

>>810
うらやましぃ

812 :名無しさんの野望:2014/03/10(月) 18:00:14.53 ID:IreVQy5D
簡易的なチェスト作ったんまが
ブロックを壊した時に、インベントリに保存されてるアイテムを
その場にドロップさせたはずなんだが
なぜだかwestとsouthよりにドロップしちゃう

breakBlock弄ればどうにかなるか?

813 :名無しさんの野望:2014/03/11(火) 23:20:29.42 ID:JKvXiTJW
1.6.4のEntityまわりのmodのチュートリアル・解説・ソース
ってある?(英日問わず)
forgeのチュートリアルも詳しくのってないし・・・。
とりあえずバニラのボートを魔改造して遊んでるけど、
物足りん。

814 :名無しさんの野望:2014/03/12(水) 01:01:31.67 ID:v2td5iQQ
http://modlist.mcf.li/version/1.6.4
ここいって、オープンソースのMOD見つけていじるのが楽しいと思う。
例を挙げると、Goblins and Giants や Doggy Talents Mod がソース公開してるよ

815 :名無しさんの野望:2014/03/13(木) 16:23:54.58 ID:MwvhmolM
Mod作成って言うとアレなのですが、関連してくると思ったのでここで質問させていただきます。
皆様はアイテムやブロックを追加の際、テクスチャは自分で作っているのでしょうか?
自分で作ったり、募集スレとかで作ってもらったり、友人に作ってもらったり、しているのでしょうか?
一度とある人に頼んだら、そこらのテクスチャを持ってきたので頼むのは怖くて仕方ありません。(正直、そこまで有名なModのテクスチャではありませんが、知っている方に著作権だなんだ言われたので)
皆様はどのようにしてテクスチャを描いたり描いてもらったりしているのでしょうか。お教えください。

816 :名無しさんの野望:2014/03/13(木) 17:06:39.54 ID:S5yuJXNz
そらもうポチポチ自分で納得いくようドット打ってるよ
まぁドット絵自体が趣味だからね
書いてもらいたいなら非公式フォーラムあたりで募集すれば?
作ってくれる奴がいるかどうかは別として、あそこだと無断二次使用とかばれるだろうからそういうのは持ってくる奴とか居ないだろうし

817 :名無しさんの野望:2014/03/13(木) 18:26:20.91 ID:TH+E2Htv
16x16ピクセルくらいなら絵心のない自分でも描けると思う

818 :名無しさんの野望:2014/03/13(木) 19:16:20.71 ID:MwvhmolM
>>816 >>817
ほう・・・・・

例えばですが、石とか土とか鉱石ブロックとか。すっごい細かいですが、色が違いますよね。
アレのやり方というか、何か裏ワザ的なのはありますか?
ちょっとそれてきちゃいましたが・・・

819 :名無しさんの野望:2014/03/13(木) 20:43:24.91 ID:S5yuJXNz
確かに石とか土とかの自然物テクスチャは難しいよな
裏ワザとかも特にないし
だからやるならこまめに調整していきながらやるしかないかな
まぁサイズが16だと表現の限界はどうしてもあるわけだからそこまで難しく考えずに色を置いていくと良いよ

820 :名無しさんの野望:2014/03/13(木) 21:04:48.04 ID:MwvhmolM
>>819 自分で選んでやっているんですか・・・ ビックリしました・・・。
頑張ってみます笑 ありがとうございます。

821 :名無しさんの野望:2014/03/13(木) 21:27:52.78 ID:FSk7r4bB
息抜きにテクスチャやるのがいい

822 :名無しさんの野望:2014/03/13(木) 22:31:40.97 ID:QMdpSuSf
>>914
thx
いろいろいじくってみるよ
あとオープンソースってことは
これを元にしてMODを作った場合、公開は許可を得なくても可能なの?
一応作者に報告したほうがいい?

823 :名無しさんの野望:2014/03/13(木) 22:58:01.34 ID:FfcPvL7s
>>822
そのMODのライセンス次第だよ

824 :名無しさんの野望:2014/03/14(金) 01:01:06.32 ID:4pw0cIQ+
オープンソースってのは自由に改造して再配布できるものを指すので、ソース公開してるだけじゃオープンソースとは限らない

オープンソースじゃない単なる「ソース公開」だと、作者に許可を貰わない限り引用以外の再配布は違法になるんだよ法的には

825 :名無しさんの野望:2014/03/14(金) 22:48:27.83 ID:c32L7MEO
テクスチャがどこから読み込まれるのか教えてください。
forge-1.6.4-9.11.1.965-srcで開発をしています。

自作ブロックのコンストラクタで
this.setTextureName("nishina:pink_block"); //ブロックのテクスチャの指定
と指定しています。
pink_block.pngは
\forge-1.6.4-9.11.1.965-src\forge\mcp\jars\assets\nishina\textures\blocks

\forge-1.6.4-9.11.1.965-src\forge\mcp\src\minecraft\assets\nishina\textures\blocks
に置いています。

startclientをしたところ、こちらの質問と同じピンクと黒のブロックが表示されました。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11113393041

startclientをしたときのassetsはどこから読み込まれるのでしょうか?

826 :825:2014/03/15(土) 13:32:12.65 ID:+HPf8o42
自己解決しました。

\forge-1.6.4-9.11.1.965-src\forge\mcp\bin\minecraft\assets\nishina\textures\blocks
にテクスチャを置いたら表示されました。

参考: http://www.minecraftforge.net/forum/index.php?topic=12895.0

827 :名無しさんの野望:2014/03/16(日) 09:12:34.63 ID:B1JDL5jq
天地を逆さまにするMODとか楽しそうだけど作る技術がない

828 :名無しさんの野望:2014/03/16(日) 13:29:53.65 ID:GhZLDfGu
forge-1.6.4の最終版(965)で簡単なmod作ってたんだけども
zipやらjarに配布用で出力する方法がいまいち分からない
mcpとeclipse(pleiades)で開発してるんだけどeclipseからテストプレイする時は正常に適用されて動く

その後バージョンやサイトによって手順ばらばらでどれが参考にするのが正しいのか分からないけど
○○.batやって△△.batやったら出てくる(これ自体もサイトによって地味に違う)ってのに従って
出て来たのがフォルダだからzipに固めてゲームで使ってる方のmodフォルダにぶちこむとエラー

先人様1.6.4のforge環境の出力まで手順書いてる参考URLとか無いですか
だいたいが「以上、こういう風に環境構築してあとは好きにmod作ればおk」で終わってたり
「こうしたらフォルダに変なのが出てくるよ」っていう感じ終わってて困ってます

829 :825:2014/03/16(日) 15:45:45.25 ID:ykNE9oVN
ちょうど私もforge-1.6.4-9.11.1.965で開発しています。
ただeclipseは使ってません。

テストプレイに成功したということは、
forge\mcp\bin
の下に自分が作った*.javaに対応する*.classができてますか?

それができていたら次はreobfuscate.batを実行します。
forge\mcp\reobf
の下に*.classができるはず。

で、その*.classファイルをテクスチャ等と一緒にjarファイルへ入れるわけですが、
*.classはどこにおいてもForgeのクラスローダーが見つけて読み込んでくれるんじゃなかったかな?
テクスチャはassetの下の所定の場所に置かなければならないはず。

http://nishina2525.cocolog-nifty.com/blog/2014/03/minecraft-mod-7.html
のnishina.jar解凍してファイル配置を参考にしてみてください。
(まだ無機能ブロック1個を追加するレベルですが)

830 :名無しさんの野望:2014/03/16(日) 16:25:18.47 ID:GhZLDfGu
>>829
おおー本当に助かりました無事解決しましたthx

http://uproda11.2ch-library.com/e/e00029433-1394954648.png

831 :825:2014/03/16(日) 17:52:48.02 ID:ykNE9oVN
抹茶w
料理系MOD?

832 :名無しさんの野望:2014/03/17(月) 18:12:03.82 ID:cj7K98nq
チュートリアル一通り終わらせた!
これらのMODを一まとめにしたいんだけど、どうすればいいのやら
@MODつけまくってmodsの中がごちゃごちゃしてるわ

833 :名無しさんの野望:2014/03/17(月) 18:19:38.25 ID:bTYHlICL
同じパケにぶちこんで@Modのやつはどれか1つのファイルでいけるはず

834 :名無しさんの野望:2014/03/17(月) 23:44:58.68 ID:bTYHlICL
moddingWikiのチュートリアルをいつも雛形にしてブロック(アイテム)追加してるんだけど
同クラス内で複数のブロック追加とか出来ますかね?

Coreの方は問題ないけど
ブロック固有のクラスの方で複数のブロック設定を組み込むにはどう弄れば良いのか見当がつかなくて
http://minecraftjp.info/modding/index.php/1.6%E3%81%AE%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E8%BF%BD%E5%8A%A0

やりたい事のイメージとして、Coreの方は
BlockCore.java
class BlockCore
block_a
block_b

そしてブロック情報設定する(extends Block)方が

【×】
Block.java
class Block_a extends Block
block_a
class Block_b extends Block
block_b

↑ではなく

Block.java
class BlockSet extends Block
block_a
block_b

こんな感じでコンパクトにしたいのですがなかなかうまく行かないです

835 :名無しさんの野望:2014/03/17(月) 23:46:11.67 ID:bTYHlICL
ああそうか半角スペースだとインデント消えるの忘れてた
見づらくて申し訳ないです

836 :名無しさんの野望:2014/03/18(火) 00:20:16.41 ID:UNZ9NEJP
Block.javaがメンバ変数としてblock_a、block_bを持つのはおかしいんじゃないかな。

独自ブロックを定義するクラスがBlockだとバニラのクラスと重複するので
チュートリアルに習ってBlockSample.javaだとするけど、
BlockCore.javaの方で
block_a = new BlockSample(1000, Material.rock);
block_b = new BlockSample(1001, Material.rock);
として、BlockSampleのコンストラクタを2回呼び出す。

BlockSampleのコンストラクタはif文で切り替える。
public class BlockSample extends Block
{

 public BlockSample(int par1, Material par2Material)
 {
  super(par1, par2Material);
  this.setCreativeTab(CreativeTabs.tabBlock);//クリエイティブタブの選択
  if( par1 == 1000)
   this.setUnlocalizedName("blockSample_a"); //システム名の設定
  else
   this.setUnlocalizedName("blockSample_b");

837 :836:2014/03/18(火) 00:52:35.66 ID:UNZ9NEJP
>>836は無かったことにしてください。
独自クラスはBlockSetなんですね。でもファイル名をBlockSet.javaにしないと。

class BlockSetがメンバ変数としてblock_a、block_bを持つのはおかしいんじゃないかな。

BlockCore.javaの方で
block_a = new BlockSet(1000, Material.rock);
block_b = new BlockSet(1001, Material.rock);
として、BlockSetのコンストラクタを2回呼び出す。

BlockSetのコンストラクタはif文で切り替える。
public class BlockSet extends Block
{
 int id;
 public BlockSet(int par1, Material par2Material)
 {
  id = par1; // idを保存しておいて他のメソッドでもifで切り替える
  super(par1, par2Material);
  this.setCreativeTab(CreativeTabs.tabBlock);//クリエイティブタブの選択
  if( par1 == 1000) // idで切り替え
   this.setUnlocalizedName("blockSample_a"); //システム名の設定
  else
   this.setUnlocalizedName("blockSample_b");
(中略)
 public int idDropped(int metadata, Random rand, int fortune)
 {
  if( id == 1000) // 保存しておいたidを使ってここでも切り替え

838 :名無しさんの野望:2014/03/18(火) 01:01:50.54 ID:aEe3nJT0
メタじゃダメなん?

BlockCore.javaの方で
block_a = new BlockSet(1000, Material.rock)setUnlocalizedName("blockSample_a");
block_b = new BlockSet(1001, Material.rock).setUnlocalizedName("blockSample_b");
とかはBlockSetでやってないからダメか

839 :836:2014/03/18(火) 01:04:13.68 ID:UNZ9NEJP
私も教えてください。

forge-1.6.4-9.11.1.965-srcにおいて、デコンパイルする方法を教えてください。
とりあえずの目標はMOD(ID Checker)のソースを読むことです。
個別classファイルをデコンパイルするツールはあるらしいのですが、
forge+mcpの環境においてデコンパイル←→リコンパイルできるようになれば
動作確認もしやすくて良いかな、と。

forge-1.6.4-9.11.1.965-src.zipを展開してinstallを実行。
直後に(MOD等導入せず)decompile.batを実行しても
大量のエラーを吐きます。どこを直せばよいでしょうか?

エラーメッセージはこちらの末尾にリンクを張りました。
http://nishina2525.cocolog-nifty.com/blog/2014/03/minecraft-mo-10.html

840 :名無しさんの野望:2014/03/18(火) 01:57:14.84 ID:uVUIIXJp
難読化されたままでいいならjd-guiとかでいいと思うが、名前戻したいならわからん

841 :名無しさんの野望:2014/03/18(火) 02:03:26.17 ID:DJr1ipan
>>836回答thxです。長文失礼します
Block.javaは素でネーミングミスしました
既存クラス書き換える気は毛頭ないです申し訳ない

最初は同じくifを使うその切り替え式アプローチで試していたのですが
エラー(文法エラーではなくテストプレイのクライアントがMOJANG画面後に落ちる)が出ました

素人考えで予想するにはどうも「this.set○○」で「this」を使っている為にどちらのブロックも
BlockSampleに対し重複して情報がセットされている気もします
もしくはthisは問題なく私が別の場所でミスしている可能性も大いにあり得るのが何とも

他に自分で書いていて怪しく思ったのは「if(par1==1000)」のID比較部分です
最終的には私も数値で比較する事で妥協している状態に落ち着いているのですが
当初は「if(par1==blockA_ID)」の様に比較してこれは流石に何かが違うと思い「if(par1.equals(blockA_ID))」で試した時、
「equals() を基本タイプ int で起動できません」というエラーが出ました。
(当然Coreのフィールドを確認しても「public static int blockA_ID = 1000;」でIntです)

842 :名無しさんの野望:2014/03/18(火) 02:06:47.31 ID:DJr1ipan
更新押してからレスすれば良かった……orz

843 :名無しさんの野望:2014/03/18(火) 03:39:44.09 ID:aEe3nJT0
目的の事はどれかで出来るはず
http://www1.axfc.net/u/3197138?key=sample

844 :834:2014/03/18(火) 11:23:35.23 ID:DJr1ipan
なんとか綺麗に纏める事が出来て解決しました

>>843もありがとうございます以後参考にさせてもらいます

845 :名無しさんの野望:2014/03/18(火) 21:39:49.51 ID:UNZ9NEJP
>>840
回答ありがとうございます。
ほかのアプローチを試します。

846 :名無しさんの野望:2014/03/19(水) 15:10:05.20 ID:aduUu6J7
>>845
どんなことをしてるのかわかればいい場合が大半のはずなので間に合うかなーと

847 :名無しさんの野望:2014/03/19(水) 18:30:47.19 ID:X3Ne3iJA
作物の上でジャンプすると小麦と種がドロップする仕様になってるけど、
それってどこで動いてるん?
BlockCropsみてもいまいち

848 :名無しさんの野望:2014/03/19(水) 18:51:23.75 ID:X3Ne3iJA
すいません自己解決しました。
BlockBushのgetPlantTypeなのね

849 :名無しさんの野望:2014/03/20(木) 00:30:21.97 ID:NtCf2qHn
forge-1.7.2-10.12.0.1034でMOD作ってリリースファイル作ろうとしたらエラー吐きやがった
誰か知恵を頼む

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':reobf'.
> MALFORMED

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug
option to get more log output.

BUILD FAILED

Total time: 8.747 secs

850 :名無しさんの野望:2014/03/20(木) 07:53:56.15 ID:dZ5WHvrb
下のオプションつけてみろって試した?

851 :名無しさんの野望:2014/03/20(木) 12:33:27.77 ID:NtCf2qHn
どうやらjp_JPに反応してたみたいです
_が_だったのが原因でした

852 :名無しさんの野望:2014/03/21(金) 04:57:37.60 ID:fvYDHOXr
細かいけど ja_JP な

853 :名無しさんの野望:2014/03/22(土) 01:17:29.49 ID:uvpMU5OC
これから環境整えてお勉強しようと思ってるんですが、
1.6.か1.7.どちらがいいのでしょうか

854 :名無しさんの野望:2014/03/22(土) 04:54:27.02 ID:AGK65atQ
>>853
しばらく1.6で留まろうとしてたけどAE2が来て事情が変わったわ

  1 . 7  は じ ま っ た な

855 :名無しさんの野望:2014/03/22(土) 09:44:44.61 ID:RkuKnqBu
勉強に使うなら1.6のほうが情報多いからいいかも
でも、Forge1.6にあったModLoaderの名残が1.7.2で無くなってたりしてて
情報の見極めは必要かもなぁ

856 :名無しさんの野望:2014/03/22(土) 11:57:52.94 ID:uvpMU5OC
>>854
>>855
ありがとうございます
とりあえず1.6で始めて、
情報が増えるにあわせて1.7にうつることにします

857 :名無しさんの野望:2014/03/22(土) 22:08:03.75 ID:t14FElyq
TileEntityを勉強中でBlockNote.java、TileEntityNote.javaあたりを読んでいます。
2つ質問させてください。

1. BlockNote.onBlockClickedで直接音を鳴らさないのはなぜでしょうか?
TileEntityNote.triggerNoteでいったんWorld.addBlockEventを呼び、
BlockNote.onBlockEventReceivedで受け取ってから音を鳴らすことに、
何か意味があるのでしょうか。

2, TileEntityの内容をセーブするにはどうしたらよいですか?
NBTTagCompound.setIntegerとNBTTagCompound.getIntegerが
セーブロードをしてくれるのではないのでしょうか。
現状ではゲームを再起動するとTileEntityのフィールドが初期化されてしまいます。

現在のソースはこんな感じです。
http://nishina2525.cocolog-nifty.com/blog/2014/03/minecraft-mo-12.html

858 :名無しさんの野望:2014/03/25(火) 14:14:55.88 ID:i6lW/muK
Ebon mod、作者がオープンソースを明言しているのですが、ライセンスについての記述が見当たりません。
このような時はどのようなライセンスに準じてソースを使用すれば良いのでしょうか?

859 :名無しさんの野望:2014/03/25(火) 20:30:22.29 ID:/aBX22sm
>>857
2のほう
任意にデータ更新するときはonInventoryChangedを呼ぶ必要がった気が

860 :名無しさんの野望:2014/03/25(火) 21:10:31.66 ID:baz4nvUQ
>>858
本人に聞きゃあ良いのよ

861 :名無しさんの野望:2014/03/25(火) 23:15:42.08 ID:liEKeT2y
>>859

回答ありがとうございます。
試してみます。

862 :名無しさんの野望:2014/03/29(土) 01:52:13.94 ID:/2VuRqz2
質問させてください。
現在縦2ブロックの追加ブロックを作ろうとしています。
当たり判定や、視覚的には縦2ブロックのブロックの追加に成功したのですが、
ドアのように、上段を選択することが出来ません。
Javadocやソースを眺めていても、
それらしき関数を見つけられませんでした。

863 :名無しさんの野望:2014/03/30(日) 04:09:55.98 ID:CbVgkdN2
ドアは2ブロック分おいてることになってるはずだけど、そういうことじゃなければわからない

864 :名無しさんの野望:2014/03/30(日) 12:24:47.08 ID:IieZIVsv
>>863
ありがとうございます。
やりたいことが出来ました。

865 :名無しさんの野望:2014/04/09(水) 02:09:29.28 ID:+DIXjHop
質問失礼します。
乗り物系のentityを制作しているのですが、
そのentityを設置すると少しの間は表示されるのですが、
そのあとすぐに消えてしまいます。
調べてみるとその場所には一応そのentityの当たり判定はのこっているのですが、
表示がされていないのです。
わかる範囲では調べたのですが原因がわかりません。
もし分かる人がいればご教授をおねがいします。

866 :名無しさんの野望:2014/04/16(水) 16:39:29.64 ID:xbe2Vhiq
(旧版)IC2:純潔なIC2
IC2ex:魔の手に汚されたIC2
IC2+Greg:もはや悪堕ちしたIC2

867 :名無しさんの野望:2014/04/16(水) 16:40:50.32 ID:xbe2Vhiq
>>866TexModスレの誤爆失礼

868 :名無しさんの野望:2014/04/16(水) 19:32:01.39 ID:G/FN84go
くたばりな

869 :名無しさんの野望:2014/04/24(木) 00:28:09.16 ID:KLwbqDfL
以前ここで質問させてもらった者です。
あれから一応自己解決することができました。
失礼しました。

870 :名無しさんの野望:2014/04/26(土) 16:25:45.71 ID:kg06iS2E
いやいや、どこをどうやってどう解決したのか

871 :名無しさんの野望:2014/04/27(日) 00:38:05.12 ID:b0JVTwdB
互助会だからね

872 :名無しさんの野望:2014/04/27(日) 02:28:46.59 ID:taDXlRl1
どの書き込みかすらわからん

873 :名無しさんの野望:2014/04/28(月) 05:31:23.28 ID:Af5sJ8if
なんとかチュートリアルでブロックを追加する所まで出来ました。
作りたいブロックが一部だけ半透明のブロックなのですがどのように作れば良いかわかりません
埋め込み式のメーターのようにガラス張りで開いた穴の内部が見えるようにしたいです。
その内部が光源にできればなお良いのですが...
テクスチャで再現し、通常ブロックで作るのは難しそうでしたので質問させていただきます。比較的近いブロックはビーコンでしょうか? モデリングが必要ならばしようと思っています
http://i.imgur.com/vZtE0vt.jpg

874 :名無しさんの野望:2014/04/29(火) 17:55:06.34 ID:aYO9IZKY
マジで困ってます。誰か助けてください。
eclipseでコード書いて実行してみてうまくいったので、recompileのあとreobfuscate行い、
reobfファイルの中にきちんとクラスが出力でき、出力されたクラスを○○MOD.v,1.0.0/○○MOD/○○MODに置いて
zip化し、.minecraft/modsにぶちこんでマインクラフトを起動してみたんですが、
しばらくMojangの画面が出た後勝手に閉じてしまいそのままランチャーに戻ってしまうのを繰り返してしまいます。
クラッシュレポートは出てこないでそうなってしまうので、原因が全くわかりません。
どなたか解決策をご存知の方がおりましたらご教授願います。

875 :874:2014/04/29(火) 17:59:46.98 ID:aYO9IZKY
書き忘れました。
マインクラフトのバージョンは1.6.4でforgeのバージョンは9.11.1.953
レシピ追加のクラスを出力しました。

876 :名無しさんの野望:2014/04/29(火) 18:01:58.96 ID:NbiHOSFH
何故1.6.4最終安定板の965使ってないの?

877 :874:2014/04/29(火) 18:40:19.74 ID:aYO9IZKY
>>876
Forgeをダウンロードするときのダウンロードページを1.1〜1.6.4の
ページにしていましてその中の最新のものをダウンロードしていました
それが最終版だと勝手に思い込んでいました。

878 :名無しさんの野望:2014/04/29(火) 21:17:21.16 ID:4EFD8RJp
OptifineやFPS++のバージョンの兼ね合いで953メインの人も多いのではないだろうか

879 :名無しさんの野望:2014/04/30(水) 22:47:00.27 ID:tu2u+XFR
>>874
そもそも実環境にForge入ってるならクラッシュレポート表示されなくても
ForgeModLoader-client-x.logに出力されてるんじゃないの?

あと、大抵eclipseで動いたけど実環境で動かなかったの系は、
zip(jar)化したときにフォルダの階層間違えてる事が多いかな

880 :874:2014/04/30(水) 23:16:06.67 ID:lcgMuTlk
>>879
クラッシュレポート出力されていました。申し訳ありません。
○○.zip/○○/○○.classでレシピ追加のクラスを配置したのですがこれは間違いでしょうか?

881 :名無しさんの野望:2014/05/01(木) 00:01:47.14 ID:43c2R+/c
クラッシュレポートは?

882 :874:2014/05/01(木) 00:14:58.90 ID:bUzynAPi
>>881
長すぎて貼れません

883 :874:2014/05/01(木) 01:00:56.56 ID:bUzynAPi
フォルダの階層を見直してみたら解決しました!
本当にありがとうございます!

884 :名無しさんの野望:2014/05/02(金) 20:50:00.85 ID:LJrj2PiL
LittleMaidMobをどうにかしようと思って触ってたら
>>744>>762と同じ状態になったw
MMM_TextureManagerがdefaultTexturesを正常に読み出せてないっぽい?
リソースの配置が悪いんかなー

良いmodだし気前よくソース出してくれてるから
弄って遊んでみたいんだけど、難しいね

885 :名無しさんの野望:2014/05/04(日) 07:37:55.38 ID:c/CLxjSH
どうやったら戦闘が楽しくなるMODが作れるのか。
遠距離攻撃の充実?

886 :名無しさんの野望:2014/05/04(日) 10:15:59.31 ID:wnuKE2me
自分で面白いと思う戦闘があるゲームをパクって実装すればいいよ
基本の戦闘システム流用する限り武器防具増やしたところでどうしようもねぇ

887 :名無しさんの野望:2014/05/04(日) 21:10:57.04 ID:c/CLxjSH
確かにね。
左右後のダブルタップでドッジとか簡単に追加できそうだからやってみようかな。

1.7xのMCPなかなか出ないな。

888 :名無しさんの野望:2014/05/05(月) 17:22:54.58 ID:SB+CDSRi
...きゅーぶわーるど(小声)

889 :名無しさんの野望:2014/05/10(土) 01:13:08.18 ID:EZHaVh9t
質問いいですか

890 :名無しさんの野望:2014/05/10(土) 01:18:32.17 ID:5qtFDYuU
>>889
110レス待て

891 :名無しさんの野望:2014/05/10(土) 10:21:19.48 ID:EZHaVh9t
>>890 次スレまで?

892 :名無しさんの野望:2014/05/10(土) 13:02:42.82 ID:5qtFDYuU
ガチの質問かよ

893 :名無しさんの野望:2014/05/10(土) 15:16:56.26 ID:Mi36lt1W
結局ここ需要あるん?

894 :名無しさんの野望:2014/05/10(土) 15:57:18.19 ID:FIhQ3o8J
聞きたい内容がまとまるくらい理解が深まってたら
だいたい聞かなくても解るというのが世の常

逆に言うとこういうスレは、調べれば解ることでも
気軽に聞いてみるという使い方が正解のような気がする

895 :名無しさんの野望:2014/05/10(土) 16:09:17.44 ID:EZHaVh9t
今 1.6.4の環境を組んでるだけどEclipseの設定がうまくいかないんだ。
ここからどうすればいいかな?2ch-ita.net/upfiles/file12331.png

896 :名無しさんの野望:2014/05/10(土) 16:40:18.36 ID:FIhQ3o8J
>>895
よく解からんけど、JDKはインストールした?
Modding wikiはJDK6でやれって書いてあるけど俺はJDK7使ってる
→「JDK7」で検索

んで環境変数の設定はした?
→「JDK 環境変数 windows7」とかで検索

Forgeのinstall.cmd実行した時に
Download of minecraft_server.1.6.4.jar failed hash checkとかエラー文が出なかった?
→「forge-1.6.4-9.11.1.965 の開発環境構築について」で検索

Eclipseそのものの設定はする必要ないはず
ワークスペースの指定で「ほにゃらら\forge\mcp\eclipse」を入力すれば
あとはもう何もしなくてもテスト実行出来る環境のはずだよ

897 :名無しさんの野望:2014/05/10(土) 16:53:15.51 ID:EZHaVh9t
>>896
JDKは8入れた
環境変数もやった
Forgeはmodスレで教えてもらったから文字列変えたし
もしかしたら環境変数の設定が上手く行ってないのかJDKが7じゃなきゃダメなのかな

898 :名無しさんの野望:2014/05/10(土) 18:01:03.63 ID:FIhQ3o8J
>>897
ってかなんで1.6.3.jarなんて要求されてるんだろう
Forgeのソースforge-1.6.4-9.11.1.965-src.zipを使ってるなら
当然1.6.4.jarが要求されるはずだけど。

JDK8でも動くうとは思うけど詳しくは解からん。
それよりそもそもforgeのinstall.cmdで失敗してるように見える
965ならgradleは使わないでいいはずだし・・・

899 :名無しさんの野望:2014/05/10(土) 19:14:06.36 ID:EZHaVh9t
>>898 うーん どっかで手順間違えたのかな...
よく見落としたりするからな俺...

900 :名無しさんの野望:2014/05/10(土) 19:34:57.21 ID:FIhQ3o8J
forgeのソースがあるフォルダまでのPathに日本語名とかスペース入ってるとか
Windowsの権限管理とかでファイル生成が出来てないとか
zipの解凍ソフトが悪くてファイルが足りてないとか

Minecraftの普通のゲームランチャーで該当verの
プロファイルを作るとか要らなかったっけかな?

あとまあとにかくinstall.cmdのログなりで変なエラー出てないか確認するとか、
ダブルクリックで実行じゃなくてコマンドプロンプトから実行してきちんと見る
スクロールして見れないとかならinstall.cmd >log.txtとかで実行してファイルに落とす
(進行状況見えなくなるけど)

思いつくのはそんなもん

901 :名無しさんの野望:2014/05/10(土) 20:52:28.07 ID:EZHaVh9t
構築環境
OS Windows8.1 UP1
CPU i7-3770k

使用するもの
JDK 8u5
mpc 811
forge-1.6.4-9.11.1.965-src.zip
Eclipse 4.3


環境構築手順

1 JDK ダウンロード
2 JDKインストール 環境変数変更
3 MPC ダウンロード
4 MPC 解凍 展開
5 Forge ダウンロード
6 Forge 展開 一部文字列変更
7 install.cmd 実行 コマンドプロント確認
8 Eclipse実行
9 終了

こんな感じでもう一度やって見ます
多分環境変数とForgeあたりが原因だと思います

902 :名無しさんの野望:2014/05/10(土) 21:42:09.41 ID:FIhQ3o8J
ん?Forgeのinstallコマンドでmcpも勝手にダウンロードしてくれるから
自前でmpcダウンロードする必要ないよ
decompileもリソース配置もrecompileも全部Forgeがやってくれる

903 :名無しさんの野望:2014/05/10(土) 21:49:11.60 ID:wuMlT1RD
eclipseならforge-1.6.4-9.11.1.964のgradle使えばいい
forge gradle eclipse
でググればいくつか日本語の記事が出てくる
1.7向けはgradle必須になっているから今から慣れておいたほうがいいと思う
開発するmod毎にソースを分けられるから便利よ

904 :名無しさんの野望:2014/05/10(土) 22:43:57.20 ID:EZHaVh9t
>>902 MCPの自動ダウンロードできないみたいですよ

>>903 なるほど

905 :名無しさんの野望:2014/05/11(日) 00:28:55.29 ID:fMGR1cNd
Forge入れ直して見ました
http://imgur.com/KbdzfRo

906 :名無しさんの野望:2014/05/11(日) 00:36:01.36 ID:dIm2imGe
せめてスクショ撮れよw

907 :名無しさんの野望:2014/05/11(日) 00:50:17.15 ID:gCwNr/RA
スクショも取れないほどPCの基本操作怪しいってレベルだと
流石にMod作成に手を出すのは……という不安がある

908 :名無しさんの野望:2014/05/11(日) 00:56:00.12 ID:7pGqOTs2
珍しく伸びてると思ったら直撮り君か

909 :名無しさんの野望:2014/05/11(日) 00:58:33.14 ID:vx1CMqzd
リアル画面撮影久々に見たわw

910 :名無しさんの野望:2014/05/11(日) 01:02:12.19 ID:vx1CMqzd
人がいるみたいだからついでに俺も質問

1年くらい前によく紹介されてたJava Decompilerのサイト
http://java.decompiler.free.fr/
が403エラーで見られなくなってるんだけど、
代わりに使えるDecompilerって何かないだろうか

911 :名無しさんの野望:2014/05/11(日) 01:15:42.57 ID:kPdaKbz/
>>910
>>801

912 :名無しさんの野望:2014/05/11(日) 10:15:58.74 ID:WkAUxlPr
そろそろ次スレの季節だが次スレ要る?

913 :名無しさんの野望:2014/05/11(日) 19:06:59.27 ID:gCwNr/RA
次スレは欲しいな
>>2の1.6.4のチュートリアルがあるModdingWikiとかも最近更新されてない気がするし

914 :名無しさんの野望:2014/05/11(日) 19:23:41.86 ID:5GzkKfGB
もう50レスほど伸びたらその時もっかい考えりゃよくね

915 :名無しさんの野望:2014/05/11(日) 20:24:27.29 ID:WkAUxlPr
とりあえずテンプレをどうにかしないとな

916 :名無しさんの野望:2014/05/12(月) 02:21:01.29 ID:Rz9nRIQt
テンプレ作っても精々modding wikiのURL載せるくらいじゃないだろうか

ところでRendererLivingEntity.setRenderPassModel(ModelBase par1ModelBase)
って設定できるPassModelって具体的にどういう時に使われるの?

Sets the model to be used in the current render pass
(the first render pass is done after the primary model is rendered)
ってコメント付いてるけど意味がよくわかんない

917 :905:2014/05/17(土) 12:39:56.53 ID:+507qbU2
成功かな?
http://imgur.com/pOLfkok

918 :名無しさんの野望:2014/05/17(土) 13:18:16.79 ID:ti6whOpm
問題タブ見るたびにいつも思うんだが
EntityLivingBaseのpar2 = par2;って何なの

919 :名無しさんの野望:2014/05/17(土) 13:59:50.54 ID:ZmA77ERK
>>917
貼るときはこうするんだぜ
http://i.imgur.com/pOLfkok.png
後続の為に一体何で躓いて何で解決したのか書いてくれると為になる
どんな些細な問題でもいいからさ

ってかもうJava6は捨てていいよねえ、
Modderは率先してJava7移行してJava6ユーザーに
サポート切れてることを気づかせるべきのような

920 :名無しさんの野望:2014/05/17(土) 15:23:19.68 ID:+507qbU2
>>919
http://i.imgur.com/pOLfkok.png
この前から環境を組んでいたんだけど
エクリプスからマイクラ起動できなかったんだ
んで 原因がやっとわかった
エクリプスのワークスペースの指定をForge src内のMCPに
設定したらすんなりとできたってゆうわけよ

921 :名無しさんの野望:2014/05/23(金) 03:43:11.36 ID:7+cWUe+v
大方のMODが1.6.4で更新止まってるのってなんか理由あるの?

922 :名無しさんの野望:2014/05/23(金) 06:24:19.94 ID:g7YGJDLD
あるよ

923 :名無しさんの野望:2014/05/23(金) 06:32:59.78 ID:zI6zCYSh
主要なmodは殆ど1.7.2に移行してるんじゃない?
むしろ止まるのは1.6.4の更新かと

1.7.2が遅れてるのはLMMやGoG2なんかのEntity周りのコードが多いmodかな

924 :名無しさんの野望:2014/05/23(金) 13:59:06.70 ID:oqM/OBUf
1.8なんでまた遅れてるんだろ
modderはもうSSでの開発環境を作って対応作業終えてたりするんだろうか
何もしてないからそわそわしてしかたない

925 :名無しさんの野望:2014/05/25(日) 14:43:47.42 ID:77Bih/fy
Pixelmonを個人的に日本語化して遊びたくてソース覗いてるんだけど
やっぱり難しいな・・・

そういえばminecraftって、他の海外ゲームmodみたいに日本語化されてるものがほとんど無いよね?
本体は日本語対応してるのに、modの日本語化って難しいのかな?

926 :名無しさんの野望:2014/05/25(日) 15:18:35.82 ID:r0KeaBof
langファイルで日本語化すりゃいいんじゃねーの?
対応してないのがほとんどないってのはminecraftはmodの数多いから仕方ないんじゃね
それでも有名どころはなんだかんだで大体公式非公式合わせて日本語化されてるしな
そう難しいことじゃない

927 :名無しさんの野望:2014/05/25(日) 20:56:49.36 ID:e/NZY9dr
BCって日本語対応してたよね?

928 :S:2014/05/25(日) 22:54:00.70 ID:oGmgMfBg
>>925
LanguageRegistry.addName(〜, "・・・・");
こんな文があれば
LanguageRegistry.instance().addNameForObject(〜, "ja_JP", "・・・・");
こう書けばできるんだけど…
見当たらない…

langファイルがあれば、中身翻訳するだけなので簡単ですよー

>>926
langファイルがあるやつならそうですが、ないやつはそうとはいかないんですよ…

>>927
してますよー

929 :名無しさんの野望:2014/05/26(月) 02:07:53.92 ID:RNKLE3V3
langファイルが無いってsetUnlocalizedNameとかで
設定した文字列がそのまんま表示されてんのかな

930 :名無しさんの野望:2014/05/26(月) 03:20:11.49 ID:Y8dYfgDD
Forgeの機能を素直に使っているならLangファイル作ってあげれば適用される
LanguageRegistry.addName が無くても GameRegistry.registerItem又はregisterBlock を使っていれば言語ファイルでほぼ対応可能。
IDwakander で UnlocalizedName を調べればいい。

一番めんどくさいのはローカライズの部分を自分で実装しているmod。
これは本当にめんどくさい。

931 :名無しさんの野望:2014/05/26(月) 04:16:23.14 ID:Y8dYfgDD
あー訂正
ソースのほうで LanguageRegistry.addName している奴は無理くさい

>>928の通りにソースに日本語の記述を追加しないとあかんな。

932 :名無しさんの野望:2014/05/28(水) 12:18:43.74 ID:IAJktfUS
>>925
多分必要性が低いからじゃない?
俺も英語サッパリ分からないけど日本wikiあるから全く困らないな
ゲーム中も英文読む場面なんてAM2とかtinkerの本くらいしかないしな
しかも読まなくても遊ぶ上で不自由はないし

933 :名無しさんの野望:2014/05/29(木) 23:03:30.18 ID:nsDoS/QF
Player543のスキンが酷すぎる件について

http://i.imgur.com/waj88p5.jpg

934 :名無しさんの野望:2014/05/30(金) 14:40:02.53 ID:YoPfdmot
Player***の中にはいきりたってる奴もあるだろ
Mod作ってるときにたまに引く

935 :名無しさんの野望:2014/06/09(月) 16:52:50.19 ID:5tE7sXY1
http://hissi.org/read.php/game/20140609/RnpRWFNXamQ.html

936 :名無しさんの野望:2014/06/09(月) 23:19:58.40 ID:2hxbkKLX
質問させていただきます
FFMの化学肥料のレシピを追加するMODを作ろうと思っているんですがFFMのitemの参照先が分かりません…

937 :名無しさんの野望:2014/06/10(火) 21:47:05.89 ID:XTjCErj5
>>936
FFMは知らんけど、他modのアイテムのインスタンスを得るなら
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
Item a = GameRegistry.findItem(modId, name);
Block b = GameRegistry.findBlock(modId, name);
}
とかじゃないかな。
他modと連携考えたことないから、どういうのが一般的かはよく知らない。

938 :名無しさんの野望:2014/06/17(火) 06:46:56.03 ID:G5BvQ/n1
レシピ追加形MODを作ろうとしていてclassファイルをつくったあとどうしたらいいんですか?mcmod.infoとか色々要るようですけど

939 :名無しさんの野望:2014/06/17(火) 07:07:56.93 ID:CEWgMRRx
classのパッケージ階層に合わせてフォルダを作ってzipで圧縮する。
mcmod.infoは必ずしも必要ではなかったと思うけど、
他の適当なmodを解凍して真似するのが一番わかり易い。

940 :名無しさんの野望:2014/06/17(火) 18:06:03.90 ID:G5BvQ/n1
package net.minecraft.sec.mods;
の場合
MOD.zip/net/minecraft/sec/mods/.classですか?

941 :名無しさんの野望:2014/06/17(火) 21:36:51.95 ID:xyqdvCpq
水流って内部名称とかあったりする?
getBlockで水流があるかどうか取得したいんだけど、やっぱり水源のみ取得するべきなんだろうか

942 :名無しさんの野望:2014/06/17(火) 22:12:10.55 ID:fkOYAA7p
waterMovingのこと?

943 :名無しさんの野望:2014/06/18(水) 02:42:39.96 ID:4N9shyhQ
getBlockIDじゃなくてgetBlockって言ってるってことは1.7.2だから
Blocks.flowing_waterかな

ところで
world.getBlock(x, y, x).equals(Blocks.flowing_water)

world.getBlock(x, y, x) == Blocks.flowing_water
って処理速度的に差はあるんだろうか。
オブジェクトの比較は.equalsでやるもんだと思ってたけど
マイクラのソースん中でも普通に==で比較してるんだよね

944 :名無しさんの野望:2014/06/18(水) 02:43:45.47 ID:4N9shyhQ
なんだx, y , xって、x, y, zね

945 :名無しさんの野望:2014/06/18(水) 04:03:02.57 ID:Nkab35ZA
>>943
遅レスすまん、助かったよありがとう

郷に入っては郷に従えってことで == で比較するようにはしてるなぁ

946 :名無しさんの野望:2014/06/18(水) 04:29:54.24 ID:4N9shyhQ
world.getBlock(x, y, x)がnullだったらマズイってのもあるか・・・
値比較じゃなくてアドレス比較だから==でもOKとかそんな感じ?
よくわからん。

そんなことよりなんでBlock.getItemだけSide.CLIENTなのおおお
FoodStats.addStatsは指定ないのに
FoodStats.setFoodLevelはSide.CLIENTなのはなんでやねえええん
くそがーー

947 :名無しさんの野望:2014/06/18(水) 07:55:56.56 ID:XUl5TQQe
>>946
直ってないよ・・・

948 :名無しさんの野望:2014/06/20(金) 21:51:04.27 ID:oOL1rK94
メタデータがないブロックに対してメタデータを取得した場合って0かnullのどっちが返ってくるんだろう

949 :名無しさんの野望:2014/06/20(金) 22:20:12.93 ID:D1IAktQp
0

950 :おーまーいーがーつ:2014/06/22(日) 06:58:43.67 ID:TSo4qPMO
うおーー
できねー
なんでだー
コマンドプロントのgradlew setupDecompWorkspace --refresh-dependencies eclipse
がgreadlewは、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはパッチ ファイルとして認識されません。
とかでます
助けてー―――――――――――――――――――――――

951 :名無しさんの野望:2014/06/22(日) 08:59:33.72 ID:d0d+yQpd
いいからsageろ

952 :名無しさんの野望:2014/06/22(日) 09:39:35.11 ID:nBM+BfrX
gradlew.batがあるんだからそのメッセージが出る事はあり得ないんだけどな
ディレクトリの移動すら出来てないんじゃないだろうか

953 :名無しさんの野望:2014/06/22(日) 18:33:09.14 ID:Si9C0L1f
1.7.2 forge導入済みのmods list画面に表示される"Config" "Disabled"ボタンの"Disabled"が何故か赤文字で表示されるんだけど、何が影響してるのか、またその解決法わかる人いるだろうか

coremodsとして作れば仕様らしいけど、そういった手法使ってないから自分ではお手上げ状態なんだ

一応modとしては問題なく動くんだけど悔しすぎて仕事が手につかないよ

954 :名無しさんの野望:2014/06/23(月) 21:16:19.22 ID:D6k+Y51a
>>953
解決はしてないけどその後のことレスしとく
coremodじゃなくてもDisabledボタンが赤文字になる現象は1.7.2の他modでも確認出来たのでforgeの仕様っぽい

マルチ対応のmodが赤く表示されるんかな?もしかするとだけれども

955 :名無しさんの野望:2014/06/30(月) 07:58:08.66 ID:BDvsaT+9
次スレどうする?

956 :名無しさんの野望:2014/06/30(月) 08:16:20.14 ID:PNZsx8Pd
スレ進行は遅いけど需要がない訳じゃないしたてた方がいいんかな?

957 :名無しさんの野望:2014/06/30(月) 08:39:38.09 ID:BDvsaT+9
980辺りでいいかな?

958 :名無しさんの野望:2014/06/30(月) 16:16:00.05 ID:u4gJ228F
次スレ>>980ぐらいからで良さそうだな
テンプレは>>61で良いんじゃないだろうか
moddingスレだからツール・Plugin作成云々はいらんと思うけど

959 :名無しさんの野望:2014/06/30(月) 23:43:52.11 ID:h6APlS/l
>>958
情報集約的な意味でまとめてもいいんじゃないか?ツール作成の質問なんて少ないだろうが
コード読み込みとか解析とかするなら内部ツールも外部ツールもそんなに変わらんとは思う

960 :名無しさんの野望:2014/07/01(火) 01:12:04.13 ID:xAITfUzW
>>959
958はそれもmoddingに含まれるからわざわざ書かなくても良いんじゃねって意味じゃね?

961 :名無しさんの野望:2014/07/01(火) 08:38:27.66 ID:jnqxMl3o
>>960
確かにそうだな、余計な口出ししてすまんかった

962 :名無しさんの野望:2014/07/01(火) 22:45:46.08 ID:Z+7fBt18
MODを作る側にまわってみようと思って
http://www.nicovideo.jp/watch/sm23686893
を見ながらソース書いてたんだけど動画みたいにクライアント起動してもModが認識されずにMod数4のまま
これってmod認識させるために何か作業が必要なの?

963 :名無しさんの野望:2014/07/03(木) 04:13:00.24 ID:0CDcuJ/v
ぶったぎってすまん。14w27aでブロック関係の関数の仕様がまた大幅変更・・・めんどくせぇ
今まで
World.setBlock(int x, int y, int z, Block BlockId, int Meta, int flag)

使用例
 土の設置
 World.setBlock(x, y, z, Blocks.Dirt, 0, 2);

 ジャングルの木材の設置(メタ情報あり)
 World.setBlock(x, y, z, Blocks.Planks, Planks.Jungle.GetIndex(), 2);

14w27a
World.setBlock(int x, int y, int z, BlockData data, int flag)

使用例
 土の設置
 World.setBlock(x, y, z, Blocks.Dirt.ToData(), 2)

 ジャングルの木材の設置(メタ情報あり)
 World.setBlock(x, y, z, Blocks.Planks.ToData(Planks.Jungle.GetIndex()), 2)

964 :名無しさんの野望:2014/07/03(木) 12:24:04.32 ID:D2f69oRi
>>963
冗長なコードだなぁよく使うものなのに何でだろ
1.8までにもっと使いやすくならんかな

965 :名無しさんの野望:2014/07/03(木) 13:05:09.16 ID:SXN0CcId
idなくなったからメタデータに変更した、だけ?

966 :名無しさんの野望:2014/07/03(木) 15:42:18.92 ID:0CDcuJ/v
簡略化して便利にしたつもりだと思うんだが

 Blocks.Planks . ToData( <ジャングルのメタ番号> )
はできるが

 Blocks.FromID( <木材のID> )
 Blocks.FromName( <木材の名前> )
という関数はまだ存在するが

 Blocks.FromID( <木材のID> ) . ToData( <ジャングルのメタ番号> )
こういう使い方ができない

 Blocks.FromName( "jungle_planks" ) . ToData()
今後はこう書けよってことじゃないのかな

967 :名無しさんの野望:2014/07/09(水) 20:07:08.93 ID:yh4RdbKB
クリック処理でsetPositionでentityを動かしたいんだけど、NBTに登録した座標をsetPositionに値を渡す以外にやることってある?

NBTの値を渡すだけだと、entityが消えてなくなるんだ

968 :名無しさんの野望:2014/07/11(金) 07:02:41.82 ID:GUo7d6wa
1.7.10だとMCP使ったデコンパイルが出来ないのって俺だけ?
公式のnews欄にあったやつDLして使ったんだけど
librariestvtwitch-external-platform4.5
のコピーに失敗しましたって言われる(先に手動でコピーしといても同じ)
1.6.4の方は問題なく使えたんだけども

969 :名無しさんの野望:2014/07/13(日) 10:52:34.79 ID:whhXUL/G
>>968
1.7.10は少しいままでと違うみたい
どう違うかはわからないけどごめんね

970 :名無しさんの野望:2014/07/15(火) 14:27:24.25 ID:2jyk9BS8
1.7.7からシンボルが変わってるよ

971 :名無しさんの野望:2014/07/15(火) 17:08:02.94 ID:VCpCKffL
私もjavaの入門的にmoddingを始めた初心者なのですが、>>968と同じ状態です。
シンボルってなんでしょうか?説明の難しい語句ならば、検索用のワードだけでも教えていただければ幸いです。

972 :名無しさんの野望:2014/07/15(火) 19:53:22.46 ID:f6J7Fh4z
mc908だよね
realmsのバージョンちがいくらいしかひっかからなかったけど
ついでに他のModもデコンパイルしたらってこと?

973 :名無しさんの野望:2014/07/16(水) 04:11:58.99 ID:suvrFB0h
>>972
上の人は分かりませんが、私は完全バニラです
コピー出来ないって言われてるフォルダもたぶん同じです

974 :名無しさんの野望:2014/07/18(金) 11:28:04.13 ID:S70zP8uE
>>971
ネタか何かか?
ネットでJAVA調べながらってのも良いけど
何か初心者用の本買った方が良いぞ
classとかmethodとかしっかり書いてるのがいい
java シンボル
でググってみろよ

975 :名無しさんの野望:2014/07/23(水) 06:52:04.33 ID:8g1Sduol
マルチで全員にメッセージ送る方法ってこれしかないのしょうか?

ChatStyle cs=new ChatStyle();
cs.setColor(EnumChatFormatting.RED );
ChatComponentText cc=new ChatComponentText("test");
cc.setChatStyle(cs);

for (int i = 0 ,cnt=world.playerEntities.size(); i < cnt; i++) {
    EntityPlayer ep= (EntityPlayer)world.playerEntities.get(i);
    ep.addChatMessage(cc);
}

976 :名無しさんの野望:2014/07/23(水) 11:12:36.51 ID:Hf0UrA5g
>>975
各プレイヤーに同じチャットを出力するんならサーバー側で処理させるべきだと思うよ

977 :名無しさんの野望:2014/07/23(水) 12:31:56.32 ID:8g1Sduol
>>976
どうやればいいの?
if (!world.isRemote) {
}
の中に書いてるけど、これでいいのかな?

978 :名無しさんの野望:2014/07/23(水) 23:40:17.23 ID:Cx6dVEvd
Forge1180を入れて、
そのままデバッグ起動したら
最初から入ってるExampleModがMOD一覧ではDisabledになってる。

適当にレシピ追加するコードを入れたら、ゲーム中に追加レシピが反映されてた。
でもMOD一覧ではDisabledのまま。
これいったい何なんですか?

979 :名無しさんの野望:2014/07/24(木) 00:33:03.89 ID:c4NnY4Re
>>978
仕様っぽいよ、coremodsじゃなくても赤いままだし

多分だけれども今後のforgeの更新でDisabledボタンを押すとModの有効/無効を切り替えれるといった風にしたいんじゃないかな

980 :名無しさんの野望:2014/07/25(金) 23:26:05.54 ID:eva/sQou
開発サーバーにクライアントでつなぎに行ったらエラーで落ちるようになった
ソース全部削除してForgeのインストールからやっても落ちる・・・
原因がわかるかたいますか?

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 14/07/25 23:00
Description: Ticking screen

java.lang.NullPointerException: Ticking screen
at com.mojang.util.UUIDTypeAdapter.fromUUID(UUIDTypeAdapter.java:22)
at com.mojang.util.UUIDTypeAdapter.write(UUIDTypeAdapter.java:13)
at com.mojang.util.UUIDTypeAdapter.write(UUIDTypeAdapter.java:10)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:68)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:89)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:195)
at com.google.gson.Gson.toJson(Gson.java:593)
at com.google.gson.Gson.toJson(Gson.java:572)

981 :名無しさんの野望:2014/07/26(土) 00:46:21.09 ID:skl+Hro+
なんだこのエラーはwwww

[00:43:10] [main/ERROR] [FML]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[00:43:13] [main/ERROR] [FML]: The minecraft jar file:/C:/Users/kiruniku/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.0.1180/
forgeSrc-1.7.10-10.13.0.1180.jar!/net/minecraft/client/ClientBrandRetriever.class appears to be corrupt! There has been CRITICAL TAMPERING WITH MINECRAFT,
it is highly unlikely minecraft will work! STOP NOW, get a clean copy and try again!
[00:43:13] [main/ERROR] [FML]: FML has been ordered to ignore the invalid or missing minecraft certificate. This is very likely to cause a problem!
[00:43:13] [main/ERROR] [FML]: Technical information: ClientBrandRetriever was at jar:file:/C:/Users/kiruniku/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.0.1180/
forgeSrc-1.7.10-10.13.0.1180.jar!/net/minecraft/client/ClientBrandRetriever.class, there were 0 certificates for it
[00:43:13] [main/ERROR] [FML]: FML appears to be missing any signature data. This is not a good thing

982 :名無しさんの野望:2014/07/26(土) 02:31:42.12 ID:skl+Hro+
製品版だとログインできて
Forgeソース版だとログインできないってことは
やっぱ>>981 が原因か・・・

ということはForgeのバグかな

983 :名無しさんの野望:2014/07/26(土) 07:47:34.43 ID:IASeZNz+
そろそろ次スレをおねがい

984 :名無しさんの野望:2014/07/26(土) 08:03:56.65 ID:GzZUVcGt
テンプレは>>61

985 :名無しさんの野望:2014/07/26(土) 09:08:46.25 ID:TcDg2Gmb
だれかたてたか? ないならやってみるけど

986 :名無しさんの野望:2014/07/26(土) 09:13:42.48 ID:TcDg2Gmb
これでいいかい?
http://anago.2ch.net/test/read.cgi/game/1406333523/

307 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)