約 3,112,826 件
https://w.atwiki.jp/illuminate/pages/485.html
コメント欄を追加。かつtestpageと全く同じページ構成ではテストにならないのでまっさらにしてみた。 -- 名無しさん 2013-04-06 16 58 42 このページは更新履歴からしか来れない? -- 名無しさん 2013-04-07 10 15 31 今のところそのようです。コメ欄や表、リンクとかを追加したり、元あった文章を消したのは私ですが、このページ自体を作ったのは別の人なので、どうしていいかわかんなくて。 -- 名無しさん 2013-04-07 10 44 31 というか自分以外の人、もっど言えばモッド作者さんなんかがせめて一つでも紹介を追加してくれてからぐらいでないとなんか、メニュー追加するのも恥ずかしい気がして気が引ける。 -- 追記 2013-04-07 10 46 14 とりあえずある程度判る範囲で追加しておきました -- 名無しさん 2013-04-07 15 21 50 改造(?)どうするのかわからん -- 名無しさん 2013-04-07 17 44 21 説明読んでもイマイチわからん -- 名無しさん 2013-04-07 17 44 39 MODスレ見てないのでここで著名や帝国の不運を知った。すげぇ助かった。 -- 名無しさん 2013-04-07 18 30 55 右メニューのデータのとこにリンク追加。 -- 名無しさん 2013-04-13 08 15 33 あとこれは意見になりますが、#regionで閉じられていると、アンカーがききません。アンカーを使うのか、regionで閉じるのかどちらか二者択一のようです。個人的にはシナリオ紹介部分に関しては上からアンカーで下に飛べるほうが便利だと思います。 -- 名無しさん 2013-04-13 08 23 39 確かに普段隠しているより一覧から目的のMODに飛べるほうが便利だと思いましたんで編集しました -- 名無しさん 2013-04-13 09 31 42 MOD新着RSSの項を消しました。"まだ"、このページには要らないなと思いましたので。もし、これから年月が経って、いろんな場所にMODがアップロードされるようになれば、その時RSSの項はすごい重宝されるでしょう。でもまだ今は小物入れが一つだけなので、このページは速報性を求められてないと思います。作った方すみませぬ。 -- 名無しさん 2013-04-14 06 04 50 新着RSSあった方が便利だったのに 特に問題ないのなら消す必要はないのでは -- 名無しさん 2013-04-14 13 31 28 @wikiのRSS引用機能の仕様を見たかんじ、一つのページのRSSを追いかけるためのものだと思ってつけておいたのですが… -- 名無しさん 2013-04-14 16 55 16 いろんな場所にMODがアップされた場合、いろんなRSSフィードをたくさん追記する必要がある、そういう仕様のwikiプラグインになっています。このwikiプラグインの仕様に関しては、速報性の有無とアップ場所の多寡との間に関連はないと思います。せめて#regionでくくっておくぐらいにしていただけませんか? -- 追記 2013-04-14 16 56 17 うーむ... -- 消した人 2013-04-14 20 40 02 みんながこのページに来る理由は、新着MODの速報を見るためじゃなくて、よくわからんMODとかいうものをわかりやすく知るために来てるんじゃないだろうか(推測)。MODの新着が気になるくらい、MODに親しんでいる人はこのページなんか見ないで直に小物入れに行くと思うんですね。(推測)だから、RSSの項はやっぱり必要ないと思うんです。 -- 消した人 2013-04-14 20 59 09 今はとりあえず#regionでくくりました。でも、一か月後ぐらいにもう一度この項を消すことを試させてください。その時に理解を得られれば除去したままにしたいです。 -- 消した人 2013-04-14 21 07 22 確かにそこよりも紹介内容にもっと労力を使ったほうが建設的な気がする -- 名無しさん 2013-04-14 22 37 29 編集いただきありがとうございました。紹介が作られてなくてもMODの存在が告知できるのは、新米作者にとってうれしいことではありませんか?また更新が頻繁にあるMODの場合、ダウンロードリンクの更新が追い付かないものですが、RSSリンクが応急処置になります。 -- 消した人へ 2013-04-14 23 24 01 あっても困らないものですし、せっかく作った物を消す必要はないんじゃないでしょうか RSSがあることによる問題ってあるんでしょうか?負荷的な物とか -- 名無しさん 2013-04-14 23 40 00 あのRSSの問題点は、小物入れの更新を読み込むだけにすぎないために、MODではないスクリーンショットなど、最悪の場合迷惑ファイルにすらリンクしてしまうことです。まぁ滅多にないと思いますがね。 -- 名無しさん 2013-04-14 23 53 31 ちょっと弄りました。見難いかなやっぱり 元の表?はコメントアウトで残してあるのでダメだこれってなったら戻しちゃってください -- 名無しさん 2013-04-15 15 17 08 MOD名、ダウンリンク、ユニット、クラス・・・、としたほうがいいとおもう。MODとリンクが離れすぎてて間違えそうになる。 -- 名無しさん 2013-04-15 16 23 05 記号の〇だと小さくなってしまうので、漢数字0である〇に変換 -- 名無しさん 2013-04-16 09 24 25 冒頭の”バグ報告・提案・感想・質問・要望などはこちらへどうぞ。”の”こちら”とはいったいどちらですか?ここのコメ欄なのか、MODスレなのか。 -- 名無しさん 2013-04-17 09 41 32 文章かrMODスレでしょ。 -- 名無しさん 2013-04-17 14 29 06 誤送信すまん。文章からしても実務的に考えてもMODスレでしょ。 -- 名無しさん 2013-04-17 14 30 12 まぁそうだろうなとおもいましたが、”そちら”と記すべきですよね。自分がつけたのでない文章が増えていると気になるものですね。 -- 名無しさん 2013-04-17 15 02 54 だいたいが、”バグ報告・提案・感想・質問・要望など”っていうのが長々しているから、”情報交換”と略したのに。 -- 名無しさん 2013-04-17 15 04 27 文言修正しました。 -- 名無しさん 2013-04-17 23 13 44 こんにちは、楽しくプレイさせて頂いております。人材追加MODを導入しすぎたのかランダムシナリオで中立勢力人材での選べる人材が制限されてしまいます。どうすればよいでしょうか?追加MOD:グラおっさん化、スキル・キャラ追加MOD、124MOD、色々・自己満足MOD、傭兵MOD、AlienMODです。 -- 名無しさん 2013-05-05 02 56 43 どうしたいのですか?ちなみに本体の仕様につき、人材選択欄の表示数は拡張できませんよ。 -- 名無しさん 2013-05-05 09 19 42 人材選択欄の者です。ご返答感謝。自分の好きな人材まで消えてしまっているので特定の人材だけ一覧に戻したいです(別の人材と入れ替え)。ちなみに放浪人材も制限されていたりするのでしょうか? -- 名無しさん 2013-05-05 14 09 03 人材の人数ではなく、表示数に限界があります。絶対に選ばないと考える人材の構造体にenable_select = offと加筆すれば、加筆された人材は人材プレイを選択できなくなります。ちょうどモブ人材と同じ扱いになります。その要領で何人か表示されないようにすれば消えてるように思われた人材が表示されるようになるはずです。 -- ↑へ 2013-05-05 16 38 39 また、MOD紹介ページの冒頭にあるように、こういった話題はMODスレで発言したほうが、より早くより正確な答えが期待できると思いますよ。同じような話題を目にしたことがあるような気がします。最近過疎気味ですし書き込みやすいですよ。 -- ↑へ 2013-05-05 16 41 25 人材船楽欄の者です。御丁寧な説明で分かりやすかったです。試しに一人やってみた所、見事一覧から消えていました!有難う御座いました! -- 名無しさん 2013-05-05 20 04 54 長らく失踪状態でした、submodの更新を断念しファイルを削除しておきましたがwikiの編集方法がわからないのでどなたか項目を削除してください -- ミニsubの人 2013-05-12 18 21 12 各MOD詳細について。横位置が中央揃いになってるとかえって見づらくない? -- 名無しさん 2013-05-19 23 59 22 スキル・キャラ追加MODの玉藻御前を雇用できるキャラ・人材がわかる方いませんか?わかるのであれば教えてほしいです -- エマヌエル 2013-11-17 11 07 38 ↑ 玉藻御前は魔族の仙人見習い。アルカとか真之とかそのほかです。 -- 名無しさん 2013-11-23 00 46 45 MOD作れる方にお願いがあるのですが、簡単にオリジナルキャラが作れる説明書的なのを作ってもらえないでしょうか?あると便利だと思うんです。 -- エマヌエル 2013-12-15 16 13 32 上の方へ。人材追加系MODそれ自体が教科書として使えるはずです。なぜなら、それらのMODの導入方法こそオリジナル人材の追加方法に他ならないからです。それでなくともオリキャラメイクスクリプトといったものだってあります。仮に既存のMOD類を調べた後もオリジナルキャラが作成を難しく感じるような方がいた場合、そうした方にむけた、スクリプトの説明書を記すのは至難の業と思われます。それほどまでに、オリジナルキャラの作成とMODの導入とは手順が似通っています。 -- 名無しさん 2013-12-19 01 06 34 えっとですね。調べてていない前提での質問だったのですが、調べた後でおおよそのところは分かったのですが、分からないところが二つに絞れました。一つは、参照したのが原作のページに書いてあった事でしかもいまいち分かりにくかった事 -- エマヌエル 2014-02-11 12 02 52 投稿ミスすみません。二つ目は、スキル設定のとき、スキルに対応した符号といいますか、そういったものがさっぱり分かりませんでした。上の人が例に挙げてくれていたMODに付属されていたものも見たのですが、一部欠けているスキルモアって全部は分かりませんでした。 -- エマヌエル 2014-02-11 12 07 22 そこでお願いがあるのですが、特定のキャラを例に挙げてどこをどうすればどうなるのかというのが分かるような説明書と、スキル設定の対応完全網羅の説明書の二つを作成してくれる人おりませんでしょうか?そのあたりが理解できれば後はなんとかなりそうだという人はたくさんいると思うんです。どうかよろしくお願いします。連コメ失礼しました。 -- エマヌエル 2014-02-11 12 12 36 スキルのスクリプト開いて探せばいいんでね? -- 名無しさん 2014-02-11 22 51 44 それでわかんない人はどうするんすかw -- エマヌエル 2014-02-12 05 39 01 「特定のキャラを例に挙げて」はいないものの、スクリプトの「どこをどうすればどうなるのかというのが分かるような説明書」はVTまとめWiki(光の目Wikiではない)の制作講座というところに完全なリファレンスがあります。 -- 名無しさん 2014-02-12 08 10 13 すみません、制作講座はいまいちわかりにくかったと指摘されてますね。そこは置いておくとして、スキルに対応した符号とは何を指しているのですか?スキル設定の対応完全網羅の説明とはどういう説明のことですか?あなたは新しい人材を作りたいようですが、そのために、大がかりなスキルにかんする説明書は必要ないはずです。新しいスキルをつくるわけでないのならですが。 -- 名無しさん 2014-02-12 08 17 55 まさか、「オルディネーレ銃」はmuskですよ…などということを調べたいわけではありませんよね? -- 名無しさん 2014-02-12 08 21 40 スキルに関してはそう認識していただいてかまいません。VTの制作講座は基本ステータスの部分は大まか分かったのですが、それより下の部分が、どう設定すればいいかさっぱりでした。それに基本ステータスの部分も、本当にそれであってるのかという気もしてきて正直よく分からずじまいだったってことですよ。なので特定のキャラを例に挙げて説明して欲しいと申したまでです。 -- エマヌエル 2014-02-12 19 00 52 基本ステータスとは?HPやMP、攻撃力などのことですか?申し訳ありませんが、あなたのほうがまず例を示しながら説明してくれなければ、何を言わんとするのか分かりにくいです。たとえば、人材「エマヌエル」に大剣スキルをつけたいのですが~~といった具合にわからない所を示していただけますか? -- 名無しさん 2014-02-12 22 40 07 基本ステータスというのはHPやMP、攻撃力などのことです。それらの設定は既存のキャラを見て真似をすればなんとかなります。問題は作ったキャラをゲーム上で動かす上で必要な設定全般とキャラに付与するスキルの設定です。私はオリジナルキャラに加えて、顔無し人材や新クラス、新一般兵ユニットと新勢力までを作ろうと考えていますが、それらを設定するのに膨大な量のスクリプトを編集しなくてはいけない上、知識も不足しています。なので、素人でも分かりやすいようなガイドが欲しいというわけです。 -- エマヌエル 2014-02-13 20 19 18 「作ったキャラをゲーム上で動かす上で必要な設定全般」とは具体的に言って、unit 構造体のどの項目ですか?能力値の設定さえあれば、キャラはほぼ完成のはずです。繰り返しになりますがより具体的に物事をおっしゃってください。手助けしづらいのです。また、膨大な量のスクリプトの編集はガイドの有無とは本来関係ありません。制作講座トップの「シナリオ作成の大まかな流れ」にあるような流れに沿って、少しずつ作るほかはないのです。 -- 名無しさん 2014-02-13 22 56 53 あの制作講座を読んで「いまいち分かりにくかった」となれば、ご自身が認めておられるように、知識不足です。もう少し制作講座とにらめっこするべきです。スクリプトのどこをどうすればどうなるというようなことは、ご自分で、「あそこをこうすればああなる」といった具合に確かめてください。もちろん制作講座のunit 構造体とclass構造体のページを読みながらです。 -- 名無しさん 2014-02-13 23 11 01 スキルに関しては、スクリプトのorskill.datを開いて、知りたいスキルの名前(銃とか真空切りなど、日本語で。nameではなくて)を検索すれば、スキルのnameが調べられるでしょう。見つからない場合、grep検索が可能なテキストエディタなどで、スクリプトフォルダ内全部を検索範囲にすればなにがしかの発見があります。私のいう意味が分からないならば、制作講座のskillの項を読みましょう。 -- 名無しさん 2014-02-13 23 19 55 色々追加MODと国策MODを入れている人に質問なのですが、オアスンのクローネ連邦王国を成立させるのに色々やってるのですがまったくうまくいきません。ネタバレもよんでみてやっては見ますが全然だめです。どうすればいいのでしょうか? -- 匿名 2014-02-15 11 38 48 MOD作成スレの方がここより詳しく教えてくれると思いますよ。 -- 名無しさん 2014-02-15 14 16 49 ありがとうございます。探していってきます!! -- 匿名 2014-02-16 19 16 14 色々追加MODに使われてる顔絵で気に入った奴があったので自シナで使おうと思い配布元を探したのですが探しても見つかりません。ちなみにジシュカの顔絵です。 -- 名無しさん 2014-02-20 08 56 50 MODの導入方法てどうしたらええんでしょうか? -- 名無しさん 2014-09-04 19 06 32 基本的にはMOD内の説明書やReadmeを読めば書いてある -- 名無しさん 2014-09-05 13 27 03 色々追加MODを導入したいのですが、現VerでのMod導入方法はどうすればいいのでしょうか? -- 名無しさん 2014-10-15 10 05 25 ↑動画にしたので、よければご覧になってください -- 名無しさん 2014-10-16 22 16 53 L\'emperor!!ってmodの導入が分かりません。分かる方がいれば教えてほしいです -- 名無しさん 2014-11-28 21 00 35 エデン強化+おまけMODのリンクを修正しておきました -- 名無しさん 2015-12-17 13 06 05 コーンウォリスSSが小物入れから消えてる模様 -- 名無しさん 2016-01-02 18 49 11 個人的にはいろいろ追加modと国策modを追加するのがおすすめ。 -- 名無しさん 2016-01-02 23 15 43 どなたか国策modの入れ方を教えてくださらないでしょうか -- 名無しさん 2016-02-02 18 52 39 ↑付属のreadmeファイルを見ましたか?その上で分からないところをしぼって質問してみてください。 -- 名無しさん 2016-02-24 02 48 51 帝国の不運を入れたらフロミスタ領の説明のところで真っ黒な画面の中で戦闘モードに入ってそのままになってしまったのだけどこれって何がダメなんだろう -- 名無しさん 2016-08-06 20 56 43 ↑スレで聞いてみては? -- 名無しさん 2016-08-07 10 19 56 imageViewってもう使えないのかよ -- 名無しさん 2017-02-19 18 40 10 国策modでクローネ連邦成立できました!面白かったです。記念 -- (名無しさん) 2018-01-10 00 56 36 国策modが消えた模様 -- (名無しさん) 2018-04-27 20 22 56 スキル・キャラ追加MOD+ver13.5.zipってスキル・キャラ追加MOD+ver18とは違うの? 単にverupされたんじゃなくて? -- (名無しさん) 2019-03-24 12 41 50 OriginalCharaMake内で指定されてるsystem.datが存在しない 現バージョン未対応なのか 名称変更可能性あり -- (名無しさん) 2021-11-24 10 43 53 約束の地と城壁modを導入した状態で起動しようとしたら、スクリプトテキストに構文エラーがあると言われて起動できなくなりました -- (名無しさん) 2023-08-29 06 38 29 ↑の者です。「ファイル名:光の目/script/内政/naisei.dat 行:3 構造体のタグ名が重複しています」というメッセージが出てきております -- (フリードリヒ) 2023-08-29 06 40 09
https://w.atwiki.jp/komachiserver/pages/24.html
クライアント許可MOD FML FPS++ optifine 影MOD Rei s Minimap 他書いてないのは大体許可してないです 書き忘れ、こういうのつかってもいいんじゃない? というのがありましたら管理までお願いします
https://w.atwiki.jp/sagyn/pages/34.html
○T10mod1 •仕様 TALONカーネルソースの最新版をSC-02Bで動くようにしたもの 11.12.30リリース カーネルはKF2ベース。ext4にも対応していて自動で変換される模様。 superuser,busyboxはマーケットから導入。 zramはsuperuserを導入後から反映 kyapaさんのGalaxy Sフォーラムにアップされています http //galaxy.anddo.net/phpBB3/viewtopic.php?f=2 t=101 sid=14ae664269b08227cadb1887aba47526 •不具合、仕様など 本体のデータが消えてしまうので、導入する人はバックアップを取ってから T9はスクリーンオフ時200MHzの設定でも動いていたが T10は画面消えた後、電源も落ちてしまう。 i9000をベースにしているため、導入時にパーティションを壊す場合がある? (ext4変換の時?)すんなりと導入できている人もいるので、個体差あり? 自動でext4コンバートされない場合あり?パーティションが合わないと変換してくれない? JJ1→KF2→903→T10と、JJ1→KF2→T10で再起動ループになった人が JJ1焼いてFR→KF2→KR17f3焼いて、付属のext4.apkでext4化→T10mod にて成功報告あり。 ↑kyapaさんが修正版(パーティション2種類違うもの)をアップ済み 12.01.03 zramで連続運用していると、使用メモリが増加していく不具合(?)あり。 増加してきたら再起動で対処。 •設定例 OC 1.12GHz UC 全部-25 swap 60 zram 672 Optimizer 無し で安定報告あり
https://w.atwiki.jp/akasatanahama/pages/21.html
概要 何の機能もない基本的なブロックを追加する。 ソースコード AluminiumMod.java package tutorial.aluminiummod; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; @Mod(modid = "AluminiumMod", name = "Aluminium Mod", version = "1.0.0") public class AluminiumMod { public static Item aluminium; //追加するブロックの宣言 public static Block blockAluminium; @EventHandler public void perInit(FMLPreInitializationEvent event) { aluminium = new Item() .setCreativeTab(CreativeTabs.tabMaterials) .setUnlocalizedName("aluminium") .setTextureName("aluminiummod aluminium"); GameRegistry.registerItem(aluminium, "aluminium"); //Blockを継承したクラスのインスタンスを生成し、代入する。 blockAluminium = new AluminiumBlock(Material.rock) //システム名の登録 .setBlockName("blockAluminium") //テクスチャ名の登録 .setBlockTextureName("aluminiummod aluminium_block"); //GameRegistryへの登録 GameRegistry.registerBlock(blockAluminium, "blockAluminium"); } } AluminiumBlock.java package tutorial.aluminiummod; import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; public class AluminiumBlock extends Block { public AluminiumBlock(Material material) { super(material); //クリエイティブタブの登録 this.setCreativeTab(CreativeTabs.tabBlock); //硬さの設定 this.setHardness(5.0F); //爆破耐性の設定 this.setResistance(10.0F); //ブロックの上を歩いた時の音を登録する。 this.setStepSound(Block.soundTypeMetal); //回収するのに必要なツールを設定する。 this.setHarvestLevel("pickaxe", 2); //明るさの設定 this.setLightLevel(0.0F); } } 解説 Block minecraftのブロックはすべてこのクラスを継承している。 modで追加するブロックもこのクラスを継承することになる。 コンストラクタ(Material material) そのブロックのマテリアルを設定する。 Materialにまとめれているので確認されたし。 Block setBlockName(String name) ブロックのシステム名を登録するメソッド。 Block setBlockTextureName(String name) ブロックのテクスチャを登録するメソッド。 アイテムと同様。 Block setCreativeTab(CreativeTabs tab) ブロックをクリエイティブタブに登録するメソッド。 アイテムと同様。 Block setHardness(float hardness) ブロックの硬さを設定する。 数値を上げると硬くなる。 黒曜石は50.0F。金・ラピスラズリ以外の圧縮ブロックが5.0F。net.minecraft.block.Blockを参照。 Block setResistance(float resistance) ブロックの爆破耐性を設定する。 数値を上げると耐えられる爆発力が高くなる。 黒曜石は2000.0F。圧縮ブロックは10.0F。こちらもnet.minecraft.block.Blockを参照。 Block setStepSound(StepSound sound) ブロックの上を歩いたり、破壊したりしたときになる音の種類を設定する。 void setHarvestLevel(String type, int level) typeで適正ツールの種類を指定、levelでレベルを指定する。 レベルは高いほど要求するツールが強力なものになる。 Block setLightLevel(float level) ブロックの光度を設定する。 ここで渡した値に15をかけたものが光源レベルになる。 0.0~1.0以外は無効。 GameRegistry Block registerBlock(Block block, String name) GameRegistryに追加ブロックを登録するメソッド。 使用例 オファレンブロックを追加する部分。 メタデータなどを使っている箇所は省略した。 +オファレンMOD OfalenModCore.java package nahama.ofalenmod; /*略*/ /**@author Akasata Nahama*/ @Mod(modid = OfalenModCore.MODID, name = OfalenModCore.MODNAME, version = OfalenModCore.VERSION) public class OfalenModCore { public static final String MODID = "OfalenMod"; public static final String MODNAME = "Ofalen Mod"; public static final String VERSION = "[1.7.10]1.0.0"; /*略*/ /**最初に行われる処理。アイテム・ブロックの追加などを行う*/ @EventHandler public void preInit(FMLPreInitializationEvent event) { /*略*/ //ブロックを設定するメソッドを実行 OfalenModBlockCore.registerBlock(); /*略*/ } /*略*/ } OfalenModBlockCore.java package nahama.ofalenmod.core; /*略*/ public class OfalenModBlockCore { /*略*/ public static Block blockOfalen; /*略*/ /**ブロックを設定する*/ public static void registerBlock () { /*略*/ blockOfalen = new OfalenBlock() .setBlockName("blockOfalen") .setBlockTextureName("ofalenmod ofalen_block-"); GameRegistry.registerBlock(blockOfalen, ItemOfalenBlock.class, "blockOfalen"); /*略*/ } } OfalenBlock.java package nahama.ofalenmod.block; /*略*/ public class OfalenBlock extends Block { /*略*/ public OfalenBlock() { super(Material.rock); this.setCreativeTab(OfalenModCore.tabOfalen); this.setHardness(7.5F); this.setResistance(15.0F); this.setStepSound(Block.soundTypeMetal); this.setLightLevel(1.0F); this.setHarvestLevel("pickaxe", 3); } /*略*/ } このままテストプレイをしてみると、テクスチャがない状態ではピンクと黒のデフォルトテクスチャになってしまう。 また、名前も、tile.blockAluminium.nameとなる。 これらの解決方法は次回。 コメント この項目に関する質問などをどうぞ。 アルミニウムモッドの時のブロック作成法はないのですか。 - # 2015-07-04 14 49 30 (7月2日までのこのページのソースコードがみたいです。) - # 2015-07-04 14 51 54 ご意見ありがとうございます。現在修正、もしくは併記予定です。 - Tom Kate 2015-07-05 12 22 45 併記する形で修正いたしました。 - Tom Kate 2015-07-05 13 27 24 とても見やすくなってよかったです。ありがとうございます。 - # 2015-07-05 14 46 28 ブロックの面によってテクスチャを変えるにはどうしたらよいのでしょうか - 名無しさん 2015-07-05 20 20 18 ご意見ありがとうございます。使えるメソッドのgetIcon と registerBlockIconsに追記いたしました。 - Tom Kate 2015-07-06 19 56 48 一時的に削除します。「メタデータを持つブロックの追加」で触れるよう修正する予定です。 - 赤砂蛇凪浜 2015-07-10 21 12 56 遅くなりましたが、修正が完了しました。 - 赤砂蛇凪浜 2015-07-23 12 35 35 申し訳ありません blockAluminium = new AluminiumBlock(Material.rock) の部分でなぜかいつもAluminiumBlockのところにエラーが付きますどうすればよいでしょうか?丸コピペしたソースコードを使ってもそうなります - 名無しさん 2015-09-19 15 28 50 クラッシュレポートをクラウドサービスか何かにおいていただいて、urlを送っていただくことはできますか? - Tom Kate 2015-09-19 15 59 11 クラッシュレポートを見せていただければ、こちらで対応いたします。 - Tom Kate 2015-09-19 15 59 49 net.minecraft.block.Blockを参照 と書かれているのですが、どうやって参照するのですか? - 名無しさん 2015-11-01 17 26 38 AluminiumBlock.javaをeclipse上で開き、...extends Block {...のBlockにカーソルを合わせてF3を押せば、Block.classを表示することができます。Blockにはバニラのブロックを追加している部分があるので、そこを見れば、バニラのブロックがどういう設定をされているかを知ることができます。 - 赤砂蛇凪浜 2015-11-04 19 23 57 ブロックを複数追加し、クリエイティブタブも参考にさせていただき作成できました。ですが、ブロック1、ブロック2と数を増やしていくとタブ内での並び順がバラバラになってしまいます。この場合どうすればよいのでしょうか? - 名無しさん 2016-03-05 20 30 20 forge側の不具合で、既存のワールドのクリエイティブタブにアイテム・ブロックを追加すると順序がばらばらになってしまいます。新しくワールドを作り直すと正しい順で表示されると思います。お試しください。 - 赤砂蛇凪浜 2016-03-06 09 15 21 返信ありがとうございます。ワールドを再生成しましたが直りませんでした。。何か設定し忘れているのでしょうか……。ブロックの並び順はブロックIDで決められているのですよね? - 名無しさん 2016-03-07 19 11 47 はい。ブロックIDはMOD側から指定することができないため、基本的にGameRegistryに登録した順ですね。 - 赤砂蛇凪浜 2016-03-07 20 38 17 多分、そこが自分は理解できてないと思うんです。登録順を並べるにはどうすればいいのでしょう?また、registerBlock(X, "Y");このXとYはどういう値にすればうまく並べれるのでしょうか。今は - 名無しさん 2016-03-07 21 40 26 (○○1, "1")、(○○2, "2")という感じになっています - 名無しさん 2016-03-07 21 41 41 おそらく、GameRegistry.registerBlockを呼び出した順だと思われます。 - 赤砂蛇凪浜 2016-03-08 21 37 25 呼び出し順を変える方法を教えて頂きたいです! - 名無しさん 2016-03-09 23 14 39 コード内で記述する順を変えるだけです。 - 赤砂蛇凪浜 2016-03-10 19 21 04 記述する順番はしっかりならべてるんだけどなぁ・・・。どうしても解決できません。。。メタブロックの追加だとうまく表示できたのでそちらに切り替えることにします。初心者に丁寧に教えていただいてありがとうございました!(涙) - 名無しさん 2016-03-13 20 55 45 基本的にできないことはわかっていることを前提として置いて質問します。何か裏技的な形でブロックid - anatawa12 2016-12-16 01 01 27 続き 裏技的な形でブロックidを指定することはできませんか? - anatawa12 2016-12-16 01 03 10 私達も試したことがないためはっきりとしたことは言えません。すみません。以下は軽く調べてみた結果で、間違っている可能性がありますので、ご了承ください。Forgeのシステムに入り込む形で指定することは可能かもしれませんが、簡単ではないと思います。Forgeのブロック追加処理は、GameRegistryからGameData、FMLControlledNamespacedRegistryを経由して行っているようです。ブロックIDは、GameDataやFMLControlledNamespacedRegistryでItem IDとの対応を見ながら決定しているようです。GameData.getMain()がprotectedに指定されているため、代替メソッドを作ろうとしたらそこで詰まりました。 - 赤砂蛇凪浜 2016-12-17 18 26 34 返信ありがとうございます やっぱり難しいですよね 1.7にはたを1.8のidで追加するmodを作ろうと思ったのですが、、 - anatawa12 2016-12-22 15 51 48 質問です。レッドストーンブロックのようにブロックをレッドストーン動力源にするにはどうすればいいのでしょうか? - 名無しさん 2017-01-07 16 00 06 レッドストーンブロックのクラスであるBlockCompressedPoweredを見るとわかると思いますが、以下のようにすればよいです。canProvidePowerをオーバーライドし、常にtrueを返す。isProvidingWeakPowerをオーバーライドし、常に15を返す。 - 赤砂蛇凪浜 2017-01-10 16 06 40 解決しました!! もうひとつ質問なんですけどブロックが光を透過するようにするにはどうすればいいのでしょう。 - 名無しさん 2017-01-11 20 39 31 こっちも解決しました!! .setLightOpacityというメソッドを使いました。 - 名無しさん 2017-01-14 15 12 24 このブロックを階段にするにはどうすればいいですか? - 名無しさん 2017-02-04 16 05 17 返信が遅くなってしまい申し訳ありません。今後チュートリアルを作成する予定です。また、単純な階段ならば、BlockStairsのインスタンスを生成することで実装できます。以下、そのサンプルです。perInitに追記すれば動作します。stairsAluminium = new BlockStairs(blockAluminium, 0).setBlockName("stairsAluminium").setBlockTextureName("aluminiummod aluminium_block");stairsAluminium.setCreativeTab(CreativeTabs.tabBlock);stairsAluminium.setHarvestLevel("pickaxe", 2);stairsAluminium.useNeighborBrightness = true;GameRegistry.registerBlock(stairsAluminium, "stairsAluminium"); - 赤砂蛇凪浜 2017-02-23 17 46 40 名前
https://w.atwiki.jp/3dcustom/pages/41.html
①ポリシーについて MODは部品でもフリー素材でもありません。「作品」です 後述の通り、MMD化する時は作者にご連絡ください。 ②規約・免責について すべてのMODのReadme.txt等を必ず読んでください。 利用する際は権利者であるMOD作者の利用規約に従ってください。 ライセンスモデルが指定されている場合、Legal Noticeを確認してください。 ③ 再配布について 変換したPMXモデルはMOD作者の許可が無い限り配布をしないでください。 無改変モデル(変換のみ行ったモデル)の配布を禁止している作品があります。 複数のスタッフで分業する場合には中途状態の作品は非公開にしてください。 ④作者への連絡について 動画化を想定していない作者もおります。動画化についても承諾をとってください。 作者が不明な場合PixivやBlog、したらば板等を調べてください。まだ活動されている方はおります。 基本SS不可、動画不可でも、動作させた動画を限定公開で作者に見せて説得すると良いかもしれません。 ⑤ R-18について 3Dカスタム少女は原則としてR-18ソフトウエアです。そのような用途でMMD上で未成年に相応しくない動画は個人で楽しむの程度にして下さい 作品全体が問題なくてもアダルトシェーダーなど使って、陰部を強調するような作品も対象です。 3Dモデルやソフトウエアを配信して逮捕された人がいます。わいせつ図画販売等で訴追されない様ご注意ください ⑦違法行為について 本ガイドラインは違法行為について一切の助言をおこないません。 本ガイドラインは、まだ議論中の事項を含みます。掲示板やブログ、SNSで良い提案があった時には追記すると良いでしょう。 またMMDへの利用を明確に許可している作者の一覧などを記載するのひとつのアイディアです。
https://w.atwiki.jp/mod-jplang/pages/93.html
MC1.6.4 最新版(Comapct Solars-4.4.21.306)の日本語langファイルです tile.compactsolars HV_block.name=高圧ソーラーアレイ tile.compactsolars MV_block.name=中圧ソーラーアレイ tile.compactsolars LV_block.name=低圧ソーラーアレイ item.compactsolars solarHatHV.name=高圧ソーラーヘルメット item.compactsolars solarHatMV.name=中圧ソーラーヘルメット item.compactsolars solarHatLV.name=低圧ソーラーヘルメット コメント コメント欄の運営・編集方針に関してはコメント欄方針を参照してください。 このコメント欄はwikiの情報充実のため、追記がしやすいよう設けた物なので、編集が苦手な方は以下のコメントフォームへ書き込んでください。後に編集者が追記等をします。 表示される親コメには限りがあります。返信の際は返信したいコメント横のチェックを付けて返信するようご協力お願いします。 コメログ:工業系modアドオン/IC2add/compsolars/MC1.6.4 名前 バージョン選択に戻る トップページに戻る
https://w.atwiki.jp/bullet37/pages/88.html
前ページ次ページHL2Mod/Mod File Date Dec 24th, 2008 Rating 7 kz_freezing_ridge Maps Image Map Name Course Length ref() kz_afterdark Long ref() kz_aim_flareworld ref() kz_asteroid_field kz_beginnerblock Short kz_bhop_arctic Short kz_bhop_backalley Short ref() kz_bhop_cartooncastle Shor ref() kz_bhop_hangman ref() kz_bhop_kashgar ref() kz_bhop_ocean ref() kz_bhop_ravine ref() kz_bhop_shrubhop ref() kz_bhop_tiles ref() kz_brooklyn ref() kz_cathedral ref() kz_cathedral_ez kz_caulis Medium ref() kz_caverns_deep kz_cellblock Medium ref() kz_cityswingers kz_cliffhanger Medium ref() kz_cmfrb kz_computer Medium ref() kz_cookbook ref() kz_cookbook_ez ref() kz_crate_delight ref() kz_cube ref() kz_dance ref() kz_date ref() kz_date2 ref() kz_deathrow kz_debod Medium ref() kz_fortress ref() kz_fortress_ez ref() kz_fragmania kz_freezing_ridge Medium ref() kz_ghosttown_ez ref() kz_invasion ref() kz_karnak ref() kz_longjumps ref() kz_man_madness2 ref() kz_mausolus ref() kz_maze_wickedgarden ref() kz_metro ref() kz_minimania ref() kz_mix_journeys ref() kz_mix_piraraa ref() kz_mix_sickness ref() kz_oakvalley ref() kz_panama ref() kz_quadrathon ref() kz_refinery_east ref() kz_refinery_ez ref() kz_silo Medium ref() kz_silo_ez ref() kz_sliderace_city ref() kz_station ref() kz_still ref() kz_stranded ref() kz_surf_protraining ref() kz_surfcrazy ref() kz_testlab ref() kz_thehills ref() kz_trippin ref() kz_trippin_sp ref() kz_tunnels ref() kz_tutorial tags HL2Mod_MultiPlayer HL2Mod_Source SDK Base HL2Mod_Single Player
https://w.atwiki.jp/akasatanahama/pages/66.html
概要 新しいクリエイティブタブを追加する。 ソースコード AluminiumMod.java package tutorial.aluminiummod; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; @Mod(modid = AluminiumMod.MODID, name = AluminiumMod.MODNAME, version = AluminiumMod.VERSION) public class AluminiumMod { public static final String MODID = "AluminiumMod"; public static final String MODNAME = "Aluminium Mod"; public static final String VERSION = "1.0.0"; public static CreativeTabs tabAluminium = new AluminiumTab("Aluminiumtab"); public static Item aluminium; @EventHandler public void perInit(FMLPreInitializationEvent event) { aluminium = new Item() .setCreativeTab(AluminiumMod.tabAluminium) .setUnlocalizedName("aluminium") .setTextureName("aluminiummod aluminium"); GameRegistry.registerItem(aluminium, "aluminium"); } } AluminiumTab.java package tutorial.aluminiummod; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; public class AluminiumTab extends CreativeTabs { public AluminiumTab(String label) { super(label); } @Override public Item getTabIconItem() { return AluminiumMod.aluminium; } } 解説 CreativeTabs コンストラクタ(String label) 引数は表示されるクリエイティブタブの名前。 言語ファイルに itemGroup.Aluminiumtab=アルミニウム と記入すれば設定できる。 Item getTabIconItem() クリエイティブタブのアイコンとして表示するアイテムを返す。 オファレンMODでは、このメソッドを呼び出しているItemStack getIconItemStack()をオーバーライドすることでメタデータを変えている。 使用例 オファレンMODのクリエイティブタブを追加している部分。 +オファレンMOD OfalenModCore.java package nahama.ofalenmod; /*略*/ /** @author Akasata Nahama */ @Mod(modid = OfalenModCore.MODID, name = OfalenModCore.MODNAME, version = OfalenModCore.VERSION) public class OfalenModCore { public static final String MODID = "OfalenMod"; public static final String MODNAME = "Ofalen Mod"; public static final String VERSION = "[1.7.10]1.0.0"; /*略*/ /** 追加されたクリエイティブタブ */ public static final CreativeTabs tabOfalen = new OfalenTab("ofalentab"); /*略*/ } OfalenTab.java package nahama.ofalenmod.creativetab; import java.util.Random; import nahama.ofalenmod.core.OfalenModItemCore; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class OfalenTab extends CreativeTabs { private Random random = new Random(); private int count = 0; private int meta = -1; public OfalenTab(String label) { super(label); } /** アイコンの設定 */ @Override @SideOnly(Side.CLIENT) public ItemStack getIconItemStack() { if (count 1) { count = 100; meta++; if (meta 3) meta = 0; } else { count--; } return new ItemStack(OfalenModItemCore.ofalen, 1, meta); } @Override @SideOnly(Side.CLIENT) public Item getTabIconItem() { return null; } } コメント この項目に関する質問などをどうぞ。 タブをブロックにするときはどこをどのように変えれば良いのでしょう - さくら 2016-04-04 02 36 45 getTabIconItemの戻り値をItem.getItemFromBlock(block)にするか、getIconItemStackをオーバーライドするとできるかと思います。 - 赤砂蛇凪浜 2016-04-04 07 45 27 ありがとうございます! - さくら 2016-04-05 02 43 20 名前
https://w.atwiki.jp/mod-jplang/pages/56.html
MC1.7.10 最新版(Random Things-2.2.4)の日本語langファイルです tile.playerinterface.name=プレイヤーインターフェース tile.creativePlayerInterface.name=クリエイティブプレイヤーインターフェース tile.fluidDisplay.name=流体ディスプレイ tile.advancedFluidDisplay.name=高度な流体ディスプレイ tile.fertilizedDirt.name=肥沃な土 tile.itemCollector.name=アイテムコレクター tile.advancedItemCollector.name=高度なアイテムコレクター tile.onlineDetector.name=オンライン探知機 tile.moonSensor.name=ムーンフェイズセンサー tile.notificationInterface.name=通知インターフェース tile.wirelessLever.name=無線レバー tile.lapisLamp.name=ラピスラズリランプ tile.dyeingMachine.name=染色機 tile.imbuingStation.name=インベングステーション tile.spectreGlass.name=スペクターガラス tile.energyDistributor.name=エネルギー分配器 tile.enderEnergyDistributor.name=エナジーディストリビューター tile.bloodMoonSensor.name=ブラッドムーンセンサー tile.spectreBlock.name=スペクターブロック tile.spectreBlock.black.name=黒色のスペクターブロック tile.spectreBlock.red.name=赤色のスペクターブロック tile.spectreBlock.green.name=緑色のスペクターブロック tile.spectreBlock.brown.name=茶色のスペクターブロック tile.spectreBlock.blue.name=青色のスペクターブロック tile.spectreBlock.purple.name=紫色のスペクターブロック tile.spectreBlock.cyan.name=シアン色のスペクターブロック tile.spectreBlock.silver.name=ライトグレー色のスペクターブロック tile.spectreBlock.gray.name=灰色のスペクターブロック tile.spectreBlock.pink.name=ピンク色のススペクターブロック tile.spectreBlock.lime.name=ライム色のスペクターブロック tile.spectreBlock.yellow.name=黄色のスペクターブロック tile.spectreBlock.lightBlue.name=水色のスペクターブロック tile.spectreBlock.magenta.name=赤紫色のスペクターブロック tile.spectreBlock.orange.name=オレンジ色のスペクターブロック tile.spectreBlock.white.name=白色のスペクターブロック itemGroup.Random Things=RandomThings item.filterBlock.name=ブロックフィルター item.filterItem.name=アイテムフィルター item.filterEntity.name=エンティティフィルター item.filterPosition.name=位置フィルター item.biomeSolution.name=溶液 item.biomeCapsule.name=バイオームカプセル item.biomePainter.name=バイオームペインター item.whitestoneUncharged.name=ホワイトストーン[無償] item.whitestoneCharged.name=ホワイトストーン[有料] item.voidStone.name=ボイドストーン item.dropFilter.name=ドロップフィルター item.dropFilterVoiding.name=ボイドドロップフィルター item.enderLetter.name=エンダーレター item.spectreKey.name=スペクターキー item.opSpectreKey.name=オペレータースペクターキー item.soundRecorder.name=サウンドレコーダー item.spectreSword.name=スペクターソード item.spectreHelmet.name=スペクターヘルメット item.spectreChestplate.name=スペクターチェストプレート item.spectreLeggings.name=スペクターレギンス item.spectreBoots.name=スペクターブーツ item.spiritBinder.name=スピリットバインダー item.magneticForce.name=磁力 item.gintoEmpty.name=空のギント item.gintoFilled.name=満たされたギント item.creativeSword.name=クリエイティブソード item.creativeGrower.name=クリエイティブ栽培者 item.creativeChestGenerator.name=クリエイティブチェストジェネレーター item.playerCore.name=プレイヤーコア item.obsidianStick.name=黒曜石の棒 item.enderFragment.name=エンダーフラグメント item.ectoplasm.name=エクトプラズム item.spectreIron.name=スペクターアイアン item.transformationCore.name=変換コア item.enderDiamond.name=エンダーダイアモンド item.energizedWater.name=活性水 item.bloodStone.name=ブラッドストーン item.error.name=エラー item.imbue.poison.name=毒の塊 item.imbue.experience.name=経験値の塊 item.imbue.fire.name=火の塊 item.imbue.wither.name=枯れの塊 item.imbue.weakness.name=弱点の塊 item.imbue.spectre.name=スペクターの塊 imbue.poison=毒の塊 imbue.experience=経験値の塊 imbue.fire=火の塊 imbue.wither=枯れの塊 imbue.weakness=弱点の塊 imbue.spectre=スペクターの塊 entity.spirit.name=精神 entity.bloodmoonCircle.name=ブラッドムーンサークル text.miscellaneous.press=詳細については%sを押してください text.miscellaneous.shift=シフト text.miscellaneous.block=ブロック text.miscellaneous.metadata=メタデータ text.miscellaneous.oreDictionary=鉱石辞書 text.miscellaneous.listType=リスト型 text.miscellaneous.entityid=エンティティID text.miscellaneous.entityName=エンティティ名 text.miscellaneous.connectedTo=に接続されています text.miscellaneous.invalidArguments=無効な引数 text.miscellaneous.setBonus=セットボーナス text.miscellaneous.opOnly=オペレータのみ text.miscellaneous.creativeOnly=クリエイティブのみ text.miscellaneous.category=カテゴリ %s text.miscellaneous.shiftCategory=Shiftキーを押しながらカテゴリを変更 text.miscellaneous.save=保存する text.miscellaneous.charges=貯蔵 %d text.miscellaneous.whiteList=ホワイトリスト text.miscellaneous.blackList=ブラックリスト text.miscellaneous.yes=はい text.miscellaneous.no=いいえ text.onlineDetector.detectingNobody=誰も検出していません text.onlineDetector.detecting=%sを検出しています text.miscellaneous.ignoreOreDict=鉱石辞書を無視する text.miscellaneous.useOreDict=鉱石辞書を使う text.miscellaneous.ignoreMetadata=メタデータを無視する text.miscellaneous.useMetadata=メタデータを使用する text.miscellaneous.noTarget=ターゲットが選択されていません(Shiftキーを押しながらブロックをクリック) text.miscellaneous.target.x=ターゲットX %d text.miscellaneous.target.y=ターゲットY %d text.miscellaneous.target.z=ターゲットZ %d text.miscellaneous.position.x=位置-X %d text.miscellaneous.position.y=位置-Y %d text.miscellaneous.position.z=位置Z %d text.miscellaneous.dimension=寸法 %d text.spectre.soulSolid=ソウルソリッド text.dyed=染めた%s text.color.black=黒色 text.color.red=赤色 text.color.green=緑色 text.color.brown=茶色 text.color.blue=青色 text.color.purple=紫色 text.color.cyan=シアン色 text.color.silver=銀色 text.color.gray=灰色 text.color.pink=ピンク色 text.color.lime=ライム色 text.color.yellow=黄色 text.color.lightBlue=水色 text.color.magenta=赤紫色 text.color.orange=オレンジ色 text.color.white=白色 text.error.nbt=NBTModファイルを使用できませんでした。手紙や磁力イベントなどは再起動しても生き残れません。 text.magneticForce.notOnline=オンラインではない text.magneticForce.invalidUsername=無効なユーザー名 text.magneticForce.noRights=権限はありません text.magneticForce.notYourself=自分ではない text.enderLetter.noReceiver=受信機セットなし text.enderLetter.receiver=受信者 %s text.enderLetter.sender=送信者 %s text.enderLetter.invalidreceiver=無効な受信者を指定しました text.enderLetter.empty=あなたは空の手紙を送ることはできません text.bloodmoon.command=翌夜にBloodmoonがあります text.bloodmoon.notify=血の月が昇っています... text.bloodmoon.nosleep=あなたは今疲れを感じていません。 コメント コメント欄の運営・編集方針に関してはコメント欄方針を参照してください。 このコメント欄はwikiの情報充実のため、追記がしやすいよう設けた物なので、編集が苦手な方は以下のコメントフォームへ書き込んでください。後に編集者が追記等をします。 表示される親コメには限りがあります。返信の際は返信したいコメント横のチェックを付けて返信するようご協力お願いします。 コメログ:鬼畜系mod/random/MC1.7.10 名前 バージョン選択に戻る トップページに戻る
https://w.atwiki.jp/uwicoder/pages/2118.html
これはCompetitive Programming Advent Calendar Div2012に投稿された記事のようです。 今年ははてなではなくatwiki(こちら)のほうでやります。はてなはTeXが汚かったりソースコードの折りたたみができない等色々アレなので・・。 さて、今回は数え上げ・数学ゲーの常連、Combinationの剰余の計算について書きます。正確にはBinomial Coefficient(2項係数)ですね。ここでは1秒以下で求められることを目安に制約をつけてそれぞれについて解説します。 TeX的に楽な式で書きたいとおもいます。 0o_ ※一応Javaコードを添えてはいますが、完全なものとは限らないので、全部欲しい場合は関数名から察するか@uwitenpenにmentionください。 mがsqaurefree(4以上の平方数で割り切れない)のとき 値(階乗+逆元) (n 10^7, r 10^7, n,r m, m 素数) 値(逆元) (r 10^7, n,r m, m 素数) 列挙(テーブル型) (n*r 10^7, m 任意) 値(行列冪乗) (r 100, n,m 任意) 値(素因数分解) (n 10^7, r,m 任意) 値(Lucas' Theorem) (m 素数,m =1000, n,r 任意) 列挙(乗算型SegmentTree) (n =10^6, r すべて, m 任意) 値(Lucas' Theoremの拡張) (m=p^q 素数の累乗, m 10^7, n,r 任意) 値(Lucas' Theoremの拡張2) (pq 10^7) おまけ あとがき mがsqaurefree(4以上の平方数で割り切れない)のとき mを素因数分解して素数p_iの積にばらしたあと、各p_iについてを求めることができれば、拡張互除法によりmでの剰余も求められます。拡張互除法がわからなくなったら僕はここに行きます。 ■ コード +... public static long[] exGCD(long a, long b) { if(a == 0 || b == 0)return null; int as = Long.signum(a); int bs = Long.signum(b); a = Math.abs(a); b = Math.abs(b); long p = 1, q = 0, r = 0, s = 1; while(b 0){ long c = a / b; long d; d = a; a = b; b = d % b; d = p; p = q; q = d - c * q; d = r; r = s; s = d - c * s; } return new long[]{a, p * as, r * bs}; } public static long crt(long[] divs, long[] mods) { long div = divs[0]; long mod = mods[0]; for(int i = 1;i divs.length;i++){ long[] apr = exGCD(div, divs[i]); if((mods[i] - mod) % apr[0] != 0)return -1; long ndiv = div * divs[i] / apr[0]; long nmod = (apr[1] * (mods[i] - mod) / apr[0] * div + mod) % ndiv; if(nmod 0)nmod += ndiv; div = ndiv; mod = nmod; } return mod; } 値(階乗+逆元) (n 10^7, r 10^7, n,r m, m 素数) 前計算, 本計算. 基本に忠実なコードです。まずmax(n,r)までの階乗x!, 階乗の逆元(x!)^-1を列挙しておいて、 を計算するだけです。この計算はmの剰余類が群にならなければいけない(どの要素にも逆元が一意に決まる)ことが前提なので、汎用的に使うのであれば、mは素数でなければいけません。 コード +... public static long C(int n, int r) { if(n 0 || r 0 || r n)return 0; if(r n / 2)r = n - r; return FACT[n]*IFACT[n-r]%mod*IFACT[r]%mod; } static int mod; static long[] FACT, IFACT; N = 5000; FACT = new long[N+1]; IFACT = new long[N+1]; FACT[0] = 1; IFACT[0] = 1; for(int i = 1;i = N;i++){ FACT[i] = FACT[i-1] * i % mod; IFACT[i] = invl(FACT[i], mod); } 値(逆元) (r 10^7, n,r m, m 素数) O(r). これも基本に忠実。n!と(n-r)!の部分を相殺して を計算します。これならnが大きくても大丈夫。 コード +... public static long C(int n, int r, int p) { long ret = 1; while(true){ if(r == 0)break; int N = n % p; int R = r % p; if(N R)return 0; for(int i = 0;i R;i++){ ret = ret * (N-i) % p; } long imul = 1; for(int i = 0;i R;i++){ imul = imul * (i+1) % p; } ret = ret * Modulo.inv(imul, p) % p; n /= p; r /= p; } return ret; } 列挙(テーブル型) (n*r 10^7, m 任意) O(nr). 2次元配列で列挙するあれです。次の性質を利用しています。 和は2項までしかとらないので%mをとらずにif文で-mするのもあり。 コード +... long[][] C = new long[n+1][n+1]; for(int i = 0;i = n;i++){ C[i][0] = 1; for(int j = 1;j = i;j++){ C[i][j] = (C[i-1][j-1] + C[i-1][j]) % m; } } return ret; Javaでは0で初期化されるのでC[2][5]みたいなのにアクセスされても0を返すのですがC++まわりは初期化が必要です。 値(行列冪乗) (r 100, n,m 任意) rが小さい場合行列の冪乗で書けます。上のテーブル型をDPとした場合の行列DPですね。この行列は下三角Toeplitz行列なのでで計算できます。 と大仰なことをかきましたが、早い話がVandermonde's identityを利用して と で繰り返し二乗法しようという話です。 どうみても畳み込みなので、高速剰余変換とか使って高速化できるんですかね・・ コード +... public static int[] vander(long n, int r, int mod) { int[] v = new int[r+1]; v[0] = 1; for(int d = 63;d = 0;d--){ // Vandermonde int[] w = new int[r+1]; for(int i = 0;i r+1;i++){ long sum = 0; for(int j = 0;j = i;j++){ sum = (sum + (long)v[j] * v[i-j]) % mod; } w[i] = (int)sum; } v = w; if(n 63-d 0){ // +1 for(int i = r;i = 1;i--){ v[i] += v[i-1]; } } } return v; } 値(素因数分解) (n 10^7, r,m 任意) 前計算本計算? n!,(n-r)!,r!を素因数分解して各素数の乗数を求めたあと掛けあわせます。n!を素因数分解したときの素数pの乗数はで書けるので・・ コード +... public static long C(int n, int r, int mod, int[] primes) { if(n 0 || r 0 || r n)return 0; if(r n / 2)r = n - r; int[] a = new int[n]; for(int i = 0;i r;i++)a[i] = n-i; for(int p primes){ if(p r)break; for(long q = p;q = r;q *= p){ int m = n % q; for(int i = m, j = 0;j r / q;i+=q,j++){ a[i] /= p; } } } long mul = 1; for(int i = 0;i r;i++){ mul = mul * a[i] % mod; } return mul; } 値(Lucas Theorem) (m 素数,m =1000, n,r 任意) 前計算, 本計算 上述した乗数の式をうまく料理してやるとLucasの定理になります。n,rをm進数でと表す時、 と計算できます。 コード +... public static long C(long n, long r, int p, long[][] Cs) { long mul = 1; while(n 0){ mul *= Cs[(int)(n%p)][(int)(r%p)]; mul %= p; n /= p; r /= p; } return mul; } 列挙(乗算型SegmentTree) (n =10^6, r すべて, m 任意) Codeforces Round 100 Eを解いた時にTLEがとれなくて苦し紛れに書いたやつです。を列挙します。 乗算を伝播させるSegmentTreeをつくり、各葉はひとつの素数^(乗数) mod mを表します。まっさらな状態からはじめて nを素因数分解したものを足し, 1を素因数分解したものを引き、ルートの値を取得 n-1を素因数分解したものを足し, 2を素因数分解したものを引き、ルートの値を取得 ということを繰り返していくと列挙できます。結局TLEしたんですがー +... public static int[] enumC(int n, int[] primes, int mod) { int m = primes.length; int[] ip = new int[n+1]; for(int i = 0;i m;i++){ ip[primes[i]] = i; } SegmentTreeRMULQSimple st = new SegmentTreeRMULQSimple(m, primes, mod); int[] ret = new int[n+1]; ret[0] = ret[n] = 1; int[][][] fs = Num.enumFactor(n, primes); for(int i = 1;i = n/2;i++){ for(int[] ps fs[n+1-i]){ st.add(ip[ps[0]], ps[1]); } for(int[] ps fs[i]){ st.add(ip[ps[0]], -ps[1]); } ret[i] = ret[n-i] = st.st[1]; } return ret; } public static class SegmentTreeRMULQSimple { public int M, H, N, B; public int[] st; public int[] ps; public int[] es; public int mod; public SegmentTreeRMULQSimple(int n, int[] ps, int mod) { N = n; H = Integer.highestOneBit(Math.max(n,1)) 1; M = H 1; B = Integer.numberOfTrailingZeros(H); st = new int[M]; Arrays.fill(st, 1); es = new int[H]; this.ps = new int[H]; Arrays.fill(this.ps, 1); for(int i = 0;i ps.length;i++){ this.ps[i] = ps[i]; } this.mod = mod; } public void add(int pos, int v) { es[pos] += v; st[H+pos] = (int)Modulo.pow(ps[pos], es[pos], mod); for(int i = (H+pos) 1;i = 1;i = 1){ st[i] = (int)((long)st[2*i]*st[2*i+1]%mod); } } } 値(Lucas Theoremの拡張) (m=p^q 素数の累乗, m 10^7, n,r 任意) CodeSprint 3 nCrを解くときに調べたら出てきたpdfのやつです。割と有名らしい? これまで出てきたの値を求めるものの剰余はだいたい素数になっていました。これを素数の累乗まで拡張できると、小さい方のmではほとんど攻略できるといえるでしょう。 いくつか変数を定義します。例によってn,r,n-r=oをp進数で表します。 また、を、nのp進数表現でのi桁目からi+q-1桁目をつなげた値とします。も同様に定義します。 そしてを で定義しておきます。 最後に、を、x!からpの倍数の項を消したもの、つまりとします。 このとき、 が成り立ちます。の部分は、p=2かつq 3の時に限り1, それ以外は-1. の計算において邪魔なpを左辺に移行したものだと考えれば良いです。を右辺に移項するとが求められます。 前計算はp^qまでのとその逆元を列挙しておけばOK. コード +... public static long C(long n, long r, int p, int q, int[] fact, int[] ifact) { if(n 0 || r 0 || r n)return 0; int P = 1; for(int i = 0;i q;i++)P*=p; long z = n - r; int e0 = 0; for(long u = n/p;u 0;u /= p)e0 += u; for(long u = r/p;u 0;u /= p)e0 -= u; for(long u = z/p;u 0;u /= p)e0 -= u; int em = 0; for(long u = n/P;u 0;u /= p)em += u; for(long u = r/P;u 0;u /= p)em -= u; for(long u = z/P;u 0;u /= p)em -= u; long ret = 1; while(n 0){ ret = ret * fact[(int)(n%P)] % P * ifact[(int)(r%P)] % P * ifact[(int)(z%P)] % P; n /= p; r /= p; z /= p; } for(int i = 0;i e0;i++)ret = ret * p % P; if(!(p == 2 q = 3) (em 1)==1)ret = (P-ret) % P; return ret; } public static int[][] makeFF(int p, int q) { int P = 1; for(int i = 0;i q;i++)P*=p; int[] fact = new int[P+1]; int[] ifact = new int[P+1]; fact[0] = 1; for(int i = 1;i = P;i++){ if(i % p == 0){ fact[i] = fact[i-1]; }else{ fact[i] = fact[i-1] * i % P; } } for(int i = 0;i = P;i++){ long ret = 1; long mul = fact[i]; for(long n = P/p*(p-1)-1;n 0;n = 1){ if((n 1)==1){ ret = (ret * mul) % P; } mul = (mul * mul) % P; } ifact[i] = (int)ret; } return new int[][]{fact, ifact}; } 値(Lucas Theoremの拡張2) (pq 10^7) 上の方式でmが小さい時はいけるようになりましたが、qが大きいとが列挙できずに破綻してしまいます。次の2個の公式を使っての列挙範囲をでよくします。 vは0以上p-1以下 . は負までいった二項係数の計算に見えますね。整数にはなるみたいなので、桁あふれをどう抑えるかはまだ課題です。mod p^qだったのではで剰余とれそうですね。 これと、もうひとつ、 が、または以外のときに成り立ちます。成り立たない場合は大きめにrをとればいいだけの話です。 はp=2のときのみマイナスになる。 . このも桁あふれこわいですね・・これもで剰余とれそう。 q=2r+1となるように調整して2個の公式の左辺同士をかけるとがでてきて、vはp-1以下で、jp+vもjpもpq以下なので、pq以下のでが求められることになります!良いですね!がうまく計算できれば実用的そうです。 コード(実際にはP,betanum,alphanumが馬鹿でかくなるのであまり使えませんね・・) +... public static long ff(long n, int p, int q, int[] fact, int[] ifact) { long u = n/p; int v = (int)(n%p); int r = (q-1)/2; long P = 1; for(int j = 1;j = q;j++)P *= p; long ret = fact[v]; for(int j = 1;j = r;j++){ long betanum = u; long betaden = j; for(int i = 1;i = r;i++){ if(i != j){ betanum *= u*u-i*i; betaden *= j*j-i*i; } } long d = betanum / betaden; long po = Modulo.pow(fact[j*p], Math.abs(d), P); if(d 0)po = Modulo.invl(po, P); ret = ret * po%P; } if(p == 2)ret = -ret; for(int j = 1;j = q-1;j++){ long cell = (long)fact[j*p+v]%P *ifact[j*p]%P *ifact[v]%P; long alphanum = u; long alphaden = j; for(int i = 1;i = q-1;i++){ if(i != j){ alphanum *= u-i; alphaden *= j-i; } } long d = alphanum / alphaden; long po = Modulo.pow(cell, Math.abs(d), P); if(d 0)po = Modulo.invl(po, P); ret = ret * po%P; } return (ret+P)%P; } おまけ でnがでかくてmがやばい場合、n,n-1のいずれかは偶数なので、先に偶数の方を2で割ってしまえば幸せになります。 この手の式には同じ考え方が使えます。ProjectEulerの制約サイズが最近大きくてここによくはまるので自戒も込めて。 mがintをこえてさらにやばい場合はlongの範囲で収まる例の乗算をすればよいですね。 +... public static long c2(long n, int mod) { if(n % 2 == 0){ return (n/2%mod)*((n-1)%mod)%mod; }else{ return (n%mod)*((n-1)/2%mod)%mod; } } あとがき さて、いろいろ書きなぐってきましたが、これだけあれば競プロで出てくる二項係数には困らないんじゃないでしょうか。 ただこれだけあっても素早く求まらない二項係数はいくらでもあります。そのときは恥ずかしがらずに教えて下さいね。