約 4,559,540 件
https://w.atwiki.jp/minecraftcodeserver/pages/22.html
Advanced Genetics Railcraft Thaumcraft Advanced Genetics MOBの遺伝子を自分に取り込むことで超能力をゲットするMOD。チート 他のMOBに遺伝子を与えることもできたり、クローンを作ったりも出来る。 Scraperを作成↓ MOBにScraperで右クリックしてSkin Scalesを入手↓ Skin ScalesをDNA Analyserに入れてCellを作成。↓ CellをDNA Extractorに入れて解読されてないHelixを作成。↓ 解読されてないHelixをDNA Decrypterに入れて解読されたHelixを作成。↓ 解読されたHelixをDNA Splitterに入れて欲しい能力を左の中から選択、そしてGeneを作成。↓ 欲しい能力のGeneをDNA Breederの右スロットに置く、中央に数字が出るからその分Geneを左スロットに入れていく。同じ能力のGeneだと2、Basic Geneだと1上昇する。そして増殖したGeneが完成。↓ 空のSyringeを持って右クリック長押し(MOBには一瞬)で自分あるいはMOBの血液が入ったSyringeをゲット。↓ 増殖したGeneと遠心分離されたSyringeをDNA Combinerにセットして能力入りSyringeが完成。↓ ←MOBあるいは自分の血液が入ったSyringeをCentrifugeに入れて遠心分離されたSyringeを作成。 能力入りSyringeをCentrifugeに入れて能力入り遠心分離されたSyringeを作成。↓ 能力入り遠心分離されたSyringeを右クリック長押し(MOBには一瞬)で注射することで能力ゲット。違う生物の血液が入ったSyringeを注射すると死ぬ。 Railcraft バージョン9.2.2.0にて、連結させたチェストカートを認識させるにはワールドを読み込み直す必要があるというバグがある。 Locking Track Boaring Mode1個とH.S Booster Track13個で最速っぽい? Thaumcraft 魔術を探求するMOD まずはIron Capped Wooden Wandを作りそれを本棚に右クリックすることでこのMODの基盤となるThaumonomiconを作成する。 Thaumonomiconには魔術に関する様々な知識が記されているがその多くは序盤では解明出来ていない。 これらを解明していくために研究を、研究をするためにAspectを集めることになる。 まずはAspectを集めるためにThaumometerを作る。これは様々なアイテムからAspectを読み取り、そのアイテム一種類につき一回だけAspectを取得できる。これにより様々なAspectを集めるが、アイテム一種類につき一回なので読み取り尽くした場合他の手段でAspectを集める必要がある。 そのアイテムが含むAspectが取得済みでないと読み取ることは出来ない。新たなAspectを入手するには、まずTableを作りそれを二つ並べそこにScribing Toolsを持って右クリックする。それによって作成されたResearchTableの中で既知のAspect2つを合成し、その組み合わせによっては新たなAspectが作られる。しかし組み合わせが正しくないとAspectは消費されるだけである。組み合わせはかなり複雑なものがあるがゲーム内ではヒントが無く、自力で解明しようとするのは困難だろう。 ワールドを冒険しているとうっすらと薄い光を見ることがあるかも知れない。それはAura Nodeと呼ばれるものでThaumometerを通すことではっきり見えるようになる。新しく見つけたAuraNodeを読み取るとそのAuraNodeが含むAspectを入手出来る。またAuraNodeよりはっきり輝き浮遊するものがあるだろう。これからもAuraNodeと同じようにAspectを新たに入手することができる。これはWispといい中には攻撃してくるものもいるので注意。これにより旅をしてAuraNode、Wispを見つけることでAspectを使い果たして詰むということは無いだろう。しかしこれらはそう頻繁には現れないため探すのに苦労する。 次に研究だが、Thaumonomiconの研究可能な項目は点滅している。六角形の項目はAspectを消費することで解放される。灰色になってるものは前提の項目が解明されていない等が原因。 インベントリにScribingToolsと紙を持った状態で点滅してる項目をクリックするとResearch Notesが作られる。これをResearchTableに置くと右に研究が表示される。中にはいくつかのAspectと六角形が並んでいる。 最初に置いてあるAspect同士を繋げるために左からAspectを掴んで六角形に置いていくのだが、関係を持ったAspect同士でしか繋がらない。関係というのはそれを材料にしたものか逆にそれの材料のということ。 それぞれのAspectが繋がると研究が完了しDiscoveryを入手する。これを手に持って右クリックすることでThaumonomiconの項目が解明される。 流れ Iron Capped Wooden Wand作成↓ 本棚に右クリックでThaumonomicon作成↓ Thaumometer作成↓ ←材料の~Infused Stoneを採掘 色んなアイテムからAspect読み取り↓→ ←ResearchTableでAspect同士を合成してみる。 ←Table二つ並べてScriberToolで右クリックでResearchTable作成 集めたAspectで研究する↓ ←ResearchNoteをResearchTableにセット ←ScribingToolと紙をインベントリに持って研究項目をクリックでResearchNote作成 研究した項目の内容を実践。 ゴーレム情報 Harvestの視野は9mx9m Gatherの視野は34mx34m 単位がmなのに注意
https://w.atwiki.jp/prdj/pages/3398.html
Pathfinder Module The Harrowing 9レベル・キャラクター用ダンジョンの冒険 Varisian fortune-tellers from across Golarion use the mystic harrow deck to read fate and predict the future, but few have ever mastered the mysterious harrow to such a degree as Sonnorae, a long-dead bard from the Age of Darkness. Fearing her collection of stories would be lost when she died, she created a demiplane within her own harrow deck to contain them. Over time, these stories took on lives of their own, and melded with the images on the cards themselves. But not all stories have happy endings, and the storykin who inhabit the Harrowed Realm have their own motivations and plots for power or even escape into the real world. When the PCs find themselves drawn into the Harrowed Realm in search of a disappeared scholar, they must use all their wits and steel to navigate the landscape and politics of this strange wonderland and make it home again. The Harrowing is an adventure for 9th-level characters, written for the Pathfinder Roleplaying Game and compatible with the 3.5 edition of the world’s oldest RPG. It features an entire plane of fanciful locations and characters inspired by the popular harrow deck of the Pathfinder campaign setting. In addition, you’ll find a brand-new monster and an optional rules subsystem allowing players to bend reality to their wills by using all 54 cards in the optional Pathfinder Campaign Setting Harrow Deck to manipulate the strange demiplane in which they adventure. 著者 Crystal Frasier Pathfinder Module は32ページの、高品質、フルカラーの、パスファインダーRPGとスタンダード3.5ファンタジーRPGルール双方で使用できる、OGLを使用した冒険である。 ISBN-13 978-1-60125-355-2 The Harrowingはパスファインダー協会加盟プレイでの使用を認められている。その年代記シートとこのモジュールを運用するための追加ルールは無料でダウンロードできる (236 KB zip/PDF)。 カテゴリ:Pathfinder Module │ 製品リスト
https://w.atwiki.jp/akinya/pages/54.html
編集 Mod 1.6.4 1.7.10 最新(1.8) サイト Ars Magica 2 OK OK NG wiki Galacticraft2 OK OK NG 公式 wiki Galacticraft3 NG OK NG 公式 Mekanism OK OK NG 公式 wiki MineChem5 Last OK NG 公式 Universal Electricity OK OK NG 公式 Resonant Engineに吸集 Resonant Engine OK OK NG 公式 Resonant-induction OK OK NG 公式 ICBM OK OK NG 公式 Modular Force Field System OK OK NG 公式 Open Computers OK OK NG 公式 Modular Powersuits OK OK NG 公式 Mad Science OK OK NG 公式 Inventory Tweaks 1.6.2 OK NG 公式 Thermal Expansion OK OK NG 公式 Applied Energistics OK OK NG 公式 Applied Energistics 2 NG OK NG 公式 MineAllSMP OK OK NG 公式 CutAllSMP OK OK NG 公式 DigAllSMP OK OK NG 公式 PickupWidelySMP OK OK NG 公式 NotEnoughItems OK OK NG 公式 Build Craft4 OK OK NG 公式 Build Craft5 NG OK NG 公式 Build Craft6 NG OK NG 公式 Build Craft7 NG β NG 公式 RailCraft8 OK NG NG RailCraft9 NG OK NG Botania OK Thaumcraft3 NG NG NG Thaumcraft4 OK OK NG 公式 Forestry for Minecraft OK BC推奨 OpenBlocks http //www.openmods.info OpenModLibが必要
https://w.atwiki.jp/xops/pages/23.html
MOD紹介・解説とか テンプレ [名前] [URL] [導入手順] [コメント] [名前]XOPS Addon Downloader [URL]http //www15.atwiki.jp/xops?cmd=upload act=open pageid=23 file=addon+downloader_3.zip [導入手順]中に入っている説明書を参照 [コメント]アドオンミッションを公開している場所のリストを作るソフトです うん、MODではないんだ。済まない(´・ω・`) [名前]ADDdata20070110 [URL]http //www15.atwiki.jp/xops?cmd=upload act=open pageid=23 file=ADDdata20070110.zip [導入手順]中に入っている説明書を参照 [コメント]XOPS Addon Downloader用のミッションデータ。07/01/10版
https://w.atwiki.jp/arrowsxf10d/pages/15.html
製品仕様(スペック) imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 ▼主な仕様 サイズ(H×W×D) 約135×67×11.7mm 質量 約152g 連続通話時間 3G 約420分 GSM 約590分 連続待受時間 LTE 約250時間 3G 約560時間 GSM 約420時間 電池容量 1800mAh ディスプレイ 4.6インチHD(720×1280) カメラ アウトカメラ 1310万画素 CMOS インカメラ 130万画素 CMOS CPU Tegra3 AP33 1.5GHz Quad core OS Android 4.0 メモリ RAM 1GB/ROM 16GB ▼主な機能 防水/防塵 IPX5/IPX8、IP5X 充電 置くだけ充電対応 spモード ○ 通信方式 3G/HIGH-SPEED/Xi Wi-Fi IEEE802.11a/b/g/n Bluetooth 4.0(HID、DUN、OPP、SPP、HSP、HFP、A2DP、AVRCP、HDP、PBAP、ANP、PASP) スマート指紋センサー 対応 FMトランスミッタ 対応 GPS 対応 DLNA/DTCP-IP 対応 急速充電 対応 USB機器接続 対応 MHL 対応(1280×720まで出力可能・1920×1080不可) ▼2012年夏モデル・ベンチマーク比較表 Arrows X F-10D ぶっちぎすぎワロタ
https://w.atwiki.jp/f-05d/pages/19.html
商品一覧項目について アンケート 液晶保護フィルムは何にしましたか? 商品一覧 メーカー 名称 種類 光線透過率 エアーレス AF AG 表面硬度 接着面 保護範囲 備考 バッファロー 液晶保護フィルム イージーフィット/反射防止タイプ BSEFF05DBK 低反射 91% ◎ ○ ◎ 3H アクリル系接着剤 画面+上部+下部 バッファロー 液晶保護フィルム 光沢タイプ BSMPF05DFG 光沢 94% × ○ × 2H シリコン 画面+上部+下部 バッファロー 液晶保護フィルム ミラータイプ BSMPF05DFM ミラー 69.58% × ○ × 2H シリコン 画面+上部+下部 覗き見防止にもなる バッファロー 液晶保護フィルム スーパースムースタッチタイプ BSMPF05DFT 低反射 90% × ○ ◎ 2H シリコン 画面+上部+下部 バッファロー 液晶保護フィルム イージーフィット/光沢タイプ BSEFGF05DBK 光沢 91% ◎ ○ × 3H アクリル系接着剤 画面+上部+下部 サンワサプライ 液晶保護指紋防止光沢フィルム PDA-FARXKFP 光沢 ? × ○ × ? シリコン 画面+上部+下部 レイ・アウト 高光沢防指紋保護フィルムRT-F05DF/A1 光沢 ? × ○ × 2H シリコン 画面+上部+下部 2枚セットもあり レイ・アウト 反射防止保護フィルム(アンチグレア) RT-F05DF/B1 低反射 ? × × ◎ 2H シリコン 画面+上部+下部 2枚セットもあり レイ・アウト 気泡ゼロ高光沢防指紋保護フィルム RT-F05DF/C1 光沢 ? ○ ○ × 2H シリコン 画面+上部+下部 レイ・アウト 抗菌高光沢防指紋保護フィルム RT-F05DF/D1 光沢 ? × ○ × 2H シリコン 画面+上部+下部 抗菌 レイ・アウト オトナ女子向け保護フィルム RT-F05DF/E1 光沢 ? × × ? 2h シリコン 画面+上部+下部 防汚 エレコム 液晶保護フィルム(反射防止) PD-F05FL 低反射 ? ? ? ◎ ? シリコン エレコム 液晶保護フィルム(指紋防止) PD-F05FLF ? ? × ○ ? ? シリコン エレコム 気泡ゼロフィルム PD-F05FLB 光沢 ? ◎ ○ × ? アクリル系接着剤 エレコム 防指紋エアーレスフィルム(反射防止) PD-F05FLFA 低反射 ? ○ ○ ◎ ? シリコン エレコム 防指紋エアーレスフィルム(光沢) PD-F05FLFAG 光沢 ? ○ ○ × ? シリコン エレコム 液晶保護フィルム(光沢) PD-F05FLFG 光沢 ? × × × ? シリコン エレコム 液晶保護フィルム(傷ブラインド) PD-F05FLR 光沢 ? × × ? ? シリコン 傷修復 エレコム 液晶保護フィルム(抗菌) PD-FT01FLV ? ? × ○ ? ? シリコン 抗菌 リックス 光沢ハードコート液晶保護フィルム RX-F05D01 低反射 ? ○ ○ × ? シリコン 画面+上部+下部 リックス 指紋・皮脂防止液晶保護フィルム RX-F05D02 低反射 ? ○ ○ ◎ ? シリコン 画面+上部+下部 リックス 覗き見防止液晶保護フィルム RX-F05D03 覗き見防止 ? × × × ? シリコン 画面 リックス 光沢コートゼロ気泡液晶保護フィルム RX-F05D04BK 光沢 ? ○ × ○ ? ポリマー樹脂 画面+上部+下部 リックス マットコートゼロ気泡液晶保護フィルム RX-F05D05BK 低反射 ? ○ ○ ◎ ? ポリマー樹脂 画面+上部+下部 ミヤビックス OverLay Brilliant for ARROWS X LTE F-05D 光沢 90% × × × ? シリコン 昔から有名な高品質の液晶保護フィルム ミヤビックス OverLay Plus for ARROWS X LTE F-05D 低反射 90% × ○ ◎ ? シリコン 昔から有名な高品質の液晶保護フィルム アスデック AR液晶保護フィルム AR-F05D 光沢 ? × ? ○ 3H シリコン レンズ保護フィルム2枚付き アスデック ノングレア液晶保護フィルム NF-F05D 低反射 ? × ○ ◎ 3H シリコン レンズ保護フィルム2枚付き 藤本電業 ARROWS X LTE F-05D 用 液晶保護フィルム(抗菌/クリアタイプ) F71-F05D-HF-KCL 光沢 92.80% ○ ○ × 2H シリコン 抗菌 藤本電業 ARROWS X LTE F-05D 用 液晶保護フィルム(抗菌/マットタイプ) F71-F05D-HF-KAG 低反射 92.40% ○ ○ ○ 2H シリコン 抗菌 マイクロソリューション PRO GUARD™ Glossy SH PGSH-ARXF05D 光沢 ? × × × ? シリコン 防汚・撥水・iPhoneで人気 マイクロソリューション PRO GUARD™ i.AG for PGIAG-RXF05D 低反射 ? ○ × ○ ? シリコン 防汚・撥水・iPhoneで人気 マイクロソリューション PRO GUARD™ AF PGAF-ARXF05D 光沢 ? ○ ○ × ? シリコン 防汚・撥水・iPhoneで人気 ※pocketgamesの液晶保護フィルムはまだ出てません 項目について 種類 種類 光線透過率 手触り 特殊機能 備考 光沢 ◎ ツルツル 特になし 見た目的な変化が最も小さい 低反射 ○ サラサラ 低反射・防指紋 モアレが発生しやすい・白っぽくなる ミラー △ ツルツル バックライトを消すと鏡になる 見難くなる 覗き見防止 △ ツルツル 正面からしか見えない 見難くなる・色合いも変わる 光線透過率 画面の見やすさ。高いほど良い 干渉縞防止 押した時に干渉縞が発生しない エアーレス 貼った時に気泡が入りにくい(◎は絶対に入らない)。 気泡は入らなくてもごみは入るので注意。 ただし、隙間が空いてる状態なので水や微細なごみが入る。 密着してないので透明度も低く、感度も悪い。 AF 指紋がつきにくい AG 反射防止 表面硬度 傷のつきにくさ。大きいほど良い 接着面 接着面 洗浄 糊残り 貼り直し 備考 シリコン ○ しない 傷がつかない限り可能 埃が入っても洗って貼り直し可能 アクリル系接着剤 × しにくい 粘着力が弱まる 一種の粘着テープのようなものなので、埃が入ると使い物にならなくなる。粘着剤を隠すために、周囲が不透明になっている。 アンケート 液晶保護フィルムは何にしましたか? アンケート参照
https://w.atwiki.jp/akasatanahama/pages/142.html
概要 レシピを追加する。 前のチュートリアルまで実装している段階でのコードである。 ソースコード 残念!ソースコードの追加実装などいらないのだよ!! あくまでも前のチュートリアルまで実装できていればだが、レシピの実装はjson側で行うため追加コードは必要ない。 アセット aluminium_block.json[recipe] src/main/resources/assets/aluminiummod/recipes/に配置する { "type" "minecraft crafting_shaped", "pattern" [ "###", "###", "###" ], "key" { "#" { "item" "aluminiummod aluminium" } }, "result" { "item" "aluminiummod aluminium_block" } } aluminium.json[recipe] { "type" "minecraft crafting_shapeless", "ingredients" [ { "item" "aluminiummod aluminium_block" } ], "result" { "item" "aluminiummod aluminium", "count" 9 } } 解説 MC1.12より、今までのレシピの登録方法が非推奨となり、代わりにjson形式でレシピを登録することになった。 その為、バニラにレシピを追加するだけのMODなら最悪@Modをつけたクラスを作成するだけでjavaに触れるのは終わる。 名称はそのままforge側に登録され、/recipeコマンドで使われるため作られるアイテムのレジスター名にするのが最適である。 まず、type要素でクラフトタイプを指定する。"minecraft crafting_shaped"で定形レシピ、minecraft crafting_shapelessで不定形レシピを指定する。 次に、定形レシピではpatternでレシピの形を指定し、その文字に当てはまるアイテムをkeyで指定する。 不定形レシピではingredientsで指定する。 最後に、resultで結果を登録する。 それぞれ で区切ってある前がMapのkey、後ろがvalueであると考えれば良い。 item要素で modid レジスター名 、count要素で個数、data要素でメタデータ(アイテムなのでblockstateは登録できない)を指定する。 アイテムの種類を増やしたいときはkey若しくはingredientsを下のように変更すれば良い。 +... 定形 "key" { "#" { "item" "aluminiummod aluminium" }, "A" { "item" "minecraft skull", "data" 4 }, 不定形 "ingredients" [ { "item" "aluminiummod aluminium_block" }, { "item" "minecraft skull", "data" 4 ], レシピ追加通知 MC1.12からの新機能として、「レシピブック」がある。 また、バニラのアイテムは入手したとき右上に「新規レシピ追加」という通知が出る。 今回はアイテムを大量に追加するMOD用に「レシピブック」とイベントを使って通知を出す。 (進捗のシステムを使ってレシピを出すことも出来るが、書くべきjsonファイル数が多くなる。そのやり方は進捗の追加チュートリアルで記載予定。) +... AluminiumMod.java クラス末尾に追加する。 @Mod.Instance("aluminiummod") public static AluminiumMod aluminiumInstance; @Mod.EventHandler public void init(FMLInitializationEvent event) { HOLDER.register(); } //アイテムを拾ったときのイベント。 @SubscribeEvent public void onPickupItem(EntityItemPickupEvent event) { this.aluminiumUnlockRecipes(event.getItem().getItem(), event.getEntityPlayer()); } //コンテナを閉じたとき(チェストやプレイヤーインベントリなど)のイベント。 @SubscribeEvent public void onCloseContainer(PlayerContainerEvent.Close event) { for (ItemStack itemStack event.getEntityPlayer().inventoryContainer.getInventory()) { this.aluminiumUnlockRecipes(itemStack, event.getEntityPlayer()); } } private void aluminiumUnlockRecipes(ItemStack stack, EntityPlayer player) { if (FMLCommonHandler.instance().getSide().isClient()) { Item item = stack.getItem(); int meta = stack.getMetadata(); ItemStack itemStack = new ItemStack(item, 1, meta); //もしレシピを保持するリストに合致すれば if (!this.HOLDER.map.isEmpty() this.HOLDER.map.containsKey(itemStack)) { List ResourceLocation list = this.HOLDER.map.get(itemStack); //player.unlockRecipes(ResourceLocation[] locations)でレシピブックに追加する。 player.unlockRecipes(list.toArray(new ResourceLocation[list.size()])); } } } AluminiumRecipeHolder.java レシピをリソースから読み取って保持するクラス。 package com.tntmodders.tutorial; import com.google.gson.Gson; import com.google.gson.JsonObject; import com.google.gson.stream.JsonReader; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.common.FMLCommonHandler; import java.io.*; import java.net.URL; import java.util.*; import java.util.jar.JarEntry; import java.util.jar.JarFile; public class AluminiumRecipeHolder { //ItemStackよりそのアイテムが鍵となるレシピを取得できるようにする。 public static final Map ItemStack, List ResourceLocation map = new ItemStackHashMap(); public void register() { if (FMLCommonHandler.instance().getSide().isClient()) { //assets/ modid /recipes/よりリソースを取得する。 this.getResource("assets/aluminiummod/recipes/"); } } public void getResource(String path) { ClassLoader loader = AluminiumMod.class.getClassLoader(); URL url = loader.getResource(path); //jarファイル内か否かで処理が変化する。 if (url.getProtocol().equals("jar")) { String[] strings = url.getPath().split(" "); String leadPath = strings[strings.length - 1].split("!")[0]; File f = new File(leadPath); JarFile jarFile; try { //jarファイル自体を取得する。(zipファイル・jarファイルとして扱う事ができる。) jarFile = new JarFile(f); Enumeration JarEntry enumeration = jarFile.entries(); while (enumeration.hasMoreElements()) { JarEntry entry = enumeration.nextElement(); String s = entry.getName(); if (s != null s.startsWith(path) s.endsWith(".json")) { InputStream stream = null; try { stream = loader.getResourceAsStream(s); //inputstreamを使ってjarファイル内のjsonを読み込む。 this.readStream(stream, s); stream.close(); } catch (Exception e) { e.printStackTrace(); } } } } catch (IOException e) { e.printStackTrace(); } } else { List File list = this.getListFile(path); if (list.size() 0) { for (File recipe list) { InputStream stream = null; try { stream = new FileInputStream(recipe); this.readStream(stream, recipe.getName()); stream.close(); } catch (Exception e) { e.printStackTrace(); } } } } } //ファイルを全て取得する。これもjarか否かによって変わる。 private List File getListFile(String path) { List File files = new ArrayList (); ClassLoader loader = AluminiumMod.class.getClassLoader(); URL url = loader.getResource(path); if (url.getProtocol().equals("jar")) { String[] strings = url.getPath().split(" "); String leadPath = strings[strings.length - 1].split("!")[0]; File f = new File(leadPath); JarFile jarFile; try { jarFile = new JarFile(f); Enumeration JarEntry enumeration = jarFile.entries(); while (enumeration.hasMoreElements()) { JarEntry entry = enumeration.nextElement(); String s = entry.getName(); if (s != null s.startsWith(path) s.endsWith(".json")) { files.add(new File(loader.getResource(s).getPath())); } } } catch (IOException e) { e.printStackTrace(); } } else { File packFile = FMLCommonHandler.instance().findContainerFor(AluminiumMod.aluminiumInstance).getSource(); File newFile = new File(packFile.toURI().getPath() + path); files = Arrays.asList(newFile.listFiles()); } return files; } private void readStream(InputStream stream, String name) { //inputstreamよりJSONを読み込む。 JsonReader reader = new JsonReader(new InputStreamReader(stream)); JsonObject jsonObject = new Gson().fromJson(reader, JsonObject.class); //文字列の中にパスが紛れ込んだ場合それを消す。また、".json"を抜いてResourceLocationとして保存する。 ResourceLocation location = new ResourceLocation("aluminiummod", name.replaceAll("assets/aluminiummod/recipes/", "") .replaceAll(".json", "")); //定形レシピでキーを"#"にしたアイテムを鍵とする。 if (jsonObject.has("key") jsonObject.getAsJsonObject("key").has("#")) { Item item = Item.getByNameOrId(jsonObject.getAsJsonObject("key").getAsJsonObject("#").get("item").getAsString()); int i = 0; if (jsonObject.getAsJsonObject("key").getAsJsonObject("#").has("data")) { i = jsonObject.getAsJsonObject("key").getAsJsonObject("#").get("data").getAsInt(); } ItemStack stack = new ItemStack(item, 1, i); List ResourceLocation locations = map.containsKey(stack) ? map.get(stack) new ArrayList ResourceLocation (); locations.add(location); map.put(stack, locations); } //不定形レシピで一番上に書いたアイテムを鍵とする。 else if (jsonObject.has("ingredients") jsonObject.getAsJsonArray("ingredients").get(0).getAsJsonObject().has("item")) { String s = jsonObject.getAsJsonArray("ingredients").get(0).getAsJsonObject().get("item").getAsString(); Item item = Item.getByNameOrId(s); int i = 0; if (jsonObject.getAsJsonArray("ingredients").get(0).getAsJsonObject().has("data")) { i = jsonObject.getAsJsonArray("ingredients").get(0).getAsJsonObject().get("data").getAsInt(); } ItemStack stack = new ItemStack(item, 1, i); List ResourceLocation locations = map.containsKey(stack) ? map.get(stack) new ArrayList ResourceLocation (); locations.add(location); map.put(stack, locations); } } //ItemStackを使ったマップを定義する。 public static class ItemStackHashMap K extends ItemStack, V extends List ResourceLocation extends HashMap K, V { public V get(Object key) { if (key instanceof ItemStack this.containsKey(key)) { for (Map.Entry K, V entry this.entrySet()) { if (entry.getKey().getItem() == ((ItemStack) key).getItem() entry.getKey().getMetadata() == ((ItemStack) key).getMetadata()) { return entry.getValue(); } } } return null; } @Override public boolean containsKey(Object key) { if (key instanceof ItemStack) { ItemStack itemStack = ((ItemStack) key); for (ItemStack stack this.keySet()) { if (stack.getItem() == itemStack.getItem() stack.getMetadata() == itemStack.getMetadata()) { return true; } } } return false; } } } コメント この項目に関する質問などをどうぞ。 名前
https://w.atwiki.jp/fsjp/pages/23.html
MODとは MODとは「Modification」の略でユーザーによってゲームを改造・変更することです。 メーカーが供給することもありますが、こちらはDLC(Down load contents)と呼ばれています。 MODを使用するとゲームが不安定なったり、最悪の場合はクラッシュすることがあるので利用する際は注意書きをよく読んでインストールしましょう。 万一の場合を考えてファイルを上書きするようなMODでは、必ずファイルのバックアップを取っておきましょう。 PCの基本的な知識の無い方はMODの利用はお勧めしません。 ゲームが壊れても一切保障致しません。 MOD導入方法 2009 http //simulator.zoo.co.jp/fs2009/mod.php 2011 ダウンロードしたファイルの説明に従う 基本的に マイドキュメント\My Games\FarmingSimulator2011\mods のフォルダ中へダウンロードしたZIPファイルを入れる 海外MOD紹介サイト http //download-ls.de http //ls-uk.info http //www.ls2009-mod.com http //lsportal.hu http //ls-planet.info http //www.fsmods.com http //gamesmods.net/ls-11 http //www.ls-network.de/index.php
https://w.atwiki.jp/tes5/pages/348.html
タイトルに360とPS3ってあるんだからMODはそっちのwikiでやってくれ ここと同じ2ch発wikiがもう出来てるよ - 名無しさん 2016-11-15 01 33 07 とりあえずテンプレ代わりに追加、分類なんかは後から考える方向で - 名無しさん 2016-11-14 21 46 48 他所からの情報だけど、 ◆Ultimate Player Start ステータス、スキル、perk、アイテム全てほぼMAX状態でスタート ◆Carry weight x3 倍率は5 10 30色々ある ◆Rich Merchants of Skryim 商人の所持金を1万ゴールドまで増やす ◆Deadly Destruction 破壊魔法を強化する(ダメージブースト、ステルスアタックとか) ◆Phenderix Magic evolved 魔法やスキルを増やす ◆Invincible Dogs of Skryim仲間犬追加&無敵化 ◆Talos Guide You (Protected NPCs) ほとんどのNPCが死なない、プレイヤーしか倒せなくなる このあたりが気になるかな、自分はまだMODに手を付けてないからどんなものかもわからないけど。 - 名無しさん 2016-11-14 08 28 40
https://w.atwiki.jp/akasatanahama/pages/135.html
概要 MinecraftForgeのイベント機能を利用して既存の処理に追加動作を施す。 2017/6/14 全体を確認し、修正や変更を行いました。 仕組み 今までMinecraft内のソースを見てみて、「ForgeHooks」や「EVENT_BUS」という記述を見たことはあるだろうか。 例えば、EntityLivingBase/onUpdateのメソッドを見てみよう。 public void onUpdate() { if (ForgeHooks.onLivingUpdate(this)) return; super.onUpdate(); /* 略 */ } /* 略 */ このように、Forgeがシステムを書き換えてイベントを起こしている場所がある。 ここで、@SubscribeEventのアノテーションを付け、適切な処理をしてあるメソッドが呼ばれる。 クラス書き換えと違って使えるものは限られるものの、競合が起きにくくかつ実装しやすい手段である。 ソースコード 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.eventhandler.SubscribeEvent; import net.minecraft.block.Block; import net.minecraft.entity.Entity; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.entity.monster.EntityIronGolem; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.util.DamageSource; import net.minecraft.world.ChunkPosition; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.living.LivingEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.event.entity.player.AttackEntityEvent; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.ExplosionEvent; import java.util.Iterator; @Mod(modid = "AluminiumMod", name = "Aluminium Mod", version = "1.0.0") public class AluminiumMod { @EventHandler public void preInit(FMLPreInitializationEvent event) { // Event処理を記述しているクラスをForgeに登録する。 // Forgeのイベントを受け取る。 MinecraftForge.EVENT_BUS.register(this); // FMLのイベントを受け取りたい場合は以下のように追加で登録する。 //FMLCommonHandler.instance().bus().register(this); } /** EntityLivingBaseがダメージを負った時のイベント。 */ @SubscribeEvent public void onLivingHurt(LivingHurtEvent event) { // プレイヤーがアイアンゴーレムに対して攻撃した時、プレイヤーに同量のダメージを与える。 Entity sourceEntity = event.source.getEntity(); if (event.entityLiving instanceof EntityIronGolem sourceEntity != null sourceEntity instanceof EntityPlayer) sourceEntity.attackEntityFrom(DamageSource.causeMobDamage(event.entityLiving), event.ammount); } /** プレイヤーがEntityを攻撃した時のイベント。 */ @SubscribeEvent public void onPlayerAttackEntity(AttackEntityEvent event) { // ダイヤモンドを持っていたら、HPをハート10個分回復する。 if (event.entityPlayer.getHeldItem() != null event.entityPlayer.getHeldItem().getItem() == Items.diamond) event.entityPlayer.heal(20); } /** EntityLivingBaseが更新される時のイベント。 */ @SubscribeEvent public void onLivingUpdate(LivingEvent.LivingUpdateEvent event) { // クリーパーなら雷雨時に巨匠化させる。 if (event.entityLiving instanceof EntityCreeper event.entityLiving.worldObj.isThundering()) event.entityLiving.getDataWatcher().updateObject(17, (byte) 1); } /** 爆発が起こった時のイベント。 */ @SubscribeEvent public void onExplosionDetonate(ExplosionEvent.Detonate event) { System.out.println("onExplosionDetonate"); // クリーパーが起こした爆発なら、EntityMob継承のEntityを全て爆発対象から除外する。(ダメージやノックバックがなくなる。) if (event.explosion.exploder != null event.explosion.exploder instanceof EntityCreeper) { Iterator Entity iterator = event.getAffectedEntities().iterator(); while (iterator.hasNext()) { if (iterator.next() instanceof EntityMob) iterator.remove(); } } // ブロック破壊と炎上があるなら、氷と氷塊を破壊対象から除外する。 if (event.explosion.isSmoking event.explosion.isFlaming) { Iterator ChunkPosition iterator = event.getAffectedBlocks().iterator(); while (iterator.hasNext()) { ChunkPosition position = iterator.next(); Block block = event.world.getBlock(position.chunkPosX, position.chunkPosY, position.chunkPosZ); if (block == Blocks.ice || block == Blocks.packed_ice) iterator.remove(); } } } /** プレイヤーがブロックを設置した時のイベント。 */ @SubscribeEvent public void onPlayerBlockPlace(BlockEvent.PlaceEvent event) { // 土にカーソルを合わせてダイヤモンドブロックを置こうとしたらキャンセルする。 if (event.placedBlock == Blocks.diamond_block event.placedAgainst == Blocks.dirt) event.setCanceled(true); } } 解説 EventBus イベントを管理するためのクラス。 ForgeとFMLが別でインスタンスを持っているため、利用したいイベントのパッケージを確認して対応したものに登録する。 このチュートリアルではForgeのものしか使っていないが、FMLにもTickEventやKeyInputEventなど多くのイベントが用意されている。 void register(Object target) イベントを処理するメソッドがあるクラスのインスタンスを渡す。 このクラス内にある、@SubscribeEventがついており引数がEventを継承するクラス一つのみのメソッドが、イベントリスナーとして登録される。 Event Minecraft内にフックされているイベントの元クラス。 これを継承したクラスがインスタンス化され、イベントが発生する。 親子関係があるイベントでは、親クラスを引数とするメソッドは、その全ての子クラスのイベントを受け取る。 例:ExplosionEventを引数とするメソッドはExplosionEvent.StartとExplosionEvent.Detonateの双方のイベントを受け取る。(一度の爆発につき二回呼ばれる。) void setResult(Result value) Eventに@HasResultがついている場合、これを利用するとフック元の残りの動作をキャンセルしたり別のものにしたりできる。 setCanseled(boolean cansel) Eventに@Canselableがついている場合、ここにtrueを入れるとフック元の残りの動作をなくせる。 LivingHurtEvent EntityLivingBaseを継承したEntityがダメージを負った時のイベント。 DamageSource source ダメージの種類や性質を持つクラス。 float ammount ダメージ量 EntityLivingBase entityLiving 親クラスであるLivingEventで定義。 LivingHurtEventの場合はダメージを受けたEntity。 AttackEntityEvent プレイヤーがEntityを攻撃した時のイベント。 Entity target 攻撃対象のEntity。 EntityPlayer entityPlayer 親クラスであるPlayerEventで定義。 攻撃したプレイヤー。 LivingUpdateEvent EntityLivingBaseを継承したEntityが更新される時のイベント。 EntityLivingBase.onUpdate()の最初で発生している。 EntityLivingBase entityLiving 親クラスであるLivingEventで定義。 LivingUpdateEventの場合は更新されるEntity。 Detonate ExplosionEventの子クラス。 爆発が起こった時のイベント。 ExplosionEventの別の子クラスであるStartは爆発処理の開始時だが、こちらは影響対象のリストアップとその処理の間で発生する。 そのため、影響対象の操作が可能となる。 List ChunkPosition getAffectedBlocks() 爆発の影響を受けるブロックのリストを返す。 Explosionのインスタンスから直接取得しても同じ。 List Entity getAffectedEntities() 爆発の影響を受けるEntityのリストを返す。 操作すると、爆発処理(ダメージや移動)に反映される。 Explosionはインスタンス変数として持っていないが、DetonateがentityListとして保持している。 World world 親クラスであるExplosionEventで定義。 爆発の発生したWorldのインスタンス。 Explosion explosion 親クラスであるExplosionEventで定義。 爆発の処理を行うクラス。 性質などをインスタンス変数として持っている。 boolean isSmoking 煙パーティクルを発生させるか。 ブロックの破壊もこれで管理されている。 boolean isFlaming 炎を発生させるか。 PlaceEvent プレイヤーがブロックを設置した時のイベント。 実際の設置処理は一通り終わっているので、座標とWorldからは設置されたブロックを得られる。 EntityPlayer player ブロックを設置したプレイヤー。 ItemStack itemInHand プレイヤーが手に持っているItemStackのインスタンス。 ブロック設置の処理を行う前の状態になっている。 BlockSnapshot blockSnapshot ブロック置き換え処理の途中で、置き換え前のブロックを一時的に保持するために使われている。 置き換えられたブロック(通常は空気)を得たい場合はこれを利用する。 また、座標やディメンションIDなども得られる。 Block placedBlock 設置されたブロック。 Block placedAgainst 設置の際に視線の先にあった(設置の支えとなった)ブロック。 コメント この項目に関する質問などをどうぞ。 メニューの「イベントの追加」のリンクがおかしいです。 - mod初心者 2017-05-20 21 26 17 ご指摘ありがとうございます。見事に製作の「製」の字を「制」にしておりました。修正しましたのでご確認ください。 - Tom Kate 2017-05-20 21 45 11 BlockPlacedEventですが、「== Blocks.air」ではなく「!= Blocks.air」だと思います。 - mod初心者 2017-05-30 17 23 56 「設置前のブロックが」空気ブロックであることを判定してますので問題ありません。 - Tom Kate 2017-05-30 19 23 53 ではこのイベントは何をするイベントなんですか? - mod初心者 2017-06-02 18 26 18 返信が遅くなってしまい申し訳ありません。PlaceEvent.placedAgainstは置き換えられたブロックではなく、ブロック設置直前に視線の先にあったブロックでした。本来、ダイヤモンドブロックを設置した時にキャンセルする、という処理を行いたかったため、正しいご指摘でした。少し処理を変更しましたので、ご確認ください。ご迷惑をおかけしてしまい、申し訳ありませんでした。 - 赤砂蛇凪浜 2017-06-14 19 15 35 こちらも説明不足ですみませんでした。大幅なコード修正ありがとうございました! - mod初心者 2017-06-16 19 03 04 List remover = new ArrayList();の型の設定やremover.addの括弧が多いような気がします。 - 名無しさん 2017-05-30 18 23 33 Entity型へのキャストを行っておりますので問題ありません。EclipseやIDEAなどでエラーが出ないかどうかご確認ください。 - Tom Kate 2017-05-30 19 25 56 remover.addのEntityMobの括弧足りなくてエラーになります。 - 名無しさん 2017-06-01 22 25 35 上のは解決しましたが、ListとArrayListの型は設定しなくて良いのでしょうか? - 名無しさん 2017-06-02 18 10 51 返信が遅くなってしまい申し訳ありません。ジェネリクスを利用しないとビルド時に警告が出ます。該当部分の処理方法を変更しましたが、同様のエラーは出ないよう修正しておきました。 - 赤砂蛇凪浜 2017-06-14 19 16 23 いつもこちらで勉強させていただいています。質問なのですが、下にあるブロックを掘ってアイテム化する(ドリルのように)というのは、どうすればいいのでしょうか。onDestroyByPlayerなどいろいろ試しましたが、壊れるのではなくて消えるようになってしまって困っています。 - 美羽 2017-06-04 09 47 06 返信が遅くなってしまい申し訳ありません。どのMODのドリルを指しているのかわかりませんが、アイテムを手に持ちブロックを右クリックした時の処理は、Itemを継承したクラスonItemUseを利用できます。また、ツルハシなどのように左クリック長押しによるブロック破壊の速度を上げたいのであれば、「ツール類の追加」を参考にしていただけると思います。onDestroyByPlayerという名のメソッドは見当たりませんでしたが、Block.onBlockDestroyedByPlayer(World, int, int, int, int)のことでしたら、ブロックがプレイヤーに破壊された時に呼ばれるメソッドです。ブロック破壊時のアイテムのドロップは、Block.harvestBlock(World, EntityPlayer, int, int, int, int)などを見ると分かるかもしれません。 - 赤砂蛇凪浜 2017-06-14 19 17 42 ありがとうございます。単に、下にあるブロックを破壊してアイテム化するブロックが作りたいのです - 美羽 2017-06-22 14 28 21 すみません、途中で書き込んでしまいました - 美羽 2017-06-22 14 29 02 Setblocktoairのように消えてしまうのではなく、つるはしで掘ったときのように徐々にひびが入って、破砕、アイテム化させたいです。 - 美羽 2017-06-22 14 35 06 返信が遅くなってしまい申し訳ありません。コメントのツリーを編集させていただきました。私も挑戦したことがないため、軽く調べてみましたが、間違っていたらすみません。ブロックのひび割れのレンダリングはRenderGlobalを通して行っているようです。drawBlockDamageTextureメソッドでレンダリングしているようですが、対象となるブロックはプレイヤーのEntityIDをキーとしたマップのdamagedBlocksで保持しており、ブロックやTileEntityからの介入は容易ではないと思います。 - 赤砂蛇凪浜 2017-07-08 18 29 55 名前