[Minecraft]mod作成専用スレ0.0.2
1 :
名無しさんの野望 :
2014/07/26(土) 09:12:03.56 ID:TcDg2Gmb
2 :
名無しさんの野望 :2014/07/26(土) 14:40:47.26 ID:Za55Lb/B
ありがとう
3 :
名無しさんの野望 :2014/08/03(日) 14:56:01.27 ID:zIi38zXW
いえいえ
4 :
名無しさんの野望 :2014/08/03(日) 20:43:38.54 ID:g2H2HcMn
スレタイ変えてみる?何かパッとしない気がする 例えば Minecraft mod作成専用スレ 2コンパイル目 みたいな とにかくMinecraftについてる[]は要らないと思う
5 :
名無しさんの野望 :2014/08/03(日) 21:58:52.15 ID:3zAmh9sT
6 :
名無しさんの野望 :2014/08/03(日) 22:45:31.51 ID:WJhKkZHp
最後の所少し変えて
ここはMod作成の為の情報交換や、初心者に対する支援を行うスレです
コード代理作成、Modの作成依頼場所ではありません
その様なレスにはテンプレに誘導してください
次スレは
>>950 が宣言して立ててください。立てられない場合は代理を指定
でどうでしょう
7 :
名無しさんの野望 :2014/08/03(日) 22:50:43.14 ID:KA81cVlQ
ModdingWikiのチュートリアルに期待してページ開くと空白ページだった時の悲壮感
8 :
名無しさんの野望 :2014/08/03(日) 23:04:24.71 ID:w2yFY7fd
次スレは何年後になるのやら・・・
9 :
名無しさんの野望 :2014/08/04(月) 15:52:08.80 ID:MhlTtLa/
初心者的な質問なんだけど... オリジナルピッケルを追加するとき Item jade_pickaxe = new Itempickaxe(); こう書けばいいのかな?でも、このままじゃ、エラーがでるから Item jade_pickaxe = new Item(); こう書いているんだけど... もしかして、エラーが出るのは他が原因なのか?
10 :
名無しさんの野望 :2014/08/04(月) 16:43:12.76 ID:J62BPQuo
>>9 ModdingWikiのチュートリアルくらい嫁
11 :
名無しさんの野望 :2014/08/04(月) 18:17:56.07 ID:Vv9ycd41
エラーでググれ キャストだろ 自分で調べて解決する癖つけろ
12 :
名無しさんの野望 :2014/08/04(月) 19:39:13.16 ID:40+5YE+d
>>10 >>11 したらさぁこのスレの存在意義がなくなるんじゃね?
>>9 すまんが俺にはわからない
じゃあレスするなというわけだが
13 :
名無しさんの野望 :2014/08/04(月) 22:07:43.07 ID:6pQlaWAr
ググっても出ないようなことを聞いても良いし、そもそも質問スレじゃないんだからmoddingに関する雑談するのがこのスレ
14 :
名無しさんの野望 :2014/08/04(月) 22:07:45.96 ID:JDsLQANk
質問は構わないと思うが、質問するなら他の人が分かるように書くべきだと思うよ 今回なら何のエラーかを書くだけでもぜんぜん違う エラーの見方がわからないなら、とりあえずエラー貼り付けてみて、どこ見ればいいのか聞けばいい あとJavaである以上、マインクラフトのエラーではなく、まずはJavaのエラーとして検索をするとヒントが得られやすいと思う
15 :
名無しさんの野望 :2014/08/06(水) 21:10:23.99 ID:WZoj5wC5
forge-1.6.4-9.11.1.965 の環境作って。
サーバとクライアントを立ち上げて。
接続行くと、
2014-08-06 20:14:47 [情報] [STDERR] java.io.IOException: Received string length longer than maximum allowed (24 > 16)
2014-08-06 20:14:47 [情報] [STDERR] at net.minecraft.network.packet.Packet.readString(Packet.java:219)
2014-08-06 20:14:47 [情報] [STDERR] at net.minecraft.network.packet.Packet2ClientProtocol.readPacketData(Packet2ClientProtocol.java:33)
2014-08-06 20:14:47 [情報] [STDERR] at net.minecraft.network.packet.Packet.readPacket(Packet.java:166)
2014-08-06 20:14:47 [情報] [STDERR] at net.minecraft.network.TcpConnection.readPacket(TcpConnection.java:325)
2014-08-06 20:14:47 [情報] [STDERR] at net.minecraft.network.TcpConnection.readNetworkPacket(TcpConnection.java:549)
2014-08-06 20:14:47 [情報] [STDERR] at net.minecraft.network.TcpReaderThread.run(TcpReaderThread.java:23)
なっちゃうの俺だけ?
バニラでも結構くり返し発生してるメジャーな問題みたいだけど解決策とかどうも見つからない。
何かやらないとダメなことをしてないのだろうか?
MODはForgeだけ。
2014-08-06 20:12:24 [情報] [ForgeModLoader] Forge Mod Loader has successfully loaded 3 mods
Eclipseでの起動設定はForgeの用意している奴。
username, session はClientの引数に追加済み。
(server.propertiesがonline-mode=falseだから認証は要らなさそうなのに何故かコケる)
関係ないが、いやあるのかも知れないが forge-1.6.4-9.11.1.965 のmc_versions.cfgのハッシュ値が古いとか。
http://forum.minecraftuser.jp/viewtopic.php?f=39&t=19303 ※ 正確にはMojangがバージョン上げずに更新したっぽいんで実は1.6.4って二種類あるのかも
その影響とかあったりする?
16 :
名無しさんの野望 :2014/08/06(水) 21:21:28.20 ID:WZoj5wC5
17 :
名無しさんの野望 :2014/08/08(金) 16:29:34.57 ID:JsmIjM36
おお、こんなスレあったのか 作成初心者の身としては助かる 前スレの962へ まあ、みてるかわからんが 俺もその動画見ながらはじめたがソコで一時詰んでた 動画コメントにあったのそのままただけど、 ○○.javaとかを入れてるパッケージを、forgeのsrc/mainのなかに入れると動くかもしれない .jarにするときは元の場所に戻すの忘れないでね ここから個人的な質問 試しに焼いた豚肉9個で作る肉ブロック追加してみたんだけど、レシピとかはちゃんと出来てるのにテクスチャがどうも読み込まれないんだ アイテム追加した時のテクスチャ配置みたいなフォルダ構成(assets.MODID.textures.blocks)にしたんだけども…やっぱり違うのかな? ファイル名は間違いないし拡張子もpngなんだが… 何処におけばいいかわからない? 1.7.2 forge10.12.1.1060 eclipseです 長くてすまんね
18 :
名無しさんの野望 :2014/08/08(金) 17:15:24.63 ID:zcmZvoBs
タイポしてないか確かめた?
19 :
名無しさんの野望 :2014/08/08(金) 17:50:36.02 ID:JsmIjM36
確かめた ファイル名は一致してるし、先の場所でいいのなら、そのフォルダ名も変な間違いは無いと思う その前に作ったlangパッケージは問題なく読み込めてるんだけどね…
20 :
名無しさんの野望 :2014/08/14(木) 02:42:35.23 ID:E/oQxY/P
21 :
名無しさんの野望 :2014/08/14(木) 12:59:39.99 ID:4oOwC/Io
1.7.10のMOD作成環境が作れない 一から書かれてるサイトとかないの?
22 :
名無しさんの野望 :2014/08/14(木) 13:22:47.77 ID:IyGi+PmQ
ある
23 :
名無しさんの野望 :2014/08/14(木) 15:40:57.02 ID:UBRCwdfX
>>21 MCPがエラーはく問題は結局解決してない
MCPのバージョン変わってなんか変わってるみたい
24 :
名無しさんの野望 :2014/08/14(木) 23:14:19.45 ID:sWKt9wQS
うーん?MCPがエラーって何?
インストール試したけど俺のところでは特に問題なさそう。
サーバもクライアントもEclipseから無事に起動。
サンプル含めて4Mod起動してると出てる。
・・・
でも何故か
クライアントからサーバに接続行くと
[23:11:24] [Server thread/INFO]: /127.0.0.1:52644 lost connection: Internal Exception: io.netty.handler.codec.DecoderException: java.io.IOException: The received string length is longer than maximum allowed (24 > 16)
またかっっっ俺のPC
>>15
25 :
名無しさんの野望 :2014/08/14(木) 23:17:29.83 ID:sWKt9wQS
26 :
名無しさんの野望 :2014/08/15(金) 00:19:11.13 ID:qiQw6y4n
>>24 前スレでも何人か言ってたような奴じゃない?
俺の環境では出ないからよくわからんけど
ていうか、プログラミングの端くれをやろうって人が英語読めないわけないでしょ
相手のことを侮って嫌味言うと煽りに見えるよ
27 :
名無しさんの野望 :2014/08/15(金) 00:40:30.02 ID:RpwKW3vE
28 :
名無しさんの野望 :2014/08/16(土) 22:23:05.76 ID:3sKbrYLe
1.7.10でレシピを追加するMODを作りたいんですがどこをimportすればいいんですか?
29 :
名無しさんの野望 :2014/08/16(土) 22:39:11.44 ID:3sKbrYLe
連レスごめんなさい 1.6.4の時はfml.〜みたいな感じでテキストファイルでソースを読めたと思うんですけど1.7.10だと見当たりません なくなってしまったのでしょうか ブロック名とかはどこで見れるのでしょうか?
30 :
名無しさんの野望 :2014/08/17(日) 02:57:49.05 ID:WMQcrldy
>>29 煽ってばかりだと単なる嫌な奴なのでたまには優しく答えよう。
自分でも確かめてなかったんで、間違ってたら恥ずかしいがどうせ便所の落書き。トリップもないし。
まず結論から
C:/Users/自分のPCアカウント/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.0.1205/forgeSrc-1.7.10-10.13.0.1205-sources.jar
がソレ。
例えばブロック名なら
net.minecraft.init.Blocks
レシピなら
net.minecraft.item.crafting.CraftingManager
なんてのは、以前の仕組みを見たことがあるなら余計なお世話か。
そして、探し方の解説。
Eclipse を例に出すけど、ソースを探すならまずは「宣言を開く」を使う。
ExampleMod.java がサンプルとしてあるじゃない。
そこのimportの先頭をみてみる。すると
import net.minecraft.init.Blocks;
とあるよね?
このBlocksをマウスで選択して右ボタンでメニューを開いて「宣言を開く」ってのを使う。
すると、net.minecraft.init.Blocks が開いて、関連付けられているソースが開かれる。
ここで、パッケージエクスプローラ上ではforgeSrc-1.7.10-10.13.0.1205.jar内のclassとなっている。
しかしこのjarの設定を見ると、上に書いたソースのjarが関連付けられているのが見れる。
31 :
名無しさんの野望 :2014/08/17(日) 03:08:32.80 ID:WMQcrldy
最後に嫌な奴モード。(アオリパースでいかにも上から目線でオノマトペはゴゴゴゴゴ) 「・・・ソースの辿り方も知らないのか。これで一歩進歩したな。精進しろよ。」 「何を偉そうに常識にすぎないこと高説たれてんだプ」
32 :
名無しさんの野望 :2014/08/17(日) 03:59:01.86 ID:WMQcrldy
もしかしなくても初心者も多いのか。 老婆心で(本当に)唐突に、調査に関わる常識的なEclipseの小技をひとつ。 意外とベテランでも知らなかったりする小技。 知っているとMOD作成に関わらず重宝する。 チラ裏に書け?ここがチラ裏。 調査したり修正したりした時にあちらこちらのソースを開くけど、 後になると「あれどこだっけな?」となり易い。 この開いたソースのグループを記憶して切り替える機能がある。 「ウィンドウ」-「ビューの表示」-「その他」。 で出たメニューダイアログで「Mylyn」-「タスク・リスト」。 このタスクをアクティブにしていた時、エディタで開いていた ソースを覚えてくれていて、後で切り替えできる。 タスクの登録の仕方は、新規タスクでリポジトリの選択はローカル。 タスク名は好きな様に指定して保存。 タスク・リストに表示されたタスク名の左の○をアクティブにすると● になり、切り替わる。
33 :
名無しさんの野望 :2014/08/17(日) 07:22:15.64 ID:r6dcnF4q
EclipseならCtrl+Shift+Oで自動インポートしたり Ctrl+左クリックでも宣言を開いたりできる
34 :
名無しさんの野望 :2014/08/17(日) 09:04:18.73 ID:/cU+/SHZ
煽り部分はいらんし、普通の口調で書いてくれたらいいのに
35 :
名無しさんの野望 :2014/08/17(日) 09:41:59.72 ID:VwCMzNzQ
昨日質問した者ですが知識不足ですみません 質問なんですが1.6.4で精錬レシピを追加するときにItem.アイテム名.ItemID,って打ってたんですが1.7.10からは Items.アイテム名.ItemIDと打ってもItemIDは解決できないってでて赤い波線が下に書かれるんですが変わってしまったのですか?
36 :
名無しさんの野望 :2014/08/17(日) 10:12:04.85 ID:r6dcnF4q
>>35 1.7からアイテムとブロックのIDはmod側で管理できなくなった
今確認出来ないんだが.itemID消せばいけるかな?
37 :
名無しさんの野望 :2014/08/17(日) 10:19:17.52 ID:VwCMzNzQ
>>36 ItemIDを消すとItemstackに波線が引かれます
38 :
名無しさんの野望 :2014/08/17(日) 10:29:17.89 ID:VwCMzNzQ
.ItemIDまで消したらうまくいけました!有難うございました!
39 :
名無しさんの野望 :2014/08/17(日) 13:20:14.47 ID:VwCMzNzQ
質問ばかりでごめんなさい eclipse上での実行はできたんですけど.javaを.classにコンパイルにするにはどうしたらいいんですか? 1.6.4だとbatファイルを起動するだけでしたよね?
40 :
名無しさんの野望 :2014/08/17(日) 14:25:30.75 ID:r6dcnF4q
41 :
名無しさんの野望 :2014/08/17(日) 14:29:09.05 ID:VwCMzNzQ
42 :
名無しさんの野望 :2014/08/17(日) 14:34:36.93 ID:r6dcnF4q
>>41 すまん、「導入手順」まで含めてurlになってるんだ
43 :
名無しさんの野望 :2014/08/17(日) 15:18:19.72 ID:VwCMzNzQ
44 :
名無しさんの野望 :2014/08/17(日) 20:49:14.83 ID:VwCMzNzQ
IC2のアドオンを作りたいんですがIC2のAPIをどこに置けばいいのでしょうか?バージョンは1.7.10です
45 :
名無しさんの野望 :2014/08/24(日) 12:56:38.66 ID:I0Ba/EPj
1.7.10Forgeでは既存のソースを弄る方法は無いの? とあるmodのアドオンを作りたいんだけどそのmodがバニラクラスの privateフィールドにアクセスしていてエラー吐いてテストプレイ出来なくて・・・ 1.6まではpublicに書き換えれば出来てたから開発中だけ弄れればそれでいいんだけど、 どうにか変更する方法または解決法はありませんかね?
46 :
名無しさんの野望 :2014/08/24(日) 14:21:28.03 ID:YS7//PI/
ソースは圧縮されてるから自分のソールとおなじとこに解凍して 参照設定からそのjarを外せばいけますよ ちょっと面倒くさいかもですけど
47 :
名無しさんの野望 :2014/08/24(日) 15:40:20.28 ID:I0Ba/EPj
48 :
名無しさんの野望 :2014/08/24(日) 22:24:18.58 ID:gx9p3nv9
TickEvent.PlayerTickEventが反応してくれない 普通にMinecraftForge.EVENT_BUS.registerすればいいんだよね?
49 :
名無しさんの野望 :2014/09/01(月) 21:54:16.07 ID:Dx+EvXvM
1.7.2でmodを作り始めたんですが 自作アイテムで普通のアイテムをクラフトするレシピを作ることは可能でしょうか たとえばオリジナルAをクラフトするとダイヤになるみたいな・・・ ダイヤを横に3つ並べてオリジナルAみたいなのはできるのですが よろしければ教えてください
50 :
名無しさんの野望 :2014/09/01(月) 22:06:04.31 ID:Dx+EvXvM
すいませんできました・・・
51 :
名無しさんの野望 :2014/09/02(火) 14:06:11.59 ID:HtyBV7Yo
1.8forgeどのくらいで出るんかな… 早く安定するように、あんまり変わってませんように祈らないと
52 :
名無しさんの野望 :2014/09/02(火) 18:32:48.76 ID:1Fg+NJWz
アイテムID使えないのと、ブロックのメタ値が無くなったのとか、いろいろあるから大変だと思うな
53 :
名無しさんの野望 :2014/09/03(水) 16:04:44.42 ID:YxjAVQ+r
かなり初歩的な事をお聞きしたいです 1.4.7のmodloaderでのmod開発環境を作りたいのですが、mcpの中のjarsの中に入れなければならないbinフォルダがありません。 旧ランチャー時代のバックアップがありましたが、中身は1.5の物でした。 modloaderで開発されたmodの追加パッチを作りたいので、1.4.7modloaderの開発環境がほしいのですが、現在でも可能なのでしょうか?
54 :
名無しさんの野望 :2014/09/05(金) 02:53:06.18 ID:1bclwUJs
ExcelとかWardみたいに 「できる!マインクラフトmod作成」みたいな本あったら売れないかなぁ・・・もう旬過ぎてるか 勉強したいとは思うが、何から手を付けていいのかド素人はさっぱりだ 専門書みたいなのがありゃな
55 :
名無しさんの野望 :2014/09/05(金) 03:01:15.76 ID:f0GwVTDy
「Ward」ってなんか違和感。Werdじゃなかったっけ
56 :
名無しさんの野望 :2014/09/05(金) 03:02:06.66 ID:ZHqNF/zc
Javaに関する本大量に出てるじゃん
57 :
名無しさんの野望 :2014/09/05(金) 03:03:05.82 ID:ZHqNF/zc
Wordだな
58 :
名無しさんの野望 :2014/09/05(金) 03:35:51.45 ID:1bclwUJs
間違えたんだよ!わざとだよ!ついだよ!
>>56 なんか分かりやすいのってあるかな?
さすがにmodの作り方が書いてあるわけじゃないだろうが
59 :
名無しさんの野望 :2014/09/05(金) 03:50:48.97 ID:ZHqNF/zc
このご時世ググりゃいろいろ出てくるからそれ見るってのも手だけどやっぱ書籍で纏まってるってのは それでそれで使い易いからなー 俺は取り敢えず「やさしいJava」っての買って、段々物足りなくなってきたから「Javaプログラミングパーフェクトマスター」を追加で買った あと開発環境用のeclipseの解説書も買った 俺もド素人だからド素人なりに考えて選んだけど開発歴長い人から見たらもっと分かりやすいのあるかもね 今思えば配列すら知らないで開発しようとしてたんだから笑っちゃうわ 取り敢えずこの参考書片手に1にあるModdingWikiを順番にチュートリアル進めてけばある程度どんなもんか分かるよ 後は非公式フォーラムで配布されてるModには結構ソースついてるの多いからそれ参考に弄りまわすとかかな
60 :
名無しさんの野望 :2014/09/05(金) 15:27:19.93 ID:Fe/2RtT/
基礎さえわかってれば辞書みたいな分厚い索引できるものがおすすめ ちょっと値段張るけど検索よか速いし、ずっと使えるし
61 :
名無しさんの野望 :2014/09/07(日) 00:42:14.13 ID:ZbLze69T
ラピスラズリからとあるモノを作りたくレシピを書いています 染料として dye、ダメージ値として4というのは分かりました、ですがそれをどう指定すればいいかが分かりません。 ちなみに1.7.10のMinecraftForgeです GameRegistry.addRecipe(new ItemStack(Blocks.dirt, 1), new Object[]{"X", 'X', Items.dye }); サンプルとしてラピスを1つ置いたら土が1つできるというのをつくろうとしたのですができず、 GameRegistry.addRecipe(new ItemStack(Items.dye, 1), new Object[]{"X", 'X', Blocks.dirt}); で確認してみたら、ダメージ値の設定されていないイカスミができました。 アイテム指定などでどのようにダメージ値のあるアイテムを指定できるのでしょうか。 調べ方が分からなかったので質問させていただきました。
62 :
名無しさんの野望 :2014/09/07(日) 00:51:34.76 ID:ZbLze69T
63 :
名無しさんの野望 :2014/09/09(火) 21:05:37.37 ID:BjV/M6/p
1.8での作る環境誰かまとめてくれないかな(チラっチラっ)
64 :
めがねさんの希望 :2014/09/09(火) 21:39:32.01 ID:4DplZ+ur
1.7でMod作ってて、ツール系なんだが、ツールにシルクタッチとかのエンチャントとかを付与できるようにするにはどうすればいいかな。 おすえてくれ!至急!
65 :
名無しさんの野望 :2014/09/10(水) 15:55:30.08 ID:QxDiNKwA
>>63 今はまだMCPの助けを借りずにやる事になるからおすすめしない
必然的にバニラMODになるから手軽ではないしね
どうしてもやりたいなら前スレの fernflower.jar でデコンパイルする方法を読めばいいよ
66 :
めがねさんの希望 :2014/09/10(水) 20:56:27.92 ID:uUXXA22y
おーしーえーてーくーれー
67 :
名無しさんの野望 :2014/09/13(土) 06:10:19.63 ID:spCY1kea
>>65 1.7.2で挫折したんだけどメアドさらしたら手順教えてくれるか?
68 :
名無しさんの野望 :2014/09/13(土) 08:10:18.45 ID:2t1siSl1
いや1.7.2は挫折とかじゃなくForgeあるのでは? なんか噛み合っていない気が
69 :
名無しさんの野望 :2014/09/13(土) 08:23:54.77 ID:TANzD/e3
多分1.7の開発環境を作るのが面倒になったからそのことだと思う 1.6はbatファイル起動するだけだったから
70 :
名無しさんの野望 :2014/09/13(土) 14:33:23.09 ID:spCY1kea
71 :
名無しさんの野望 :2014/09/13(土) 14:36:48.24 ID:TANzD/e3
72 :
名無しさんの野望 :2014/09/13(土) 21:45:49.42 ID:spCY1kea
73 :
名無しさんの野望 :2014/09/13(土) 21:49:31.28 ID:TANzD/e3
>>72 この中にInstall.batの作り方書いてた気がするけど違ったかな?
74 :
名無しさんの野望 :2014/09/14(日) 06:13:10.92 ID:q8nz8suy
>>73 なんか敷居高いんだよね・・・
javaはブラウザ程度しか作れないし
75 :
名無しさんの野望 :2014/09/14(日) 08:13:15.11 ID:Ag/Yqak4
76 :
名無しさんの野望 :2014/09/14(日) 17:32:16.29 ID:q8nz8suy
77 :
名無しさんの野望 :2014/09/14(日) 17:36:48.92 ID:q8nz8suy
>>73 すいません、pspのブラウザだと導入手順をリンクじゃなく文字と解釈してたみたい
78 :
名無しさんの野望 :2014/09/15(月) 19:25:09.62 ID:DAwE6PXR
インストールできてサンプルブロック追加をコピペしただけで Randomのとこでエラってる なにが変なんだろ
79 :
名無しさんの野望 :2014/09/15(月) 19:53:27.41 ID:PN/0UyDA
Randomのところが変なんだろ 開発環境もソースも書かれてないんじゃこれしか言えねーよ
80 :
名無しさんの野望 :2014/09/15(月) 20:02:55.53 ID:nsOCY3Ik
エラーのところクリックするじゃん? そうするとエラーの内容とどう直すか候補が出るじゃん? とりあえず一番上の修正をやってみるじゃん? 解決するじゃん?
81 :
名無しさんの野望 :2014/09/15(月) 21:10:04.46 ID:DAwE6PXR
82 :
名無しさんの野望 :2014/09/15(月) 21:17:26.12 ID:PN/0UyDA
開発環境書けってのはminecraftのバージョンとかforgeを元に開発してるならそのバージョンとかそういうこと言ってるのよ 自力で何がおかしいか分からないならeclipse入れとけ
83 :
名無しさんの野望 :2014/09/15(月) 21:21:39.54 ID:7SAbCOMr
Eclipseで開発してない初心者いるんかい 質問する前に整えるのは頭と環境だな
84 :
名無しさんの野望 :2014/09/16(火) 02:37:41.71 ID:PxO590a6
>>52 これマジかよ、誰かこのソース持ってない?
本当ならとんでもないことだなぁ
軽くパニックしそう
85 :
名無しさんの野望 :2014/09/16(火) 08:20:55.11 ID:zYjFCalX
メタデータは知らないけどアイテムIDがなくなったのは知ってる そろそろもだぴでもつくるかとか考えてたんじゃね
86 :
名無しさんの野望 :2014/09/16(火) 10:44:40.27 ID:OZdZA+a5
メタ値無くなってプロパティになった感じだよ でもまだ、以前のメタ値を「設定」するだけならさほど難しくないけど「取得」する手段はほぼ無くなった まだMCP来てないから関数名とかenum名は適当に付けたけどこんな感じだよ 1.7 丸石の階段を東向きに設置 World.SetBlock(x, y, z, 67, 1 , flag1, flag2); 1.8 丸石の設置 World.SetBlock(x, y, z, Block.cobblestone.Solid(), flag1, flag2); 1.8 丸石の階段を東向きに設置 World.SetBlock(x, y, z, Block.stone_stairs.Facing(directions.EAST) , flag1, flag2); 1.8 1.7以前のメタ値で設定する例(いずれ廃止される) World.SetBlock(x, y, z, Block.FromID(67).Meta(1) , flag1, flag2);
87 :
名無しさんの野望 :2014/09/16(火) 11:50:06.62 ID:PxO590a6
>>86 なるほどサンクス
割りと直感的なコードになるんだね
あとはMSがどう扱うかだなぁ
88 :
名無しさんの野望 :2014/09/18(木) 16:38:43.87 ID:9mT6YAIM
89 :
名無しさんの野望 :2014/09/18(木) 16:54:43.70 ID:omn/gBtB
>>88 関連スレを一括で強制移動する可能性があるから今は静観かな
コマンドって他プラットフォームでも使えるんだろうか、もし使えるならテンプレ改変が必要かもな
90 :
名無しさんの野望 :2014/09/19(金) 16:22:25.99 ID:S9HncjiK
>>89 移行時になかったんだからもうないだろ
もう既にあっちで難民出てるぞ
91 :
名無しさんの野望 :2014/09/22(月) 02:35:37.63 ID:bLsRBz/K
modding に挑戦しようと思い、色々とggって見たのですが、forgeを使ったものしかヒットしませんでした。 Forgeがまだ1.8に対応していないようなので、自力でどうにかしたいのですが、なにぶん初心者なもので、どのclassが何をしているのかも分かっていません その辺の事が説明してあるページなど教えていただけませんか?
92 :
名無しさんの野望 :2014/09/22(月) 03:09:33.36 ID:LCtdzpAb
解説ページなんて海外探してもまだそうそうないと思うよ 最新版でForgeに頼りたくないなら自分で全て解決出来ないとね 今後Forgeに移っていく予定なら物は試しに1.6か1.7からが良いんじゃないかな、初めてなら尚更
93 :
名無しさんの野望 :2014/09/22(月) 03:38:30.51 ID:bLsRBz/K
ありがとうございます。一旦ヴァージョンを下げて、慣れておきたいと思います。
94 :
名無しさんの野望 :2014/09/28(日) 02:14:40.80 ID:1RNqijio
MCPだけを使用して作成したMOD(jarファイルを解凍して導入するもの)をforge化する方法はないのでしょうか? modidファイルを色々弄っても認識してくれなくて・・・
95 :
名無しさんの野望 :2014/09/28(日) 13:34:42.24 ID:D/uXb0Nw
CoreMOD使ったらできるけど普通に作るより高度だったりするから簡単に説明できん
96 :
名無しさんの野望 :2014/09/28(日) 20:20:14.59 ID:1RNqijio
>>95 それでもそういう方法があるのですね!
いろいろ調べてみます!
97 :
名無しさんの野望 :2014/09/28(日) 22:29:32.26 ID:UxujCRKW
MODを作っているとclassファイルがどうしても増えてmodidも多くなってしまうのですが一個にまとめる方法はないでしょうか? メイン画面の(ModIdの数)MODSの数字を減らしたいんです
98 :
名無しさんの野望 :2014/09/29(月) 01:56:39.78 ID:ylKCkNrK
>>97 ファイル数減らすのはコードの書き方次第で何とでもなるけど、文面から見るに、.classで毎回modid変えてるってことかな?
そうだとしてレスするけど、modidはmod一つにつき一つが主だから、メインファイル以外では書く必要がないよ
99 :
名無しさんの野望 :2014/09/29(月) 15:43:59.75 ID:2A6H0KpG
>>98 つまり一つのファイルを除いて
@Mod(modid = "sample-mod-id", name = "sample-mod-name")
を短縮していいってことですか?
modCore.javaを作ってそこにmodidを書いて他のファイルにはmodidを書かなかったところmodidを書いてないファイルが機能しません(追加したアイテムが存在しない) modidを書く以外に別の文が必要なのでしょうか?
ごめん何が言いたいのかわからんわ
>>98 でメインファイル以外はmodIdは書かなくていいとあるのでメインファイルを作りそこにmodidを入力しましたがmodIdを書いてないファイルが機能しないんです
1.7.10で開発しようと思って環境整えたはいいものの、既存のコードがどこにあるのかと思ったらbuild>tmp>recompSrcに代わったのね リソースの置き場といいよくわからん仕様が多いなあ 拡張性か何かあるんだろうけども
>>102 >>98 だけど、javaの勉強から始めた方が良いよ
それぞれのメソッドがどんな役割をするのかぐらい学ぼうぜ
既存のレシピを使えなくする方法ってありますか?
あるよ
宜しければレシピの消し方を教えてくれないでしょうか?
クレクレはやめた方が・・・
109 :
名無しさんの野望 :2014/10/04(土) 14:25:18.76 ID:Ag9sfyWh
forge 1.7.10でmod作成をしようとしています。 mod作成する環境は整ったのですがwikiやMinecraft 非公式日本ユーザーフォーラムに記載されているのはverが違うためコピペして使っても作動しません。 レシピを作れるかどうか試したけどエラーが発生します。 package first; import net.minecraft.block.Block; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = "first", name = "first", version = "1.7.10") public class first{ public static Item theItem; public static Block fooBlock; @EventHandler public void Init(FMLInitializationEvent event) { GameRegistry.addRecipe(new ItemStack(Item.diamond), new Object[] {"XXX", " X ", "XXX", 'X', Item.coal}); } } GameRegistryのItem.diamondとItem.coalが「解決できないか、フィールドではありません」と表示されます。 プログラミングのことも、javaのこともよくわかりませんが、エラーの原因がわかる方いらっしゃいましたら教えてください forge-1.7.10-10.13.0.1180 とeclipseを使用してやっています。
GameRegistry.addRecipe( new ItemStack(Item.getItemFromBlock(Block.getBlockFromName("sand")), 4), new Object[]{ "X","X","X",'X', Block.getBlockFromName("dirt") }); 俺のサンプルをいじった残骸にはこう書いてあった 動くけどやり方あってるのかは知らない
111 :
名無しさんの野望 :2014/10/04(土) 14:42:55.74 ID:Ag9sfyWh
ありがとうございました。 無事作成することができそうです。
見た感じ全く解決してないと思うんだけどな
俺プログラミングとか全然できないんだがこれminecraft:sandやminecraft:dirtじゃなくていいん?
BASICじゃなくってjavaなのよ
115 :
名無しさんの野望 :2014/10/04(土) 22:26:51.55 ID:Ag9sfyWh
>>109 で質問した者ですけど、新規アイテム追加のコードの書き方がわかりません
またテクスチャは完成したのですがどこに配置すればいいか、名前はどうすればいいかなど6時間ぐらい格闘していますがわかりません。
Forge 6.5.0 Minecraft 1.4.6で説明しているサイトを参考にしながらやっていますがバージョンが違うのでフォルダなどがなかったりと、参考になりません。
forge-1.7.10での新規アイテム追加のコードを教えてください。
117 :
名無しさんの野望 :2014/10/05(日) 00:08:10.56 ID:bpoQ49Ss
コードありがとうございます。うまく作動しました。
しかし、テクスチャがうまくいきません。
テクスチャは、"assets/ドメイン名/textures/items/登録名"に置くこと。
と記載されているのですが、assetsフォルダの設置場所がわかりません。
.minecraftフォルダにはassetsフォルダがありますけど、minecraftを起動しているのはeclipseなのでよくわかりません。
@なにも導入されていないマインクラフトがある場所です。
C:User/ユーザー名/AppData/Roaming/.minecraft
AForge1.7.10がある場所です。
C:User/ユーザー名/AppData/Roaming/Minecraft/1.7.10modding/forge
↓forgeの中身です。
http://gyazo.com/fd1dd682278c8e8a62bfb161b4f1be89
118 :
名無しさんの野望 :2014/10/05(日) 01:34:19.19 ID:bpoQ49Ss
自己解決しました 汚してしまって申し訳ないです 私と同じように困ってる人のために書いておきます。 ↓ここです (Item)/src/main/resources/assets/<domain>/textures/items/テクスチャの名前.png
デバッグでテクスチャが表示されないけどどこに置くの? →/src/main/resources/assets/<domain>/textures/items/テクスチャの名前.png でしたってことかな? でもなんか勘違いしてるけど >.minecraftフォルダにはassetsフォルダがありますけど、 これは無い 普通はMODのjar自体にassetsフォルダ用意して入れておけば読み込まれる
テクスチャで思い出したけどコンフィグファイルってデバッグ時どこに置くんだろう・・・ 知ってる人がいれば教えてください
>120 1.5.2 だったら、 mcp\jars\config に置いてる。
初心者で申し訳ありません
Minecraft1.6.41をForge9.11.1.965のsrcを使ってデコンパイルしたものをEclipseで起動しようとした所、起動しませんでした
調べてみたところ、海外フォーラムがヒットしましたが、これといった解決法を見つける事が出来ませんでした
解決法がわかる方がおられましたら、教えていただければ幸いです
Javaのバージョンは1.8.0_20-b26
JDKはJava SE Development Kit 8 Update 20(64bit)です
起動時のログ
http://i.imgur.com/hVxph5I.png
ComputerCraftのアドオンのデバッグをしたいんだけど ビルドパスに追加するだけじゃ↓が出て起動すらしないみたい cpw.mods.fml.common.LoaderException: java.lang.NoSuchFieldError: field_151576_e 恐らく難読化関係のエラーだと思うんだけどどうすればいいの?
ある程度は手動で易読化しないと無理だと思う MCP Mapping Viewer使うといいんだけど、あれちょっと不具合が多くてなぁ net/minecraft/block/material field_151576_e -> rock
CodeChickenCoreのdev版入れてみるとか?
127 :
124 :2014/10/10(金) 02:19:55.38 ID:9AFQ81DJ
CodeChickenCore dev版入れたら上手く行った BONやらMCPやらで難読化解除はしてみたんだけどそれでもinvocationtargetexception吐いて修正方法も分からなかった すまん Chickenにこんな機能があるとは知らなかった 助かった サンクス
>>123 とりあえず、1.6.4はjava8だと動かない。
理由不明で動くこともあったけど、自分のは動かなくなった。
ランタイムはJava7に変更。(buildpathのlib)
129 :
名無しさんの野望 :2014/10/15(水) 07:46:28.27 ID:H/0BZOIV
mod作成完全初心者なのですが質問です。 古いバージョンで更新が止まってしまったmodを現行バージョンに対応させることは可能でしょうか。 具体的にいうと、初代ArsMagicaを1.7などで使えるようにすることは可能でしょうか。
そりゃあ出来ないことはないと思うが・・・
ソースの書き換えとか必要かな
なぜ出来ないと思ったのか疑問 MC側の新要素がmodと被ったら、取捨選択するぐらいしか頭使わないはず javaが初めてならまぁ頑張れ
134 :
130 :2014/10/18(土) 11:16:50.49 ID:ZH/wWmf9
ありがとうございます。 ちょっくら勉強してきます。
1.6.xから1.7.xはModLoader系APIの削除でわりと困難なものもあるけどな
136 :
名無しさんの野望 :2014/10/22(水) 01:31:15.46 ID:nGC6HRVB
>>123 亀かもしれないけど1.6.4 F965は
Server.jarのMD5が違うからforgeのインストールでエラーでて多分それが出てると思われ。俺がさっきまでそうだった。
解決方法は日本フォーラムの質問にあったはずだから確認して
ちょっと通りますよ…
一応、マイクラ板に引っ越す必要性も出てくるかもしれないので目を通していただけると幸い
-----------------------------
【告知】
自治スレからお邪魔します。
新設されたMinecraft板のローカルルールについて
各方面からご意見を頂き有難うございました。
このたび、草案がまとまったためご報告に参りました。
詳しくは自治スレの
>>578 をご覧ください
20141008★Minecraft板 自治スレッド(2)
http://wktk.2ch.net/test/read.cgi/minecraft/1412603114/578 この草案をもとに、皆様の最終的なご意見を賜りたく存じます。
問題点などを修正の上、10月25日(土)24時までを調整期間の目途として決定稿を作成し
運営板へ申請する予定です。
ご意見ご感想など、上記自治スレまでお寄せ頂ければ幸いです。
大変長らくお待たせしてしまい、申し訳ございません。
-----------------------------
FlansMod(4.7.0 for 1.7.10)の武器を使う敵MOBを追加するMODを作れないかなと、 色々試してみて、今現在、ItemStackクラスのuseItemRightClickで、FlansModの手榴弾をゾンビもどきに 投げさせる所までは出来たんだ。 だけど、ゾンビが手榴弾を投げている(投げ続けている)間、プレイヤーがFlansModの武器を使えなくなる。 これの原因が分かる人はいますか…? useItemRightClickに渡すEntityPlayerクラスは、新しいダミーの「EntityPlayer」生成して渡してるから、 アイテムを「使っている」のはダミーの「EntityPlayer」で、本体には干渉しないと思ったんだけど、 FlansMod特有の何か、原因があるんだろうか。 ちなみに、ゾンビが手榴弾を投げ続けている間も弓矢や剣はふつうに使える。
逆に、弓はスティーブと骨が撃ちあうことが出来るんだから、 弓を使用している処理と比較すればいいんじゃないだろうか? 投げるっていう点からはウイッチのポーション投げか。
>>139 スケルトン、その他のMOBはアイテムを「使っている」訳じゃない
スケルトンが持ってる弓はただの見た目で、直に矢を空間に召喚してる
ツール持った敵MOBの攻撃は?あれは同時に使用してるだろ?
クラスフィールドをスタティックにしてるとか? 違いますね初心者でごめんなさい
>>140 だから、だったら、直に手榴弾を空間に召喚することが、問題が
起こりづらいお手本となる実装方法だよね?
だから、それらと比較するのは正しい道筋ではないかな?
装備ではなくアイテムとして使用する点から、ウィッチのポーション 投げの実装方法を参考にすべきかも、という話も同様。 プレイヤーのアイテム使用処理と異なる実装方法だったなら、それを 真似て実装するのが一番の近道だよね。
手榴弾を召喚したい訳じゃなくて、手榴弾を「使わせたい」んだよね。 正確には、FlansModの火器を「使わせたい(useItemRightClick)」。 じゃないと、いちいち、弾を召喚してって実装しないといけないから面倒なんだ 卵を「使わせる(右クリック)」とかなら、何の制限もなく、使ってくれるんだけど、 FlansModは使った時(誰が、とかは問わず)に変なロックがかかってるくさい
竹modのアドオンを作ろうと思ってるんだけど 例えば味噌を調味料として使いたい場合とかはどうすればいいんでしょう? IDじゃ環境によって違うし。 あと、ちくわぶの材料に小麦粉を使うんだけど、他modに小麦粉があった場合互換性持たせるにはどうすればいいの?
いや、そのめんどくさい方法をとるのが正しい実装だって話をしてるんじゃないの?
>146 modによってはAPIが準備されてたり、鉱石辞書やら何やらの辞書に登録されてたりして それを使うっていう手も。 ちなみに自分は、アドオン作りたいmodのconfigからID読み取って使用って形とってます。
やっぱ鉱石辞書は便利だわ
1.6.4だと Configuration が CoreModの IClassTransformer 内で newできん・・・ 1.7.10ではいけるのにな・・・
追加した鉱石を生成したいのですがModdingWikiに書いてあるように public void generateSurface(World world, Random random, int chunkX, int chunkZ) { for(int i = 0; i < 5; i++) { int randomPosX = chunkX + random.nextInt(16); int randomPosY = random.nextInt(20); int randomPosZ = chunkZ + random.nextInt(16); (new WorldGenMinable(test.Oreblock, 2)).generate(world, random, randomPosX, randomPosY, randomPosZ); } } と書いたのですが生成されません Forge 10.13.2.1230です
>>152 ダメみたいです
@EventHandler
public void init2(FMLInitializationEvent event)
{
GameRegistry.registerWorldGenerator(new testOre(),10); //1.7.10
}
public class testOre implements IWorldGenerator {
@Override
public void generate(Random arg0, int arg1, int arg2, World arg3,IChunkProvider arg4, IChunkProvider arg5) {
switch(arg3.provider.dimensionId){
case 0 : over(arg3,arg0,arg1,arg2);break;
}
}
private void over(World world, Random rand, int xChunk, int zChunk) {
for(int i = 0;i < 50;i++){
int x = xChunk + rand.nextInt(16);
int z = zChunk + rand.nextInt(16);
int y = rand.nextInt(50 - 11) + 11;
(new WorldGenMinable(test.testOre, 3 ,40,Blocks.stone)).generate(world, rand, x, y, z);
}
}
}
>153 試に、 (new WorldGenMinable(test.testOre, 3 ,40,Blocks.stone)).generate(world, rand, x, y, z); の後に System.out.printlnを仕込んで、x,y,z の値取って、その場所に飛んでみるとか。 あと、すごく野暮な質問ですが、確認の際は、都度ワールドは作り直してますよね?
CodeChickenCoreを入れてデバッグをしようと思ったら他所のmodが動いてくれない と思ったらCodeChickenLibだけダウンロードして入れてたでござる Coreのほうのダウンロード場所が解り難いねん
core入れとけばlibは起動時に勝手にダウンロードしてくれるよね
Javaのおすすめの書籍はありますか?
159 :
名無しさんの野望 :2014/11/20(木) 18:02:38.38 ID:VIZCcnxv
1.7.10でブロックを追加しようと思ったのですが、C:\MCMOD\src\main\resourcesに assetフォルダが見当たりません。 テクスチャはどこに置いたらよいでしょうか?
どうもこうもresourcesフォルダ無い時点で環境構築に失敗してるんじゃないかな リソースを使わないmodは正常に動いてるの?
openblocksにあったエレベータを作ってるんだけど ブロック乗ってる時にシフトで下に降りて、ジャンプをすると上に上がる処理をしたい シフト下降はonEntityCollidedWithBlockを呼んでisSneakingで判定できたけど ジャンプの判定の仕方がわからん onFallenUponだと判定遅いからジャンプした瞬間がほしいんだけど、どうすればいいんでしょか
162 :
名無しさんの野望 :2014/11/21(金) 11:04:48.71 ID:9lVlGUiy
>>164 レシピの追加はできました。
もう一回環境入れなおしてみます
163 :
名無しさんの野望 :2014/11/21(金) 14:07:44.57 ID:9lVlGUiy
>>164 resourcesファイルはありますが、その中にmcmod.infoしかありません。
どうしたらよいでしょうか?「
165 :
名無しさんの野望 :2014/11/21(金) 14:47:30.67 ID:9lVlGUiy
参照できなかったリソースはブロックアイコン?アイテムアイコン?langファイル? 呼び出しはどのようにしたの?エラーは返ってくるの?
アンカーが未来過ぎ
使用環境 Windows7 64bit Java7Update71 Java8Update25 JavaSDK8Update25 MinecraftForge 1.7.2 10.12.2.1121 Eclipse 4.4 Luna gradlew tasks => gradlew setuoDevWorkspace => gradlew setupDecompWorkspace => gradlew eclipse を実行しファイルをすべて整え、いざ起動しようと思ったら、エラーを吐いて起動しないです・・・。 全部貼ると長いので、たぶんこれが問題じゃないかと思ったエラー文だけ。 「Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release」 いろいろ調べてみたのですが、有力な情報は見当たらず。 こんな場所で詰んでたらっていう話ですが、久しぶりにやろうと思って環境を整え直したらこの様です。 ちなみに1.7.10のForgeでは、起動はしますが終了した時に同じようなエラーを吐いています。 動作に影響はありませんでした。 別の問題があるのでしょうか・・・ もう全く分からない状態です
環境変数がごちゃごちゃになってそう とりあえず、Minecraftとjava8はめちゃくちゃ相性悪いから まずいったん全部アンインストールして 7の「JDK」だけ入れて起動してみて
多くの方に回答をいただけるかと思い、他サイトにも同じ内容の質問を投稿してしまいました。 今後はこのようなことがないようにします。 また、解決後に再度書き込もうと思います。
>>169 環境変数は1つのバージョンしか書いてないです
Java7, Java7-64bit, JDK7, JDK7-64bit だけにしても同じエラー吐きます
Eclipseからの起動は基本的には(変なことしてなければ)環境変数など関係無い。 buildpathのlibのjreの設定。
Java8をアンインストールしても解決しなかったのは、実行する時に勝手にEclipseフォルダにあるJava8を読み込んでしまっているようで、Java8の対応していないKeplerを使用したことで解決しました
・・・本人が解決したってのならいいかー ビルドパスにあるライブラリ。 実行時環境のJRE設定。 こいつらについてちゃんと理解しないと、Eclipseがどうコンパイルしてどう動かしているのかを理解できないので、じきにまた聞きに来る羽目になると予言しておこう。
>>174 実行編成のJREでJavaSE7とかあったので指定してみたのですがJava8で動作してたので関係ないのかなと思ってスルーしてました・・・
>>175 プロジェクトからの実行時にデバッグパースペクティブで実行プロセスのイメージパスも出る。
コンソールビューでもタイトルに出る。
本当に「Java8で動作してた」のか?という話。
きちんと実行プロセスを意識してるならいいんだけどね。
177 :
名無しさんの野望 :2014/11/25(火) 01:47:19.91 ID:pfiNnHqD
>>176 重要なエラー貼ってなかったですね・・・
[FML]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_20, running on Windows 7:amd64:6.1, installed at C:\Users\tarou\Desktop\Eclipse\Java-Luna\java\8
今はもう解決した話ですが、LunaでやるとこのようにJava8を参照しているようです 実行編成からJavaSE7にしても変わらなかったです
そんなわけないわ LunaでもJRE6の開発環境できてる
179 :
名無しさんの野望 :2014/11/25(火) 16:38:49.46 ID:pfiNnHqD
>179 build.gradle に sourceCompatibility = "1.7" targetCompatibility = "1.7" が入ってないとか gradlew.bat に set JAVA_HOME=C:\Java\jdk1.7.0_60 が入ってないとか
>>153 ですが
@EventHandler
public void init2(FMLInitializationEvent event)
{
GameRegistry.registerWorldGenerator(new testOre(),10);
}
public class testOre implements IWorldGenerator {
@Override
public void generate(Random arg0, int arg1, int arg2, World arg3,IChunkProvider arg4, IChunkProvider arg5) {
switch(arg3.provider.dimensionId){
case 0 : over(arg3,arg0,arg1,arg2);break;
}
}
private void over(World world, Random rand, int xChunk, int zChunk) {
for(int i = 0;i < 50;i++){
int x = xChunk + rand.nextInt(16);
int z = zChunk + rand.nextInt(16);
int y = rand.nextInt(50 - 11) + 11;
(new WorldGenMinable(test.testOre, 3 )).generate(world, rand, x, y, z);
}
}
}
と書いてみましたが生成されません
どこか間違えていると思うのですが自分ではわからないです
>181 ためしに、どこかにソース一式アップしてみては?
183 :
名無しさんの野望 :2014/11/26(水) 07:12:02.45 ID:Xp086+Rh
>>180 build.gradleにそのような文字は入っていませんでした
gradlew.batには「set JAVA_HOME=%JAVA_HOME:"=%」という文字が入っていましたが、元々環境変数からJAVA_HOMEは設定してあるので問題はないはずです。
build.gradleに設定が必要なのですか・・・?
modding wiki 読んでなかったのか
186 :
名無しさんの野望 :2014/11/26(水) 20:27:13.02 ID:Xp086+Rh
>>184 ほんとすみません。まだ対応してないだろうと思い続けて半年以上経ってました。
今度からはチラチラ覗くようにします・・・
1.8Forge来たみたいなのでEclipse環境に入れてみたけど、変わりすぎて対応する気力なくすな・・・ とりあえず単純なブロック追加だけ確認しようと思ったが、テクスチャの指定部分がみつからないw フォーラム覗いてくるか
テクスチャというかjson名の指定に変わったと思う
単純にテクスチャ画像を同梱するだけじゃなくて、json も含めないといけなくなった でもソースコード上はほとんど違いはないように見える ただ、ある程度のリソースパックの知識も必要になった分敷居があがったかもね
>185 init2メソッドの場所が悪い。 @EventHandler は基幹クラス外に置くとたぶん 別箇イベント登録しないと 走ら無さそうな気がするから (そもそも、基幹クラス外に置くと走らせる方法が無いのかもしれないけど、 そこら辺の仕組みはわかんない。) init2メソッドをmodCoreクラスに移動。 とりあえずそれで生成はされた。
植物(人参や小麦みたいなやつ)の追加について詳しく書いてあるサイトとかってないですかね? 1.7.10です
>>191 その人参や小麦のソースコードを見て真似ればいいかと
追加したブロックをエンダードラゴンに破壊させたくなくて public boolean canDragonDestroy(World world, int x, int y, int z) { return false; と書いたんだけど破壊された どうしたら破壊を防げる?
>103 色々つっこみたいけど とりあえずそれだけの情報だと何とも言えないし もしくは「俺はそれでできてるよ?」ともなる。
↑ 103 じゃなくて >193 宛て
うん、1.7.10の変換ソースが手元にあったんで*.javaでcanDragonDestroyをgrepしてみたけど見つからないな。 例えば存在するメソッドなら net\minecraft\block\Block.java(524): public boolean getBlocksMovement(IBlockAccess p_149655_1_, int p_149655_2_, int p_149655_3_, int p_149655_4_) ・・・ とか出てくれる。 オーバーライドするメソッドは正しい?
つらつらとEntityDragon見てみた。 BlockのcanEntityDestroyをオーバーライドして第五引数のEntityが DragonEntityのインスタンスだった場合にはfalseを返す、 とかすれば行けそうな気がする。(1.7.10)
198 :
名無しさんの野望 :2014/11/29(土) 17:12:08.20 ID:uhLh0+iZ
RenderManager.instanceがなくなっていたのですが RenderManagerのインスタンスが欲しい時はどこからとってくればいいのでしょうか?
199 :
名無しさんの野望 :2014/11/29(土) 17:24:19.13 ID:uhLh0+iZ
追記forge1.8です
>>198-199 Minecraft.getMinecraft().getRenderManager();
201 :
名無しさんの野望 :2014/11/29(土) 17:28:02.67 ID:uhLh0+iZ
>>173 遅レスだけどEclipse(Luna)のパッケージ・エクスプローラーのツリーの中に
「JRE システム・ライブラリー」って項目があるでしょ
その右側に[Java8]と表示されていればEclipseではJava8のライブラリが使われる
右クリックメニューからプロパティー開いてその中の代替JREをJava6にすれば
EclipseからJava6でデバッグできるよ
gradleの方は既に書かれている通り
既存のレシピや精錬レシピを消すにはどうしたらいいですか?
>203 remove vanilla recipes で動画検索すると、動画で丁寧に解説してくれてる。
1.7.2でwikiのとおり開発環境そろえようとしててinstall.bat実行するとbuild failedになってしまいます エスパーの方々解決策を教えてください
さすがにその情報だけだと何もアドバイスできないなー Win7Java7の環境で1.7.2の最新版を落としてきてInstall.bat作ってビルドしたけど無事におわったわ
開発環境のサバイバルモードでブロックが壊せないのは仕様かバグなのかな?(破壊後すぐにブロック復活する) 雑草やサトウキビなどは破壊できるが下を破壊しても上のブロックが存在し続ける Eclipseでやってるのだけど他の方どうです? 試したのは#1252,#1268
1268でやってみたけどそんな状況にならなかったからスペック不足とかかね
208です ならない人が居るって事は環境依存なのかな 実機のほうは問題ないだけに謎なのです
211 :
名無しさんの野望 :2014/12/15(月) 17:53:30.73 ID:f2nI/kGX
>>208 自分も同じこと起きた。forgeをアップデートしたら治ったけど・・・。
たしか1242ぐらいの時のお話。
単純にOSの権限だったりしてね
弓のソースをパクってガストの玉を出す弓のコードを書いたのですがガストの玉が自分の座標に召喚されるため自爆してしまいます クリエイティブモードデ試したらいろいろな方向に飛んで行ってしまいます ・自分の向いている方に飛ばす ・プレイヤーの座標から少し召喚位置をずらす この2つを実現するにはどうしたら良いでしょうか? 1.7.10
右クリックでエンダーパールを召喚してその先にワープするにはどのように書けばいいですか?
217 :
名無しさんの野望 :2015/01/01(木) 17:19:05.77 ID:ZbT8xWhx
初めてmodding環境整えたけど 殆どforgeがやってくれるんだな有り難いわ
右クリックでポーションエフェクトつけるツールを作りたいのですがどうすればいいでしょうか?
>>217 イベントのフック、
アイテム、ブロック、MOB、バイオーム、レシピ、etc... のリスト管理、
コンフィグの読み書き
逆にここまでやっちゃってるから、大きく変更を加えようとするとForgeが邪魔して困る
あとは手を加え過ぎで、バニラの仕様を変更してしまってたりする
エンダークリスタルをその場に召喚したいのにできない どうすればいいですか?
>216 エンダーパールのソースを読んで参考にしてみては? >219 onItemUse で 第2引数のEntityPlayerにaddPotionEffectとか。
>220 public boolean onItemUse(ItemStack p_77648_1_, EntityPlayer p_77648_2_, World p_77648_3_, int p_77648_4_, int p_77648_5_, int p_77648_6_, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { EntityEnderCrystal eec = new EntityEnderCrystal(p_77648_3_); eec.posX = p_77648_2_.posX; eec.posY = p_77648_2_.posY; eec.posZ = p_77648_2_.posZ; p_77648_3_.spawnEntityInWorld(eec); return true; } とかでどう?
>>222 すいません説明不足でした
弓のように引き絞るアクションの後エンダークリスタルを召喚したいんです
>223 イメージとしては、 弓みたいにためる動作した後にエンダークリスタルが射出されて飛んでく って感じかな? それだったら、まず 矢やらFireBallのクラスを参考にして モデルとレンダーを エンダークリスタルの物を使うEntityを準備して 弓の動作を参考にして、撃ち出される矢の部分を、↑で準備した飛ぶエンダークリスタルEntity にすればいけるかも。 ただ、エンダークリスタルってそもそも 下の土台まで含めて1個のエンティティだから そのままのモデルやレンダー使うと、弾としては「?」って感じになるかも。
>>224 別に飛んでいかなくてもいいんです
なんとなくアクションが欲しかっただけです
既存のエンダークリスタルをその場に設置するだけでいいんです
>225 それだったら、 ItemBowのソースを参考にして、 onPlayerStoppedUsingで >222 の処理をうまくさしこんじゃえばよいかも。
質問ばかりで申し訳ございません
>>222 で召喚したクリスタルに雪玉や矢を当てても爆発しません
どうしたら爆発するでしょうか?
>228 spawn する処理を !isRemote の中ですれば と思ったけど、確かにそれでも爆発しないですね・・・・・ (確認してみたところ、リログすれば 矢や雪当たるようにはなるんで、何らかで 同期取れてないっぽい……。) こちらは、どなたか他にわかる方いたら回答お願いしたいです。
>230 感謝。 posXに代入じゃなくて setPosしないといけなかったのか・・・・・。
public void onPlayerStoppedUsing(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer, int par4, int x, int y, int z, int side, float hitX, float hitY, float hitZ) { if (!par2World.isRemote) { EntityEnderCrystal crystal = new EntityEnderCrystal(par2World); crystal.setPosition(x + 0.5D, y + 2.0D, z + 0.5D); par2World.spawnEntityInWorld(crystal); } } こう書いてみたんだけども召喚されません
マルチで殴ったプレイヤーにポーション効果をつけるにはどうしたら良いですかね?
>232 onItemUse だと、ほぼその処理で正常動作するけど…… onPlayerStoppedUsing は、テスト環境作るのちょっと面倒なので試せない。申し訳ない。 ためしにどっかにソースうpって見てもらうとかはいかがでしょ? >233 LivingAttackEvent か LivingHurtEventで addPotionEffect
>>234 LivingAttackEvent か LivingHurtEvent
をonLeftClickEntityの中に書くのですか?
>>235 ForgeのEventの受け取り方などについてはmodding wikiとか見て調べて
アイテムを右クリックしてそのプレイヤーに特定のアイテムを渡すにはどうしたら良いですか?
どのアイテムをどのプレイヤーがどうやって右クリックして、どのアイテムをどのプレイヤーのインベントリに突っ込みたいのか分からないです
>>238 食べ物を追加してその食べ物を食べると食べたプレイヤーにアイテムを渡したいんです
食べ物追加は終わりました
昔の知識だけど、食べ物のアイテムクラスはnet.minecraft.item.ItemFoodを継承してonFoodEatenメソッド内でどうにかすればよかった気がする
TileEntityのデータをコンテナ経由でGUIに送るとき途中でshort型に変換されるようなので 大きな値を使うことが出来なさそうですが、4バイト以上のデータを扱う時は皆さん パケットで送っているのでしょうか?
1.8ForgeでParticleを作っているのですが、 定義した動きはblockからspawnさせて綺麗に動いてくれているんですが 肝心のテクスチャってどうやって指定するんでしょうか・・・atlasspriteが画像なのかな
243 :
名無しさんの野望 :2015/01/17(土) 09:59:40.00 ID:6qix3NAP
1.8ならリソースにjsonに定義するんじゃないかな
初歩的な質問ですいません ゲーム内で変更可能な値(最後に右クリックしたブロック位置)を ゲーム再起動後に取得したい場合は、どのように値を保管すればいいのでしょうか?
ブロック単体だと描画できていたのに ブロックにタイルエンティティを付けたところ描画されなくなりました どうすればタイルエンティティをつけた状態で描画させられますか? バージョンは1.8です
>>244 コンフィグにでも突っ込めばいいんじゃないのかな
最近のForgeGradleの採用で、一般人にもソースコード投げつければ開発版を導入させられるようになって割と便利だな
1.8の開発環境の整え方がわからない
1.7と同じ方法でいける
エンティティー同士が衝突したときに呼ばれるメソッドまたはイベントってありませんか?
Forge1.8でゲームプレイ中に常駐するGUIを作りたいんだけど いいサンプルとかありませんか? 体力や満腹度を表示するような感じで
自身の情報を表示するだけなら単にプレイヤーのインスタンスを監視(フック)すればいいんじゃない? プレイヤーとかワールドに影響させるなら大変だろうけど。
255 :
名無しさんの野望 :2015/02/14(土) 22:25:40.93 ID:fUl3HeSS
作成依頼はスレチ?
//*ここはMod作成の為の情報交換や、初心者に対する支援を行うスレです。コードの代理作成依頼や、フォーラムのチュートリアル等を参照せずに質問することは止めてください。また、その様な書き込みがあった場合、丁寧にテンプレ参照を促すようお願いします。*//
>>1 に書いてある通りでっせ
>>254 ありがとうございます!チュートリアル等を見てもいまいち掴めなかったのですが
これで出来そうです。
1.7.10でバニラのソースを見る方法無かですかね
Eclipseでのデバック環境では画像やテクスチャを読み込んで表示できるけど 実際にコンパイルして実機に入れると画像を読み込まずに ピンク色で表示されてしまう・・なぜだ(´・ω・`)
まてよ、今のForgeってMCPいらないんだっけ?
入れた記憶が無い。
ああそうそう、
>>30 参照。
1.8.2のリリース来たが、デコンパイルすると雪だるまだらけ ☃<hehehe
263 :
名無しさんの野望 :2015/02/21(土) 17:37:27.77 ID:IccMa3XD
1.7.10でMODを作成してるのですがアイテム(棒)などを光らせたい場合どうやって書けばよろしいのでしょうか?
>>263 エンチャした道具のようなエフェクトが付けたいということなら
アイテムクラスのhasEffectでtrue返せばおk
266 :
名無しさんの野望 :2015/02/22(日) 02:02:44.76 ID:y+iBgibN
>>265 MOD作成初心者なので助かりましたありがとうございます。
267 :
名無しさんの野望 :2015/02/22(日) 04:47:41.48 ID:y+iBgibN
度々質問すみません 1.7.10で新しく作ったMODアイテムでクラフトしようとするとクラッシュしてしまうのですが 直し方がさっぱり分かりませんよろしければ助言の方お願いします、ソースはっときます public static Item Humanity; @EventHandler public void preInit(FMLPreInitializationEvent event) Humanity= new Item() .setCreativeTab(CreativeTabs.tabMaterials) .setUnlocalizedName("Humanity") .setTextureName("dark_souls:Humanity") .setFull3D() .setMaxStackSize(64); GameRegistry.registerItem(Humanity, "Humanity"); GameRegistry.addRecipe(new ItemStack(Humanity_twinty) new Object [] {"## ", '#',Humanity}); } public static Item Humanity_twins; @EventHandler public void preIntit(FMLInitializationEvent e) { Humanity_twins= new Item() .setCreativeTab(CreativeTabs.tabMaterials) .setUnlocalizedName("Humanity_twins") .setFull3D() .setTextureName("dark_souls:Humanity_twins") .setMaxStackSize(64); GameRegistry.registerItem(Humanity_twins, "Humanity_twins"); } }
>>267 ・preInitは二つもいらない
・先にアイテムの宣言や登録を済ませてからレシピを登録する
・変数名は基本ローワーキャメルケース(直接は関係無いが気になったので)
こんな感じでいけるかな?
public static Item humanity;
public static Item humanityTwins;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
humanity = new Item()
.setCreativeTab(CreativeTabs.tabMaterials)
.setUnlocalizedName("humanity")
.setTextureName("dark_souls:humanity")
.setFull3D()
.setMaxStackSize(64);
humanityTwins = new Item()
.setCreativeTab(CreativeTabs.tabMaterials)
.setUnlocalizedName("humanityTwins")
.setTextureName("dark_souls:humanity_twins")
.setFull3D()
.setMaxStackSize(64);
GameRegistry.registerItem(humanity, "humanity");
GameRegistry.registerItem(humanityTwins, "humanity_twins");
GameRegistry.addRecipe(new ItemStack(humanityTwins), new Object [] {"##", '#', humanity});
}
269 :
名無しさんの野望 :2015/02/22(日) 11:07:53.51 ID:y+iBgibN
>>268 凄いきれいにまとまってる・・・先に書かなければいけなかったのですね
ありがとうございます助かりました。
271 :
名無しさんの野望 :2015/02/27(金) 15:07:39.54 ID:7//QvWDI
食べたら毒などのマイナス効果のあるポーションを消しその後に+効果のあるポーションをつけたいのですが ソースの書き方がいまいちよく分からなくてよろしければ教えていただけないでしょうか?
1.7.10でブロック追加をやろうとしているのですが blockSample = new SampleBlock(); のSampleBlockに何を入れればいいのかがわかりません サンプルコードをみてもどこで指定してるのかさっぱりです public static Block blockAbc ならば blockAbc = AbcBlock(); ということでしょうか。 よろしければ教えて下さい
あれ、 net.minecraftforge.fml.common.registry.GameRegistry じゃなくて 1.7.10 だと cpw.mods.fml.common.registry.GameRegistry なのか? 1.2頃からmod作ってないから流儀が怪しい・・・
>>272 まずJavaを覚えよう
new クラス名() と書くと、そのクラスのインスタンスを新しく作る
という文書が分からないから調べて勉強して
277 :
名無しさんの野望 :2015/02/28(土) 21:45:59.20 ID:L5kX2ZJG
1.7.10のbuildcraftの木エンジンと木の伝導パイプが接続できるようになるMODを作ってほしいです お願いします
ところでもうじき2ch終わるけど、後はどうする? 1.したらば? 2.Googleグループ(mailing-list)に作る? 3.非公式フォーラム?
>281 CompcsItemCore.java の方が根本的におかしい気する。 というか GameRegistry.registerItem の位置がおかしい。 ちなみに、ツールとかの追加の日本語解説は、Modding wikiのリンクから行ける 某氏のサイトにあった気がする。
>>281 @Modがついてないのでmodとして認識されていない
@Modがついてるであろうブロックを追加してるクラスに統合するか、
CompcsItemCoreクラスにもつけて別modとして読み込ませればいいと思う
GameRegistry.registerItem() に関しては @EventHandler public void init(FMLInitializationEvent event) { } を作ってその中に入れたらいいんじゃない? つか、public CompSword(ToolMaterial compcs1) しかコンストラクタ無いじゃん。 参考にしているページでも public ItemModSword(String unlocalizedName, ToolMaterial material) とあるのに、もうちょっと落ち着け。 そしてCompcsSword1のインスタンス記録するのは間違い。 ここはEnumHelper.addToolMaterial()で作成した ToolMaterial を記録する。この場合compcs1ね。 サンプルでも public static ToolMaterial TUTORIAL = EnumHelper.addToolMaterial("TUTORIAL", 3, 1000, 15.0F, 4.0F, 30); とあるのに、もっともっと落ち着け。
>>280 終わるの?
仕組みがかわるだけじゃない?
なんだかんだapi取得してる人(の制作物)増えてきたし
287 :
名無しさんの野望 :2015/03/03(火) 13:15:24.60 ID:IvyGc93H
マイクラバージョン1.7.10でレコードの追加方法を教えていただけないでしょうか? バニラのソースを見てもいまいちよく分からなかったので・・・よろしくお願いします
MODってどの程度のjavaの知識あればコード組めるの? 田舎の本屋で売ってるペラペラなはじめて系のjava本くらいな知識で足りる? それともオライリーみたいなゴッツイの読み込まないと無理かな?
どんなプログラム書き始めるにしても、オライリーの方読んだほうが絶対いいと思う
>>288 自分でプログラム書くなら、自分の流儀で書けばいい。
入門書には「この順番なら理解できる」という程度のことしか書いてない。
でもMinecraftのMODを開発したいなら、
Minecraftの流儀に合わせないといけないからね。
私もアノテーションなんて初めて使ったよ。
>>281 もJavaの入門書1冊分くらいは理解してから来てくれってレベル。
>>289 オライリーは理解すべきことは書いてるけど、
理解できるようには書いてない。
プログラミング自体の初心者なら「java 入門」で検索したサイトでサンプルを拾ってくる。 そして、それを手直ししてみるのが一番の近道だったりする。 どこまで勉強すると言えば、少なくとも継承程度までは理解しないとブロックやらツールを作ることも不可能。 既存のブロックとかを継承して作る必要があるから。 あとは、ソース公開されているMODを拾ってくる。 そして、それを手直ししてみるのが一番の近道だったりする。 そもそも、まずビルドできるようにするだけでも初心者には歯ごたえがありすぎる問題だろうけどね。 オライリーとか要るのかな?投げ出すだけじゃね? あれって専門家かマニアくらいしか読まないと思う。赤CとかARMクラス。 入門書の二三冊読んだら、JDKドキュメントでいいんじゃ?(ただしJava7以降はトップページが糞)
ぶわっ、赤Cってぐぐっても出てこないし。 赤C == K&Rの「プログラミング言語C」で、ARM ==「注解 C++リファレンスマニュアル」。
俺はオライリーとかの内容ある本を読みながら、分からない部分は単語とかを頼りに調べつつ勉強するのが一番実になると思うけどなあ 自分がずっと作りながら理解する勉強の仕方でやってきたから、動くもんが作れたらいいやって感じの書き方になって能力が伸びない リファクタリングするにしても知識が断片的だからうまくやれないし 先に体系だった知識をつけてしまってからの方があとあと苦労が少ないと思う
いやオライリーの言語系の本だと
開発環境の整え方を書いてなかったりするじゃない。
それは最初に読む本としてどうなのよ。
>>288 がコンパイルを理解していない可能性もあるぞ。
詳細な本って、英語勉強するのにはまず辞書とか文法書とかを通読しろって言うのと同じじゃない? まずは何かしら達成したという成功感覚が無いとモチベーションが続かないだろなと。 何しろ、大抵の人はjavaが使えるようになりたいんじゃなくて、MODを作れるようになりたいわけだから。
C#とかは分かるけどjavaはさっぱりなんだよね。なにすりゃいいんだ
2冊読めって事だよ おんぶにだっこしてもらえる訳じゃないだろ
rubyは書けるけどjavaはワカンネw
javaの本って書店で流して読んでみたけど これじゃ無理だろ?みたいなハズレ本が多い・・ これ読んどけ二冊みたいのある?
・・・・・・・・そーっと つ Javaによるアルゴリズム事典 MOD作りにはほとんど関係無いがなw (駄目じゃん そもそもアルゴリズムなんで当然にOOPなんて投げ捨ててるけどな! んでも、自前で再実装するより格段に楽なので重宝。
C++、Delphi、perlやってきたけどJavaにまったく不満はない けど文字列の比較がC言語のstrcmp()と同じ仕様なのが唯一ダサいと思うわ
javaって鉄板本ないのか javaと言えばGOFデザパタみたいに有名なのあるけど 言語チュートリアル系な入門、中級に向けては玉石混交なのかなw
広く使われているせいで入門者といってもレベル差が半端ないから、書籍もレベルがバラバラで鉄板が存在しにくいんだよね
レベル差で言えばForgeのバイトコード書き換え部分、ソース追っても理解 できなかったりしたな・・・マジ黒魔術。
いきなりの質問失礼します 作業台のソースを参考にGUIを作ってみたのですが 生成されたアイテムをShift+左クリックで移動させようとすると キャンセルされて0スタックでその場に現れます。 この現象は左クリックで掴んで他のスロットにおいたタイミングでも起こるのですが この場合は確定ではなく時々成功します。 左クリックで掴んだ後もう一度クリックすると、今度はスタック数が倍になります。 何度も問題のある箇所をデバッグで探してみたのですが見つかりませんでした どなたかこのバグの解決法をご存知無いでしょうか
変数追って想定外の数値を どの時点で吐いてるか調べてみたら