約 4,066,435 件
https://w.atwiki.jp/mc_memo/pages/15.html
MOD一覧 リンク先は大体Google検索です、バージョン記入は気休め MOD 検索 https //mods.curse.com/mc-mods/minecraft http //mod-minecraft.net/category/minecraft-mods/ http //www.9minecraft.net/ 編集 システムMOD MOD 説明 v 基本システム MinecraftForge MOD前提 - OptiFine 軽量化 / BetterFps FPS向上 / FoamFix 高速化 - Chat Bubbles! チャット吹き出し - Xaero s Minimap ミニマップ(レーダー付き) 1.10.2 VoxelMap ミニマップ(レーダー付き、レーダー顔アイコン表示可能) - Rei s Minimap ミニマップ - IntelliInput 日本語入力 - BetterFonts 綺麗フォント config memo - Hit Splat Damage Indicators HP&ダメージ表示 - ToroHealth Damage Indicators HP&ダメージ表示 1.11.2 Just Enough Items (JEI) レシピ表示 1.10.2 CraftGuide レシピ表示 1.7.10 Just Enough Resources (JER) モンスタードロップ、ダンジョンストレージルート、鉱石深度、植物情報表示 1.10.2 Inventory Tweaks インベントリ・チェスト整頓MOD - Hostile Gnosis Primer 本で敵mobを味方にする 1.8 Geochests 家持ち運びMOD 1.7.10 / 1.7.2 / 1.6.4 Crafting Tweaks クラフティングテーブルに配置操作などの補助ボタンを追加する 1.10.2 操作補助MOD MOD 説明 v 一括破壊 連鎖破壊MOD configをいじらず、ゲーム中にブロックを登録し一括破壊を可能にするMOD - McAssistant 制限付け一発破壊系、自動種植え 1.10.2 レベルシステムMOD MOD 説明 v ステータスシステム Level Up Mod レベルUP時、ステータスポイントが増え、攻撃UPなど割り振ることができる(シングル用、マルチ一部動作確認) 1.12 / 1.7.10 / 1.7.2 エンチャントシステムMOD MOD 説明 v エンチャントシステム More Enchantments MOD エンチャントの種類追加 1.7.10 / 1.7.2 Super Enchants 一部のエンチャントレベル上限UP - エンチャント交換MOD エンチャントをマテリアルとして自由に取り外し可能にしたり、レベル上げができる - 編集 便利MOD MOD 説明 v 機械系 Applied Energistics 2 アイテムをデータ化し保管や転送を可能にする 1.7.10 作業台 EasyCrafting 所持材料で完成品リストから選択してクラフトを可能にする作業台を追加する - アイテム保管 MoreInventoryMod アイテムを保管するためのコンテナ・ポーチなど便利系アイテムを追加する 1.7.2 IronChests 鉄、金、ダイヤなどの大容量チェストを追加する - Storage Drawers アイテムを保管するためのストレージを追加する 1.10.2 / 1.11.2 アイテム運搬 Hopper Ducts Mod ホッパー結合用アイテムを追加し、出し入れ方向を自由にする - アイテム購入 Universal Coins 所持アイテムから購入・販売可能にする - Star-Mall Mod アイテムを購入・販売可能にするコンピュータを追加する - 編集 HARD-MOD MOD 説明 v 難易度UPシステム InfernalMobs ディアブロ風ユーニクモンスターのようなオプション付加されたモンスターが沸くようになる、他のモンスター追加系MODにも適応される 1.12.1 Epic Siege Mod モンスターの意識範囲上昇、ブレイズ地上沸き、遠距離攻撃射程増加、クリーパー破壊行動、ベット無効化、プレイヤー死亡時ゾンビ追加...etc 1.10.2 / 1.7.10 Zombie Awareness ダメージ時出血を追加する、血、音、光源を意識してゾンビなどが寄ってくるようになる、ゾンビが集団行動するようになる 1.12.2 高難易度 Lycanite s Mobs モンスターやペット可能なモンスターを追加する、作業は常に危険と隣り合わせ、ネザーはより一層地獄化とする(クリーパー系modと組み合わせオススメ) - まどマギ MOD 魔女を追加する、便利ツールや強い武器なども追加される、家がよく壊れる 1.6.4(更新停止) Grimoire of Gaia 3 擬人化モンスターを追加する 1.12.2 Ore Spawn モンスター・ディメンションを追加する、食料面はイージーになる 1.7 / 1.6.4 Mutant Creatures 一部のバニラモンスターのミュータント化したモンスターを追加する、独特な動きをする 1.7.10 Eternal Isles モンスター・ディメンション・装備などを追加する 1.7.2 ゲリラVsコマンドー プレイヤーを襲うゲリラを追加する 1.12.2 / 1.10.2 / 1.6.4 / 1.6.2 NoShelter ゾンビを凶暴化させる 1.7.10 Primitive Mobs 複数の新しいクリーパーや個性的なモンスターを追加する、その他蜘蛛ペット、取引NPC追加 1.12.2 匠Craft 大量の狂気クリーパー・装備・ブロック・ディメンションを追加する 1.12.2β 総合MOD 編集 冒険MOD MOD 説明 v 冒険系要素 Magic Crusade RPG mods 6種の職業、ディメンション、ステータス上昇装備などを追加する(ベットの枕にも移動可能にするゲート有り) 1.7.10(配布停止) DQMⅢNext ドラクエ系のモンスター・アイテム・職業・魔法・レベルのシステムなどのやり込み要素を追加する 1.7.10 / 1.5.2 Pokécube / Revival ポケモンを追加する、リアルタイム戦闘型 1.5.2-R1.11 Witchery 魔術要素を追加、難易度高め 1.7.10 The Betweenlands Mod 暗い湿地帯系ディメンション、モンスター、アイテム追加 β1.10.2 / 1.12.2 編集 産業MOD MOD 説明 v 漁業システム Mariculture 海・釣りなどの漁業要素の追加 1.7.10 編集 魔法MOD MOD 説明 v 魔法要素 Ars Magica 2 魔法要素を追加する 1.10.2 Thaumcraft 6.1 魔法要素を追加する 1.12.2 / 1.8.9 Minegicka 3 Mod 魔法要素を追加する、魔法スペルの作成 1.7.10 / 1.7.2 Botania 花の魔法要素を追加する 1.12.2 編集 武器MOD MOD 説明 v 特殊武器関連 五つの難題MOD+ 東方mod、五つの難題関連アイテム・弾幕などを追加する 1.7.10 / 1.7.2 / 1.6.4 / 1.5.2 抜刀剣mod コンボ攻撃や特殊な攻撃の可能な刀を追加する 1.12.2 / 1.7.10 / 1.7.2 編集 ツールMOD MOD 説明 v ツール、武器全般 Tinkers Construct ツール、武器などを作成する 1.10.2
https://w.atwiki.jp/akasatanahama/pages/19.html
概要 何の機能もない基本的なアイテムを追加する。 ソースコード AluminiumMod.java package tutorial.aluminiummod; 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; @EventHandler public void preInit(FMLPreInitializationEvent event) { //Itemのインスタンスを生成し、代入する。 aluminium = new Item() //クリエイティブタブの登録 .setCreativeTab(CreativeTabs.tabMaterials) //システム名の登録 .setUnlocalizedName("aluminium") //テクスチャ名の登録 .setTextureName("aluminiummod aluminium"); //GameRegistryへの登録 GameRegistry.registerItem(aluminium, "aluminium"); } } 解説 AluminiumMod void preInit(FMLPreInitializationEvent event) modが読み込まれるとき最初に行われる処理。 アイテムやブロックの追加をする。 @EventHandlerをつける。 Mod String modid, String name, String versionなど modのコアクラスをFMLに登録するためのアノテーション。 modidは必須。nameとversionは、modsリストで表示される。 Item minecraftのアイテムはすべてこのクラスを継承している。 modで追加するアイテムもこのクラスを継承することになる。 Item setCreativetab(CreativeTabs tab) アイテムをクリエイティブタブに登録するメソッド。 バニラのクリエイティブタブはCreativeTabsにまとめられている。 +バニラのクリエイティブタブの一覧 tabBlock・・・建築ブロック tabBrewing・・・醸造 tabCombat・・・戦闘 tabDecorations・・・装飾ブロック tabFood・・・食料 tabMaterials・・・材料 tabMisc・・・その他 tabRedStone・・・レッドストーン tabTools・・・道具 tabTransport・・・移動 Item setUnlocalizedName(String name) アイテムのシステム名を登録するメソッド。 Item setTextureName(String name) アイテムのテクスチャ名を登録するメソッド。 テクスチャ名は、"小文字のmodid ファイル名(拡張子なし)"で指定する。 GameRegistry modが追加したアイテム・ブロック・レシピなどを登録するためのクラス。 Item registerItem(Item item, 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) { /*略*/ //アイテムを設定するメソッドを実行 OfalenModItemCore.registerItem(); /*略*/ } /*略*/ } OfalenModItemCore.java package nahama.ofalenmod.core; /*略*/ public class OfalenModItemCore { /*略*/ public static Item magazineLaserWhite; /**アイテムを設定する*/ public static void registerItem () { /*略*/ magazineLaserWhite = new LaserMagazine() .setUnlocalizedName("magazineLaserWhite") .setTextureName("ofalenmod laser_magazine_white"); GameRegistry.registerItem(magazineLaserWhite, "magazineLaserWhite"); } } LaserMagazine.java package nahama.ofalenmod.item; /*略*/ public class LaserMagazine extends Item { public LaserMagazine() { super(); this.setCreativeTab(OfalenModCore.tabOfalen); /*略*/ } /*略*/ } このままテストプレイをしてみると、テクスチャがない状態ではピンクと黒のデフォルトテクスチャになってしまう。 また、名前がitem.aluminium.nameとなる。 これらの解決方法は、次の次、リソースの作成で。 コメント この項目に関する質問などをどうぞ。 アイテムもブロックもそうですが、ItemIDを設定するコードを教えてほしいです! - 88taishi88 2015-10-11 19 24 58 1.7.10では、mod側からアイテムID・ブロックIDを指定することはできません。 - 赤砂蛇凪浜 2015-10-11 19 52 11 そうですか・・・ ありがとうございます! - 88taishi88 2015-10-12 09 26 53 アイテムをいっぱい追加するとエラーがでるのでいっぱい追加するコードを教えてほしいです - yuma 2015-12-19 13 18 31 「いっぱい」とありますが、具体的に何個ほど追加するとエラーが出るのでしょうか。また、エラーとはどのようなものでしょうか。 - 赤砂蛇凪浜 2015-12-19 19 45 29 メソッド名がperInitとなっておりますが、preInitと名付けたかったのかもしれません。 - 参考になります 2016-02-05 15 33 37 ご指摘ありがとうございます。修正しました。 - 赤砂蛇凪浜 2016-02-05 18 15 36 必ずtabMaterialsのところでエラーを吐いてしまいます... - togtog 2017-03-26 14 19 04 自己解決しました、MATERIALSにすることでエラーが出なくなりました。失礼しました。 - togtog 2017-03-26 14 20 51 名前
https://w.atwiki.jp/trinanoss/pages/14.html
タイトル別クロスSSインデックス A~M N~Z あ行 か行 さ行 た行 な行 は行 ま行 や行 ら行 わ行 A~M 作品タイトル クロス元 作者 ACE COMBAT ~THE UNSUNG Striker~ ACE COMBAT5 ~THE UNSUNG WAR~ F-16CCV氏 Call of Lyrica4l CALL OF DUTY4 MODERN WARFARE T-2改氏 Gears Of Lyrical Gears Of War 第22SAS連隊隊員 HALO THE LYRICAL HALO3 第22SAS連隊隊員 上へ N~Z 作品タイトル クロス元 作者 THE OPERATION LYRICAL ACE COMBAT04 T-2改氏 上へ あ行 作品タイトル クロス元 作者 上へ か行 作品タイトル クロス元 作者 上へ さ行 作品タイトル クロス元 作者 上へ た行 作品タイトル クロス元 作者 上へ な行 作品タイトル クロス元 作者 上へ は行 作品タイトル クロス元 作者 上へ ま行 作品タイトル クロス元 作者 魔法少女リリカルなのはSAVERS デジモンセイバーズ やまさん 上へ や行 作品タイトル クロス元 作者 上へ ら行 作品タイトル クロス元 作者 リリカル自衛隊1549 戦国自衛隊1549 TK-X氏 上へ わ行 作品タイトル クロス元 作者 上へ
https://w.atwiki.jp/mcweaponjapan/pages/13.html
Madness Combat シリーズに登場する武器・兵器 を、一覧的に表示しています。
https://w.atwiki.jp/modernwarfare2/pages/13.html
雑談所 ~同志、こいつが勝利への片道切符だ~ 雑談はこちらで。最新の20件を表示。■シリーズ最新作Call of Duty Modern Warfare 3の掲示板はこちら。[ 掲示板 ] [ wiki ] {■掲示板もご利用ください}http //jbbs.livedoor.jp/game/49752/ ■通常の過去ログ└過去ログ■古いものはこちら└過去ログ安置所■画像ファイルなどを添付したい場合こちらをご利用くださいhttp //ux.getuploader.com/codmw2/ (URLはそのまま貼付可能です)この雑談所でよく使われる用語については用語集をご覧ください。 フレンドの募集は 募集ページ から各機種のページで行ってください。ZDSチャットは ここ ※チャットでの問題はチャットにて、雑談所の問題は雑談所にて、双方関わりは持たないようにしましょう。 <ごきげんよう諸君。ここで特定のプレイヤーやクランの話・晒しは厳禁だ。マナーを守れよ?それと、荒らしに反応する奴も荒らしだから、見かけてもスルーしろ…反応したらWDSがお前を掘りに来るからな。それから、機種関係の言い争いやMW2以外のゲームの話をする時は背後に警戒しろ。最後に、0~3時の間は紳士の時間だ。Good luck... ps3 チーデスしか部屋がないですね (2018-09-20 07 57 12) どこもそんな感じだぞ。フリフォが2、3部屋あればいい方かな。 (2018-09-22 13 36 31) XBOXO (2018-09-22 10 25 52) XBOXで地上戦できるようになったのはすごくうれしいけど、凄まじいまでのグレポンに新規ユーザーが心折れてやめるんじゃないかと不安で仕方がないわ・・・ (2018-09-22 10 28 09) こちらZDS新潟支部!応答せよ! (2018-09-30 18 52 43) こちら広島支部!生存者アリ!聞こえていたら応答してくれ!! (2018-10-01 23 33 55) なんだ、誤報か。全滅したと聞いたんだが、オーバー。 (2018-10-04 07 31 31) だがもう俺以外皆死んじまった。俺が最後の一人だよ。オーバー。 (2018-10-05 22 10 15) なんてことだ… 他の支部、生きていたら応答してくれ! (2018-10-06 12 25 01) こちら関東支部、獲物がチーターに喰い尽くされて食糧難でsss…(回線が切れる (2018-11-30 02 24 22) やっぞ? (2018-12-25 20 44 10) やっぞー (2018-12-25 20 44 35) 短い時間だったが楽しかったぞ、同志!また会おう! (2018-10-05 00 11 33) やっぞ (2018-10-29 17 43 44) 意外とまだ人が居て楽しめた。やっぱり (2018-11-28 09 33 47) 3年ぶりに入ったらチーターロビーで戦術爆撃、「戦術爆撃だ、ダスビダーニャ…」という味方のセリフがありました。 (2018-11-30 02 14 52) チーターがいすぎてチーターvsチーターなんて珍しくないっぽくて、チーター同士の1vs1のTDMを観戦してたら負けてるチーターが抜けるっていう…(笑) (2018-11-30 02 18 55) 神対神みたいで興奮する (2018-12-24 17 49 35) m4使ってるとたまに透明のフォアグリップを握ってる時がある気がする (2018-12-03 17 38 41) やっぞ (2019-07-19 20 46 17) マッチングしねえええ箱版やろうぜええ (2019-10-12 01 43 30) PCやろうぜ… (2019-10-23 23 35 31) 新しいMWにもRustが来るぞぉおおおおおお!!!!!!!!! (2020-02-10 23 25 14) なんでリマスターが来るのに誰もいないんだよぉぉぉぉぉおおおおおおおお!!!!!!!!!!!!!! (2020-03-31 22 11 54) リマスター来たのか!家に帰ったらやるぞ同士ー!! (2020-04-01 13 11 12) リマスター出たと聞いたので記念 昔は毎日ここに来ては書き込んでいたものだが……思い出話は老化の証拠か (2020-04-02 01 35 35) 今はPS (2020-04-02 17 35 13) 4のダウンロード版だけだけど、今後パッケージ版、PC版は出る予定あるのだろうか。 (2020-04-02 17 35 38) ハンドガンのハンマーが起きるようになってる。あとG18がG17のフルオート改造品じゃなくてちゃんとしたG18になってる。 (2020-04-02 23 12 36) 演出も細かいところ変わってるんだね。ローチ君まだ意識ある状態で焼かれてたのか… (2020-04-03 00 27 06) シェパードの腕つかんでるよね。あとチームプレイヤーの冒頭の演出も最高。 (2020-04-03 09 19 00) もしやと思ったがやっぱり人が戻ってきているな。同士よ。懐かしくて最高だぜ。 (2020-04-07 19 33 00) また盛り上がってくれると嬉しいがな。MW2は不滅だ同士よ。 (2020-04-10 21 17 59) IW4Xが気になってるんだが、あれはMW2のmodじゃなくて改造されたMW2の割れっていう認識でいいのか?自分が持ってるMW2のデータに影響とかある? (2020-05-06 12 05 34) キャンペーンエンドゲームのナイフの投げ方がわからず詰んでます。PS4版だと、何ボタンで投げられるのでしょうか。PS3版PC版共に射撃ボタン(R1と左クリック)だから普通にR1じゃないかな (2021-01-11 13 22 36) MW3のwikiがどっかのキ〇ガイのせいで大変なことになっとる… (2021-01-11 13 27 34) BF3、BF4のWikiも一緒だ。 ここもヤバイんとちゃう? (2021-01-14 00 28 16) 一通り直ったっぽいわ良かった (2021-03-30 20 27 47) <※必ず読むこと> 返信したいコメントの左にある を押すと (繋ぎ状態)になり、その下に自分の書き込みが反映されます。ログが流れるのを防ぐため、なるべく繋げるようお願いします。失敗した場合は、マラシャブル率いるよく訓練された紳士たちによるお仕置きが待っています。 +wiki雑談所クランタグ[ZDS] ZDS(ZatsuDannSho)は雑談所で生まれたクランタグです。このwikiに参加している人は誰でもタグに[ZDS]と入れるだけで、 機種腕VC凸芋等問わず自由に使えます。楽しみ方は、ただ戦場でこのタグを見つけた時に「雑談所の人だw」と親近感を覚え ニヤニヤする事だけです。ZDSはクランではありませんので、クラン戦やオフ会等の団体活動は言うまでもなく行えません。 タグの付外も自由です。MW2wikiに恥じないフェアプレーを心がけましょう。mixiやgreeにコミュニティがあるので、興味があれば探してみて下さい。 ちなみにZDSは2010年2月24日に生まれ、「同志、こいつが勝利への片道切符だ。」をモットーにしています。 ※[ZDS]を使うにあたっての注意点 1.しつこくパーティー招待やフレ登録依頼はしない事 2.バグに頼らない正々堂々としたマナー有る戦いを行う事 3.パーティーを組んでの参戦時はZDSタグを外す事 +wiki猥談所クランタグ[WDS] WDS(WaiDannSho)は猥談所で生まれたクランタグです。猥談所の常連又は変態装備で戦う人は誰でもタグに[WDS]と挿れるだけで、 F2000M240盾尻等問わず自由に使えます。愉しみ方は、只戦場でこのタグを見つけた時に「ウホッ!♂イイ男♂」と快感を覚え ムラムラする事だけです。(ただの変態)WDSはクランではありませんので、尻愛戦やホモ会等の変態活動は言うまでもなく行えません。 タグの付外も自由です。マラシャブルの名に恥じない変態プレイを心がけましょう。mixiにコミュニティがあるかどうかは尻ません。興味♂があなるなら自分で探してみて下さい。 ※[WDS]を使うにあたっての注意点 1.しつこくパーティー♂招待やフレ登録♂依頼はしない事。 2.WDSタグを付けている間は必ず変態装備で戦う事。さもなければ真の紳士・変態が宅配ピザを装ってあなたの家に襲撃しに来ます。(注:最近は手口が巧妙になってきています。さまざまな者を装って来ます。 ちなみにWDSは2010年3月4日に生まれました。
https://w.atwiki.jp/julieta/pages/16.html
編集 samba3.0.25a # cd /usr/ports/net/samba3 # make install clean # vi /usr/local/etc/smb.conf [global] workgroup = workgroup security = user display charset = utf-8 unix charset = utf-8 dos charset = cp932 veto files = /.AppleDB/.AppleDesktop/.AppleDouble/.DS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/TheFindByContentFolder/.Trashes/._.Trashes/resource.frk/.snap/ 2eDS_Store/.TemporaryItems/.recycle/ delete veto files = yes map to guest = Bad User [filebox] path = /filebox browseable = yes writable = yes guest ok = yes create mask = 0777 directory mask = 0777 public = Yes read only = No writable = Yes # mkdir /usr/filebox # chmod 777 /usr/filebox # ln -s /usr/filebox /filebox # vi /etc/rc.conf samba_enable="YES" ドメイン security = user logon drive = h local master = yes domain master = yes domain logons = yes preferred master = yes admin users = administrator logon home = logon path = logon script = [homes] comment = Home Directories browseable = no writable = yes # Un-comment the following and create the netlogon directory for Domain Logons ; [netlogon] ; comment = Network Logon Service ; path = /usr/local/samba/lib/netlogon ; guest ok = yes ; writable = no ; share modes = no # adduser PC名$ # smbpasswd -a -m PC名 # adduser administrator # smbpasswd -a administrator システムのプロパティでプロファイルを弄る 若しくはregedit HLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\で メールパスワード多分必要 win上でドメイン\adminをグループadministratorsに入れる。 DaSのパーミッションの確認 移動プロファイル logon script = %m.bat logon script = %U.bat logon path = \\%L\Profiles\%U [Profiles] path = /usr/local/samba/profiles browseable = no guest ok = yes shareとprivateの共存 [global] security = user map to guest = Bad User [share] browseable = yes writable = yes path = /share guest ok = yes [private] browseable = yes writable = yes path = /private valid users = user1,user2 そしてadduser・smbpasswd -a user1する 記憶したPWを消す マイコンピュータ右クリックネットワークドライブの切断ドライブ名なしを切断}
https://w.atwiki.jp/battlefield1942/pages/252.html
正式名称:Jungle Combat 作者:Lord Nader 公式サイト:無し ダウンロード http //battlefield2.filefront.com/file/Jungle_Combat_MiniMod;32537(リンク切れ) https //www.gamefront.com/games/battlefield-1942/file/jungle-combat-mini-mod (BATTLEFIELD FILESより。Description、Readmeも併記。) MOD紹介 Description(作者による) Jungle Combat is a minimod coded to convert EoD maps to DCF. Please note that I do not take any credit whatsoever for creating any of the content in EoD, DCF, DC, or BF42, I merely changed the code so they d all work together. Also note that since the EOD and DCF code conflict, there may be CTDs. Please e-mail me about any bugs you encounter. Enjoy! EoDのMAP上でDCの兵科、兵器を動かすことができるようになるMOD。 なお、動作にはEve of Destruction Classic、Desert Combat、DC_Finalが必要。 ただし、2006年1月以降アップデートが行われていないため、EoDのバージョンが0.45以降のものだと動作しないMAPがある。
https://w.atwiki.jp/fumimtg/pages/17.html
Decks of the Week 05/25/2012 autolink デッキ (4-0) (3-1) 支配率 青赤双子の欠片 5 14 15.7% 青白カウブレード 4 7 9.8% メリーラ殻 2 10 9.2% 青赤緑デルバー 2 10 9.2% 親和 3 7 8.5% 緑赤トロン 1 7 5.9% 赤単バーン 2 4 5.2% 青白赤デルバー 1 5 4.6% ジャンド 0 7 4.6% 青赤集団意識 2 1 3.3% アグロローム 2 1 3.3% 白単ソウルシスターズ 1 3 3.3% 赤黒バーン 1 3 3.3% 緑黒白けち 0 3 2.0% 青赤ストーム 0 2 1.3% 白黒トークン 0 2 1.3% 青単フェアリー 0 2 1.3% 緑単エルフ 0 2 1.3% ボロス 0 1 0.7% 殻双子 0 1 0.7% ナヤ上陸 0 1 0.7% 黒緑ポックス 0 1 0.7% 緑系感染 0 1 0.7% 黒緑白デスクラウド 0 1 0.7% サニーサイドアップ 0 1 0.7% 青単イリュージョン 0 1 0.7% バントけち 0 1 0.7% 青黒フェアリーブレード 0 1 0.7% 青赤ブリーチトロン 0 1 0.7% 合計 26 101 100.0% Modern Daily #3845248 on 05/15/2012 (4-0) 青赤集団意識 sai199orz (3-1) 青赤緑デルバー elkuma 親和 Au_Allein 青黒フェアリーブレード Niran 赤単バーン zawarella 青白カウブレード triosk 赤黒バーン JusTimur Modern Daily #3845262 on 05/15/2012 (4-0) 青白カウブレード Nukesaku メリーラ殻 Asmodeius (3-1) ジャンド ccomakoto 赤単バーン BlueGoldBuckeye 赤単バーン ltbarn02 バントけち MayhemLikeMe 緑黒白けち Angel of Righteousness Modern Daily #3845279 on 05/16/2012 (4-0) 青白カウブレード yuurari_yuko (3-1) ジャンド Gargoyle 青単フェアリー tsuru 青赤ストーム Applehat 赤黒バーン gulemio3 Modern Daily #3869053 on 05/17/2012 (4-0) アグロローム robotbc (3-1) 親和 The_Co 青白カウブレード Torako 緑黒白けち Angel of Righteousness 青赤双子の欠片 Arabouya 青赤緑デルバー Butakov Modern Daily #3869077 on 05/17/2012 (4-0) 青赤集団意識 JohanV 青白カウブレード syrup16g (3-1) 殻双子 sai_2011 青赤緑デルバー SethDrone 黒緑ポックス NULLname 青赤双子の欠片 Bumbo 緑赤トロン TKC55 青赤ストーム noah_33 メリーラ殻 Asmodeius Modern Daily #3869085 on 05/17/2012 (4-0) 青白カウブレード triosk (3-1) 緑黒白けち Angel of Righteousness メリーラ殻 Asmodeius 青単イリュージョン tsuru 青赤双子の欠片 zdub メリーラ殻 Hoey07 親和 Orthodox Modern Daily #3869107 on 05/18/2012 (4-0) 青赤双子の欠片 yugor (3-1) 青赤双子の欠片 kouhei2011 青白カウブレード Torako 白黒トークン JohnnyHotSauce 青赤緑デルバー Butakov Modern Daily #3869153 on 05/19/2012 (4-0) 青赤緑デルバー Butakov (3-1) 白単ソウルシスターズ mlschultz ジャンド cwllc 青赤ブリーチトロン TonyMontana 青赤双子の欠片 yugor Modern Daily #3869162 on 05/19/2012 (4-0) 青赤双子の欠片 JohnnyHotSauce (3-1) 青赤双子の欠片 zdub メリーラ殻 1224ksk サニーサイドアップ Thejjuggler10 青白赤デルバー triosk Modern Daily #3869179 on 05/19/2012 (4-0) メリーラ殻 tagosaku (3-1) 青赤緑デルバー elkuma 青赤双子の欠片 duparcqG 緑赤トロン TKC55 ボロス LWashington Modern Daily #3869207 on 05/20/2012 (4-0) 青赤双子の欠片 JohnnyHotSauce (3-1) 黒緑白デスクラウド DireNTropy メリーラ殻 Smdster 青白赤デルバー Hologram001 青赤双子の欠片 kenwasa723 Modern Daily #3869217 on 05/20/2012 (4-0) 親和 Jmyers (3-1) 緑系感染 PepperLips 青白カウブレード kazuhiko 青赤緑デルバー Butakov アグロローム Mizeorno 緑赤トロン TKC55 青白赤デルバー _Soku_ Modern Daily #3869235 on 05/20/2012 (4-0) 白単ソウルシスターズ cyaso (3-1) 青赤集団意識 bozidar2121 緑単親和エルフ akiaya 青赤双子の欠片 hakumai 緑赤トロン TKC55 Modern Daily #3869245 on 05/20/2012 (4-0) 青赤緑デルバー in5ano (3-1) メリーラ殻 mikoknowledge03 ジャンド na0 緑赤トロン kendiggy 青白赤デルバー xMiMx Modern Daily #3869251 on 05/20/2012 (4-0) アグロローム robotbc (3-1) 青白赤デルバー xMiMx 青赤双子の欠片 Bumbo 青赤双子の欠片 the_royce メリーラ殻 Asmodeius Modern Daily #3869273 on 05/21/2012 (4-0) 親和 zydec0_ (3-1) ジャンド grapplingfarang 青単フェアリー tsuru 青赤緑デルバー elkuma 親和 MatAnjos Modern Daily #3869282 on 05/21/2012 (4-0) 青赤双子の欠片 yuri_ny 親和 MatAnjos (3-1) 緑単親和エルフ akiaya 親和 The_Co 白黒トークン gulemio3 青赤緑デルバー Butakov 青白カウブレード trunks132 Modern Daily #3869289 on 05/21/2012 (4-0) 赤単バーン ltbarn02 緑赤トロン TKC55 (3-1) 青赤緑デルバー Butakov 親和 MatAnjos ナヤ上陸 mahiro22 ジャンド na0 ジャンド hadrianus37 青白カウブレード daisonman Modern Daily #3869303 on 05/21/2012 (4-0) 青白赤デルバー Hologram001 赤単バーン ltbarn02 (3-1) メリーラ殻 Asmodeius メリーラ殻 Hoey07 青白カウブレード jeopody 赤単バーン Kelnon 赤黒バーン zumekun19850204 青赤双子の欠片 JohnnyHotSauce Modern Daily #3869312 on 05/22/2012 (4-0) 青赤双子の欠片 JohnnyHotSauce (3-1) 青赤双子の欠片 xNic_ 白単ソウルシスターズ cyaso メリーラ殻 Hoey07 緑赤トロン ayedub Modern Daily #3869325 on 05/22/2012 (4-0) 赤黒バーン AndyBurden (3-1) 親和 sai199orz 白単ソウルシスターズ cyaso 緑赤トロン naoki 青赤双子の欠片 yuri_ny 青赤緑デルバー larkblue
https://w.atwiki.jp/fortran/
https://w.atwiki.jp/akasatanahama/pages/137.html
概要 Minecraft内のクラス書き換えインターフェイス、"IClassTransformer"を用いてバニラクラスの書き換えを行う。 このチュートリアルはとても難解な内容を含んでいます。 中級編までをひとしきり出来るようになってから挑戦してください。 バニラクラスを書き換えるため競合に注意して行ってください。 事前準備 今回は事前の準備が幾つか必要である。 まず、クラス書き換え用の別ディレクトリをsrc/main/java内に作成する。今回はalcore.asmとする。 ディレクトリを分けずにやると正しく読み込めなくなるため必ずディレクトリを分ける。 次に、coremodとして働かせる(→クラス書き換え用に通常のMODより早く読み込む)MODとして、開発環境とビルド環境にそれぞれ読み込ませる。 今回はcoremodのクラスをalcore.asm.ALCorePluginとする。 ビルド環境 MODのjarファイル内に情報を埋め込めるよう、build.gradleファイルの末尾に以下のコードを追加する。 //manifestファイルの書き込みをビルドに追加する。これにより、coremodの読み込みが可能になる。 //なお、テスト起動時にはこのオプションが効かないためVMオプションに以下の引数を追加する。 //-Dfml.coreMods.load=alcore.asm.ALCorePlugin jar { manifest { //coremodのパスを指定する。 attributes FMLCorePlugin alcore.asm.ALCorePlugin //今回はAluminiummodが別で入っているためそれも読み込む。 attributes FMLCorePluginContainsFMLMod true } } 開発環境 開発環境では上記のものが効かないためVMオプションに以下の引数を追加する。 -Dfml.coreMods.load=alcore.asm.ALCorePlugin ソースコード 今回は、ディレクトリ"tutorial.aluminiummod"でアイテムの追加とレシピの追加及び鉱石の追加を参考にアルミニウムインゴット、アルミニウム鉱石とその精錬レシピまでを実装してある前提で解説する。 もしそこまでのやり方がわからない場合は、一旦上記三つのチュートリアルをよく読んでから戻ってきていただきたい。 ALCorePlugin.java package alcore.asm; import cpw.mods.fml.relauncher.IFMLLoadingPlugin; import java.util.Map; public class ALCorePlugin implements IFMLLoadingPlugin { //書き換え機能を実装したクラス一覧を渡す関数。書き方はパッケージ名+クラス名。 @Override public String[] getASMTransformerClass() { return new String[]{"alcore.asm.ALCoreTransformer"}; } //あとは今回は使わない為適当に。 @Override public String getSetupClass() { return null; } @Override public void injectData(Map String, Object data) { } @Override public String getAccessTransformerClass() { return null; } @Override public String getModContainerClass() { return null; } } ALCoreTransformer.java package alcore.asm; import cpw.mods.fml.common.asm.transformers.deobf.FMLDeobfuscatingRemapper; import net.minecraft.launchwrapper.IClassTransformer; import org.objectweb.asm.*; import static org.objectweb.asm.Opcodes.*; public class ALCoreTransformer implements IClassTransformer { //IClassTransformerにより呼ばれる書き換え用のメソッド。 @Override public byte[] transform(final String name, final String transformedName, byte[] bytes) { //対象クラス以外を除外する。対象は呼び出し元があるクラスである。 if (!"net.minecraft.tileentity.TileEntityFurnace".equals(transformedName)) return bytes; ClassReader cr = new ClassReader(bytes); ClassWriter cw = new ClassWriter(1); ClassVisitor cv = new ClassVisitor(ASM4, cw) { //クラス内のメソッドを訪れる。 @Override public MethodVisitor visitMethod(int access, String methodName, String desc, String signature, String[] exceptions) { MethodVisitor mv = super.visitMethod(access, methodName, desc, signature, exceptions); //呼び出し元のメソッドを参照していることを確認する。 String s1 = FMLDeobfuscatingRemapper.INSTANCE.mapMethodName(name, methodName, desc); //C \Users\ ユーザー名 \.gradle\caches\minecraft\net\minecraftforge\forge\1.7.10-10.13.4.1558-1.7.10\forge-1.7.10-10.13.4.1558-1.7.10-decomp.jar\より名称を検索、比較してメソッドの難読化名を探す。 if (s1.equals("updateEntity") || s1.equals("func_145845_h") || methodName.equals("updateEntity") || methodName.equals("func_145845_h")) { //もし対象だったらMethodVisitorを差し替える。 mv = new MethodVisitor(ASM4, mv) { //呼び出す予定のメソッドを読み込む。 @Override public void visitMethodInsn(int opcode, String owner, String methodName, String desc, boolean itf) { //書き換え対象のメソッドであることを確認する。 String s2 = FMLDeobfuscatingRemapper.INSTANCE.mapMethodName(name, methodName, desc); if (s2.equals("isBurning") || s2.equals("func_145950_i") || methodName.equals("isBurning") || methodName.equals("func_145950_i")) { //引数として次に渡す値にthisを指定する。 mv.visitVarInsn(ALOAD, 0); //メソッドを読み込む。INVOKESTATICでstaticメソッドを呼び出す。 super.visitMethodInsn(INVOKESTATIC, "alcore/asm/ALCoreHook", "ALFurnaceHook", Type.getMethodDescriptor(Type.VOID_TYPE, Type.getObjectType("net/minecraft/tileentity/TileEntity")), false); //今回はフックを差し込むだけだが、ここで書き換えも出来る。 } //今回は最後に元のクラスを読み込んでreturnする。 super.visitMethodInsn(opcode, owner, methodName, desc, itf); } }; } return mv; } }; cr.accept(cv, ClassReader.EXPAND_FRAMES); return cw.toByteArray(); } } ALCoreHook.java package alcore.asm; import net.minecraft.entity.item.EntityItem; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntityFurnace; import tutorial.aluminiummod.AluminiumMod; public class ALCoreHook { //差し込むフック。フック内の詳細は割愛。簡単に言うと、鉄鉱石とアルミニウムインゴットがある状態で火がついていたら爆発して鉄を撒き散らす。 public static void ALFurnaceHook(TileEntity tileEntity) { if (tileEntity instanceof TileEntityFurnace) { TileEntityFurnace furnace = ((TileEntityFurnace) tileEntity); if (furnace.furnaceBurnTime 0 furnace.getStackInSlot(0) != null furnace.getStackInSlot(0).getItem() == Item.getItemFromBlock(Blocks.iron_ore) furnace.getStackInSlot(2) != null furnace.getStackInSlot(2).getItem() == AluminiumMod.aluminium) { furnace.setInventorySlotContents(0, null); furnace.setInventorySlotContents(1, null); furnace.setInventorySlotContents(2, null); if (!furnace.getWorldObj().isRemote) { furnace.getWorldObj().newExplosion(null, furnace.xCoord, furnace.yCoord, furnace.zCoord, 15, true, true); EntityItem entityItem = new EntityItem(furnace.getWorldObj(), furnace.xCoord, furnace.yCoord, furnace.zCoord, new ItemStack(Items.iron_ingot, furnace.getWorldObj().rand.nextInt(32) + 32)); entityItem.fireResistance = Integer.MAX_VALUE; furnace.getWorldObj().spawnEntityInWorld(entityItem); } } } } } 解説 ALCorePlugin.java public String[] getASMTransformerClass() 書き換えするコードを記述したIClassTransformerを実装してあるクラスを渡す。 配列形式であるため、トランスフォーマーはいくつも追加することが出来る。 public String getModContainerClass() 今回はModとして見えないように実装するため、nullを返してある。 もしModとして見えるようにする(CodeChickenCoreのように別MODとしてリリースする)ならば、DummyModContainerを継承したクラス名をStringで渡す。 ex. "alcore.asm.ALModContainer" ALCoreTransformer.java public byte[] transform(final String name, final String transformedName, byte[] bytes) 書き換えの実態を担うクラス。引数は クラス名、易読化クラス名、バイトコードである。 バイトコードはそのままでは読めない読めたらすごいため、 ClassReader(バイトコードをASMで読めるようにする)→ClassWriter(ClassReaderを書き出せるようにする)→ClassVisitor(内部クラスでクラスを書き換えられるようにする) と手順を踏んで使えるようにする。 最終的にClassWriterをバイトコードに書き出して返す。 間違って別のクラス・メソッドを書き換えてしまってはいけないため、名称でのチェックが必要。 FMLDeobfuscatingRemapper public String mapMethodName(String owner, String name, String desc) クラス名、難読化されたメソッド名、引数記述Type(後述)の順で引数を与えて易読化メソッド名を返す…… はずなのだが、forge1.7.10だと何故かうまく動かない事がある。そのため、コメントの通り難読化されたソースコードと易読化されたものを比較し、難読化名も判定しておいたほうがいい。 ClassVisitor public MethodVisitor visitMethod(int access, String methodName, String desc, String signature, String[] exceptions) ここで、呼び出し元のメソッドをチェックする。今回は"onUpdateEntity"から呼ばれた"isBurning"に対して書き換えを施しているが、もし無差別にあるメソッドを書き換えるならif節は不要。 MethodVisitor public void visitMethodInsn(int opcode, String owner, String methodName, String desc, boolean itf) メソッド内での呼び出しされたメソッドを訪れる。 同様にintやstringなども訪れることが出来る(Methodvisitorのソース参照)。 ここで他のメソッドを呼び出してやることで、書き換えが実現できる。 ビルド・コンパイル coremodが正しく読み込まれているならば以下が出力されているはずである。テストプレイ時はまずこれをチェックしてみてほしい。 Found a command line coremod alcore.asm.ALCorePlugin また、このデータをjarファイルにコンパイルしたらMinecraftのディレクトリにあるmodsフォルダに入れてテストプレイをしたほうが良い。 難読化の都合上環境を変えるとうまく動かないためである。 不具合がある場合はロガーやSystem.out.printInを使って引数や変数の内容を出力させてみるのも手である。 コメント この項目に関する質問などをどうぞ。 名前