約 1,084,417 件
https://w.atwiki.jp/worldoftankmemo/pages/30.html
------------------------------------------------------------ 14/10/30 ------------------------------------------------------------ 自動照準 表示 最も近い車両にスナップ - autoaim_indicator-master.zip 追加 autoaim_indicator.json フォントを大きくする "font" "default_medium.font", ------------------------------------------------------------ 14/10/22 ------------------------------------------------------------ スペースキー履帯修理 - mod-vintik-bystryj-remont-i-lechenie-ekipazha.7z バージョンアップ ------------------------------------------------------------ 14/10/20 ------------------------------------------------------------ 敵 輪郭線表示 (X-ray) - mod-rentgen.7z 削除 ------------------------------ 敵 - 輪郭表示, 車体色変更, 消失位置遅延表示 (chamleon) - chit-mod-khameleon-dlya-wot-3-v-1.7z バージョンアップ system/fonts 削除 ShadowDelay 60.0 /ShadowDelay ------------------------------------------------------------ 14/10/09 ------------------------------------------------------------ 6感 表示延長 + 音 (no XVM) 6感アイコン Grandpa s 追加 ------------------------------------------------------------ 14/10/07 ------------------------------------------------------------ XVM - xvm-5.3.6.1.zip バージョンアップ ------------------------------ 被ダメ与ダメパネル - kalkulyator-effektivnosti-v-boyu-dlya-wot.7z 変更 ------------------------------------------------------------ 14/10/05 ------------------------------------------------------------ XVM - xvm-5.3.6.zip バージョンアップ ------------------------------------------------------------ 14/10/03 ------------------------------------------------------------ "マップ境界線変更" - light WIDE 9.3.7z 未使用 ------------------------------ "低解像度テキスチャー" - Fours FPS 4.2.rar マップ境界線を表示するので以下を削除する。 /maps/landscape ------------------------------ 照準 ([]), カメラ ズームインアウト 別バージョンに変更 ------------------------------------------------------------ 14/10/02 ------------------------------------------------------------ "マップ境界線変更" - light WIDE 9.3.7z "低解像度テキスチャー"でマップの境界線が見づらいので追加 ------------------------------ "被ダメパネル" - Xft-DamagePanel-093-v0.10b Bug fix ------------------------------ "ポリゴン軽量化" - nizkie-nastrojki-grafiki-wot.7z バージョンアップ ------------------------------------------------------------ 14/10/01 ------------------------------------------------------------ "敵 命中表示" - mod-lhit-pokazyvaet-popadaniya-po-protivniku-bez-zasveta.7z 試験導入 不可視の敵も表示する。 ------------------------------------------------------------ 14/09/30 ------------------------------------------------------------ "敵 リロード 距離 方向 表示 (no XVM)" - tajmer-perezaryadki-protivnika-nad-tankom.7z Bug fix フォルダ名 ↓ 使用 "Таймер перезарядки + указатель направления врагов" 未使用に... 敵 リロード時間表示 - lpt_kd.rar ------------------------------ "6感アイコン (音付き 要XVM )" - MGS_6thSense_093.zip バージョンアップ ------------------------------------------------------------ 14/09/29 ------------------------------------------------------------ "敵 リロード 距離 方向 表示 (no XVM)" - tajmer-perezaryadki-protivnika-nad-tankom.7z 敵リロード時間が表示されない。 代替え 敵 リロード時間表示 - lpt_kd.rar ------------------------------ 木軽量化 (木 幹だけ 草 なし) - 9.3_no_shrubs_with-trunks.zip バージョンアップ ------------------------------------------------------------ 14/09/28 ------------------------------------------------------------ 敵 - 輪郭表示, 車体色変更, 消失位置遅延表示 (chamleon) → 0.9.3 デフォルトを修正 (False → True) chams.xml 敵を着色 ChamsDefaultActive True /ChamsDefaultActive ------------------------------------------------------------ 14/09/27 ------------------------------------------------------------ "低解像度テキスチャー" - Fours FPS 4.2.rar 文字化けするので以下を削除する。 /system/data/texture_detail_levels.xml /system/fonts ------------------------------ "被ダメ与ダメパネル" - mod_calculator_effectivnosti_Vboy.zip 位置を修正 expD.json "x" 270, → "x" 370, ------------------------------------------------------------
https://w.atwiki.jp/wot_sengiken/pages/166.html
0.9.2向け 0.9.2クライアント向けのパッケージ。 ※最新版は、YawChang MODs Packageに掲載。 0.9.2向けパッケージ Ver. 9.2.3 (0.9.2対応 / 2014-08-07掲載)内容 導入手順 注意事項 変更点 スクリーンショット ダウンロード パッケージ Ver. 9.2.2a (0.9.2対応 / 2014-08-02掲載)内容 導入手順 注意事項 変更点 スクリーンショット ダウンロード パッケージ Ver. 9.2.1 (0.9.2対応 / 2014-07-31掲載)内容 導入手順 注意事項 変更点 スクリーンショット ダウンロード コメント パッケージ Ver. 9.2.3 (0.9.2対応 / 2014-08-07掲載) 内容 J1mB0 s Crosshair Mod v1.40 Adiya s Historical Sight Scope Mod (通常視界・スナイパー視界向けレティクルのみ) Alt Color Arty Reticle ズーム・発砲時の制震 Increase Chat Display Time Custom Damage Panel XVM 3064 Total HP Multilined TankCarousel HELL MINIMAL HANGAR MOD Session Statistics (YasenKrasen Vanilla) Auto Equip メアド・PW保存 日本語フォント 導入手順 "res_mods"のバックアップを作成する。 ダウンロードしたzipファイルを解凍する。 解凍したファイル・フォルダから"res_mods"フォルダの内容を、WoTクライアントのインストール先の"res_mods"フォルダにコピーする。 第六感発動時の音声を使用する場合は、同梱の"res"フォルダの内容をWoTクライアントの"res"フォルダにコピーする。 パッケージに同梱のフォント"DamagePanel_Font.ttf"を、Windowsにインストールする。 XVMのレーティング表示を有効にするためには、 XVMのサイト で アクティベート処理 を行う事。 XVMの言語設定を日本語にする場合は、"@xvm.xc"の"language"を"jp"に変更する。 注意事項 導入に際しては、事前に"res_mods"フォルダのバックアップを取ること。 戦闘中にウィンドウモードとフルスクリーンモードとを切り替えた場合、戦闘画面の右側に表示される撃破・水没等のメッセージ表示位置が異常になるが、ミニマップの表示サイズを変更することで回復可能。 (たまに直らない場合もあるが、気にしないように) ASIA以外のクライアントで使用する場合は、"res_mods\0.9.2\gui\gui_settings.xml"を削除すること。 (クライアント内のリンクを開いた際の飛び先が、ASIAのサイトになるため) 日本語設定のクライアントで使用する場合は、"res_mods\0.9.2\gui\flash\fonts_all.swf"を削除すること。 (クライアント内の表示が不正になるため) 日本語設定以外のクライアントで使用する場合は、日本語フォントが必要。 (XVM等で日本語表示を使用しているため) 一部の日本語表示にWindowsフォントを使用しているため、"MS ゴシック","MS Pゴシック"がPCにインストールされている必要がある。 XVMのnightly buildバージョンを使用しているため、予期せぬ不具合が発生する可能性がある。 変更点 前バージョン(9.2.2a)からの変更点。 XVMを3064に更新。 CDPの設定ファイルを、パッケージ9.1.1の物で上書き。 スクリーンショット +... レティクル(通常視界・スナイパー視界 リロード中) レティクル(通常視界・スナイパー視界 リロード済み) レティクル(自走方視界 リロード中)※画像のパネルは、8.11.1のもの。 レティクル(自走方視界 リロード済み)※画像のパネルは、8.11.1のもの。 ロード中画面 プレイヤー一覧 プレイヤーパネル ミニマップ ダメージパネル・ダメージログ ヒットログ 敵車両の残HP Capインジケータ Session Statisticsの表示 クルー選択 ダウンロード パッケージ Ver. 9.2.3 (0.9.2用) [YCModPack923.zip / 20.58 MB] Download (MediaFire) mirror1 (OneDrive) mirror2 (Google ドライブ) パッケージ Ver. 9.2.2a (0.9.2対応 / 2014-08-02掲載) 内容 J1mB0 s Crosshair Mod v1.40 Adiya s Historical Sight Scope Mod (通常視界・スナイパー視界向けレティクルのみ) Alt Color Arty Reticle ズーム・発砲時の制震 Increase Chat Display Time Custom Damage Panel XVM 3060 Total HP Multilined TankCarousel HELL MINIMAL HANGAR MOD Session Statistics (YasenKrasen Vanilla) Auto Equip メアド・PW保存 日本語フォント 導入手順 "res_mods"のバックアップを作成する。 ダウンロードしたzipファイルを解凍する。 解凍したファイル・フォルダから"res_mods"フォルダの内容を、WoTクライアントのインストール先の"res_mods"フォルダにコピーする。 第六感発動時の音声を使用する場合は、同梱の"res"フォルダの内容をWoTクライアントの"res"フォルダにコピーする。 パッケージに同梱のフォント"DamagePanel_Font.ttf"を、Windowsにインストールする。 XVMのレーティング表示を有効にするためには、 XVMのサイト で アクティベート処理 を行う事。 XVMの言語設定を日本語にする場合は、"@xvm.xc"の"language"を"jp"に変更する。 注意事項 導入に際しては、事前に"res_mods"フォルダのバックアップを取ること。 戦闘中にウィンドウモードとフルスクリーンモードとを切り替えた場合、戦闘画面の右側に表示される撃破・水没等のメッセージ表示位置が異常になるが、ミニマップの表示サイズを変更することで回復可能。 (たまに直らない場合もあるが、気にしないように) ASIA以外のクライアントで使用する場合は、"res_mods\0.9.2\gui\gui_settings.xml"を削除すること。 (クライアント内のリンクを開いた際の飛び先が、ASIAのサイトになるため) 日本語設定のクライアントで使用する場合は、"res_mods\0.9.2\gui\flash\fonts_all.swf"を削除すること。 (クライアント内の表示が不正になるため) 日本語設定以外のクライアントで使用する場合は、日本語フォントが必要。 (XVM等で日本語表示を使用しているため) 一部の日本語表示にWindowsフォントを使用しているため、"MS ゴシック","MS Pゴシック"がPCにインストールされている必要がある。 XVMのnightly buildバージョンを使用しているため、予期せぬ不具合が発生する可能性がある。 ガレージ多段化MODのインゲーム設定を無効化しているため、変更する場合は"MultilinedTankCarousel.cfg"を編集すること。 変更点 前バージョン(9.2.1)からの変更点。 XVMを3060に更新。 ガレージ多段化MODを再追加。 Total HP(戦闘画面上部に各チームの合計HPを表示)を追加 スクリーンショット +... レティクル(通常視界・スナイパー視界 リロード中) レティクル(通常視界・スナイパー視界 リロード済み) レティクル(自走方視界 リロード中)※画像のパネルは、8.11.1のもの。 レティクル(自走方視界 リロード済み)※画像のパネルは、8.11.1のもの。 ロード中画面 プレイヤー一覧 プレイヤーパネル ミニマップ ダメージパネル・ダメージログ ヒットログ 敵車両の残HP Capインジケータ Session Statisticsの表示 クルー選択 ダウンロード パッケージ Ver. 9.2.2a (0.9.2用) [YCModPack922a.zip / 20.58 MB] Download (MediaFire) mirror1 (OneDrive) mirror2 (Google ドライブ) パッケージ Ver. 9.2.1 (0.9.2対応 / 2014-07-31掲載) 内容 J1mB0 s Crosshair Mod v1.40 Adiya s Historical Sight Scope Mod (通常視界・スナイパー視界向けレティクルのみ) Alt Color Arty Reticle ズーム・発砲時の制震 Increase Chat Display Time Custom Damage Panel XVM 3052 Multilined TankCarousel v1.5 (インゲームの設定画面を無効化しているため、設定を変更する場合は"MultilinedTankCarousel.cfg"を編集すること) HELL MINIMAL HANGAR MOD Session Statistics (YasenKrasen Vanilla) Auto Equip メアド・PW保存 日本語フォント 導入手順 "res_mods"のバックアップを作成する。 ダウンロードしたzipファイルを解凍する。 解凍したファイル・フォルダから"res_mods"フォルダの内容を、WoTクライアントのインストール先の"res_mods"フォルダにコピーする。 第六感発動時の音声を使用する場合は、同梱の"res"フォルダの内容をWoTクライアントの"res"フォルダにコピーする。 パッケージに同梱のフォント"DamagePanel_Font.ttf"を、Windowsにインストールする。 XVMのレーティング表示を有効にするためには、 XVMのサイト で アクティベート処理 を行う事。 XVMの言語設定を日本語にする場合は、"@xvm.xc"の"language"を"jp"に変更する。 注意事項 導入に際しては、事前に"res_mods"フォルダのバックアップを取ること。 戦闘中にウィンドウモードとフルスクリーンモードとを切り替えた場合、戦闘画面の右側に表示される撃破・水没等のメッセージ表示位置が異常になるが、ミニマップの表示サイズを変更することで回復可能。 (たまに直らない場合もあるが、気にしないように) ASIA以外のクライアントで使用する場合は、"res_mods\0.9.2\gui\gui_settings.xml"を削除すること。 (クライアント内のリンクを開いた際の飛び先が、ASIAのサイトになるため) 日本語設定のクライアントで使用する場合は、"res_mods\0.9.2\gui\flash\fonts_all.swf"を削除すること。 (クライアント内の表示が不正になるため) 日本語設定以外のクライアントで使用する場合は、日本語フォントが必要。 (XVM等で日本語表示を使用しているため) 一部の日本語表示にWindowsフォントを使用しているため、"MS ゴシック","MS Pゴシック"がPCにインストールされている必要がある。 XVMのnightly buildバージョンを使用しているため、予期せぬ不具合が発生する可能性がある。 ガレージ多段化MODのインゲーム設定を無効化しているため、変更する場合は"MultilinedTankCarousel.cfg"を編集すること。 変更点 前バージョン(9.1.1)からの変更点。 各種MODを最新のものに更新。 ガレージ多段化MODを一時的に除外。 XVM設定 プレイヤーパネルの未発見マーカーを、以下の内容に変更。neverSeen "●" (未発見)lost "○" (失探)revealed "" (見えてる)dead "✔" (オダブツダー) XVM設定 クラン・プレイヤーのアイコンを整理。 スクリーンショット +... レティクル(通常視界・スナイパー視界 リロード中) レティクル(通常視界・スナイパー視界 リロード済み) レティクル(自走方視界 リロード中)※画像のパネルは、8.11.1のもの。 レティクル(自走方視界 リロード済み)※画像のパネルは、8.11.1のもの。 ロード中画面 プレイヤー一覧 プレイヤーパネル ミニマップ ダメージパネル・ダメージログ ヒットログ 敵車両の残HP Capインジケータ Session Statisticsの表示 クルー選択 ダウンロード パッケージ Ver. 9.2.1 (0.9.2用) YCModPack921.zip [zipファイル 15.51 MB] mirror1 mirror2 コメント 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/hmiku/pages/59359.html
【検索用 登録タグ 作M 作MM-P 作り手】 + 目次 目次 特徴 曲 CD 動画 関連タグ内の更新履歴 コメント 特徴 作り手名:『mode』 主な使用音源はtori。それ以外のUTAU音源も多数使用している。 曲 まだ曲が登録されていません。 CD まだCDが登録されていません。 動画 関連タグ内の更新履歴 + 関連タグ内の更新履歴 関連タグ内の更新履歴 ※「mode」「modeCD」タグ内で最近編集やコメントのあった記事を新しい方から10件表示しています。 まだ曲、CDが登録されていません。 コメント 名前 コメント
https://w.atwiki.jp/akasatanahama/pages/106.html
概要 MOD製作チュートリアル/TileEntityの追加で追加したTileEntityにGUI(Graphical User Interface)を実装する。 動作確認済バージョン:1.7.10-10.13.4.1558 ソースコード AluminiumMod.java package tutorial.aluminiummod; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; @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"; @Instance(MODID) public static AluminiumMod instance; public static Block chestAluminium; @EventHandler public void perInit(FMLPreInitializationEvent event) { chestAluminium = new BlockAluminiumChest() .setBlockName("chestAluminium") .setBlockTextureName("aluminiummod Aluminium_Chest"); GameRegistry.registerBlock(chestAluminium, "chestAluminium"); GameRegistry.registerTileEntity(TileEntityAluminiumChest.class, "TileEntityAluminiumChest"); NetworkRegistry.INSTANCE.registerGuiHandler(this.instance, new AluminiumModGuiHandler()); } } BlockAluminiumChest.java package tutorial.aluminiummod; import java.util.Random; import net.minecraft.block.Block; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class BlockAluminiumChest extends Block implements ITileEntityProvider { private Random random = new Random(); public BlockAluminiumChest() { super(Material.rock); this.setCreativeTab(CreativeTabs.tabDecorations); this.setHardness(5.0F); this.setResistance(1.0F); this.setStepSound(soundTypeMetal); isBlockContainer = true; } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityAluminiumChest(); } @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { // GUIを開く。 player.openGui(AluminiumMod.instance, 1, world, x, y, z); return true; } @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { // TileEntityの内部にあるアイテムをドロップさせる。 TileEntityAluminiumChest tileentity = (TileEntityAluminiumChest) world.getTileEntity(x, y, z); if (tileentity != null) { for (int i = 0; i tileentity.getSizeInventory(); i++) { ItemStack itemStack = tileentity.getStackInSlot(i); if (itemStack != null) { float f = random.nextFloat() * 0.6F + 0.1F; float f1 = random.nextFloat() * 0.6F + 0.1F; float f2 = random.nextFloat() * 0.6F + 0.1F; while (itemStack.stackSize 0) { int j = random.nextInt(21) + 10; if (j itemStack.stackSize) { j = itemStack.stackSize; } itemStack.stackSize -= j; EntityItem entityItem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemStack.getItem(), j, itemStack.getItemDamage())); if (itemStack.hasTagCompound()) { entityItem.getEntityItem() .setTagCompound(((NBTTagCompound) itemStack.getTagCompound().copy())); } float f3 = 0.025F; entityItem.motionX = (float) random.nextGaussian() * f3; entityItem.motionY = (float) random.nextGaussian() * f3 + 0.1F; entityItem.motionZ = (float) random.nextGaussian() * f3; world.spawnEntityInWorld(entityItem); } } } world.func_147453_f(x, y, z, block); } super.breakBlock(world, x, y, z, block, meta); } } TileEntityAluminiumChest.java package tutorial.aluminiummod; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; public class TileEntityAluminiumChest extends TileEntity implements IInventory { protected ItemStack[] itemStacks = new ItemStack[54]; @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); NBTTagList nbttaglist = new NBTTagList(); for (int i = 0; i itemStacks.length; i++) { if (itemStacks[i] == null) continue; NBTTagCompound nbt1 = new NBTTagCompound(); nbt1.setByte("Slot", (byte) i); itemStacks[i].writeToNBT(nbt1); nbttaglist.appendTag(nbt1); } nbt.setTag("Items", nbttaglist); } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList nbttaglist = nbt.getTagList("Items", 10); itemStacks = new ItemStack[54]; for (int i = 0; i nbttaglist.tagCount(); i++) { NBTTagCompound nbt1 = nbttaglist.getCompoundTagAt(i); byte b0 = nbt1.getByte("Slot"); if (0 = b0 b0 itemStacks.length) { itemStacks[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } } @Override public int getSizeInventory() { return 54; } @Override public ItemStack getStackInSlot(int slot) { return itemStacks[slot]; } @Override public ItemStack decrStackSize(int slot, int amount) { if (itemStacks[slot] == null) return null; ItemStack itemstack; if (itemStacks[slot].stackSize = amount) { itemstack = itemStacks[slot]; itemStacks[slot] = null; return itemstack; } itemstack = itemStacks[slot].splitStack(amount); if (itemStacks[slot].stackSize 1) { itemStacks[slot] = null; } return itemstack; } @Override public ItemStack getStackInSlotOnClosing(int slot) { return null; } @Override public void setInventorySlotContents(int slot, ItemStack itemStack) { itemStacks[slot] = itemStack; if (itemStack != null itemStack.stackSize this.getInventoryStackLimit()) { itemStack.stackSize = this.getInventoryStackLimit(); } } @Override public boolean hasCustomInventoryName() { return false; } @Override public String getInventoryName() { return "container.AluminiumMod.AluminiumChest"; } @Override public int getInventoryStackLimit() { return 64; } @Override public boolean isUseableByPlayer(EntityPlayer player) { return worldObj.getTileEntity(xCoord, yCoord, zCoord) != this ? false player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) = 64.0D; } @Override public void openInventory() {} @Override public void closeInventory() {} @Override public boolean isItemValidForSlot(int slot, ItemStack itemStack) { return true; } } AluminiumModGuiHandler.java package tutorial.aluminiummod; import cpw.mods.fml.common.network.IGuiHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class AluminiumModGuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { if (!world.blockExists(x, y, z)) return null; TileEntity tileentity = world.getTileEntity(x, y, z); if (tileentity instanceof TileEntityAluminiumChest) { return new ContainerAluminiumChest(player, (TileEntityAluminiumChest) tileentity); } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { if (!world.blockExists(x, y, z)) return null; TileEntity tileentity = world.getTileEntity(x, y, z); if (tileentity instanceof TileEntityAluminiumChest) { return new GuiAluminiumChest(player, (TileEntityAluminiumChest) tileentity); } return null; } } ContainerAluminiumChest.java package tutorial.aluminiummod; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerAluminiumChest extends Container { private TileEntityAluminiumChest tileEntity; /** アルミニウムチェストのインベントリの第一スロットの番号 */ private static final int index0 = 0; /** プレイヤーのインベントリの第一スロットの番号 */ private static final int index1 = 54; /** クイックスロットの第一スロットの番号 */ private static final int index2 = 81; /** このコンテナの全体のスロット数 */ private static final int index3 = 90; public ContainerAluminiumChest(EntityPlayer player, TileEntityAluminiumChest tileEntity) { // スロットを設定する。 this.tileEntity = tileEntity; for (int iy = 0; iy 6; iy++) { for (int ix = 0; ix 9; ix++) { this.addSlotToContainer(new Slot(tileEntity, ix + (iy * 9), 8 + (ix * 18), 18 + (iy * 18))); } } for (int iy = 0; iy 3; iy++) { for (int ix = 0; ix 9; ix++) { this.addSlotToContainer(new Slot(player.inventory, ix + (iy * 9) + 9, 8 + (ix * 18), 140 + (iy * 18))); } } for (int ix = 0; ix 9; ix++) { this.addSlotToContainer(new Slot(player.inventory, ix, 8 + (ix * 18), 198)); } } @Override public boolean canInteractWith(EntityPlayer player) { return tileEntity.isUseableByPlayer(player); } @Override public ItemStack transferStackInSlot(EntityPlayer player, int slotNumber) { ItemStack itemStack = null; Slot slot = (Slot) inventorySlots.get(slotNumber); if (slot != null slot.getHasStack()) { ItemStack itemStack1 = slot.getStack(); itemStack = itemStack1.copy(); if (index0 = slotNumber slotNumber index1) { // アルミニウムチェストのインベントリならプレイヤーのインベントリに移動。 if (!this.mergeItemStack(itemStack1, index1, index3, true)) { return null; } } else { // プレイヤーのインベントリならアルミニウムチェストのインベントリに移動。 if (!this.mergeItemStack(itemStack1, index0, index1, false)) { return null; } } if (itemStack1.stackSize == 0) { slot.putStack((ItemStack) null); } else { slot.onSlotChanged(); } if (itemStack1.stackSize == itemStack.stackSize) { return null; } slot.onPickupFromSlot(player, itemStack1); } return itemStack; } } GuiAluminiumChest.java package tutorial.aluminiummod; import org.lwjgl.opengl.GL11; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; public class GuiAluminiumChest extends GuiContainer { private TileEntityAluminiumChest tileEntity; // GUIのテクスチャの場所を指定する。今回はバニラのラージチェストと同じものを使う。 private static final ResourceLocation GUITEXTURE = new ResourceLocation("textures/gui/container/generic_54.png"); public GuiAluminiumChest(EntityPlayer player, TileEntityAluminiumChest tileEnttiy) { super(new ContainerAluminiumChest(player, tileEnttiy)); this.tileEntity = tileEnttiy; ySize = 222; } @Override protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { fontRendererObj.drawString(StatCollector.translateToLocal(tileEntity.getInventoryName()), 8, 6, 4210752); fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float tick, int mouseX, int mouseY) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); mc.getTextureManager().bindTexture(GUITEXTURE); int k = (width - xSize) / 2; int l = (height - ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, xSize, ySize); } } 解説 Instance String modid コアクラスのインスタンスにつけるアノテーション。 登録やインスタンスの生成・代入はForge側がやってくれるので何もしなくてよい。 NetworkRegistry GUIやパケットなどを管理するenum。 void registerGuiHandler(Object mod, IGuiHandler handler) MODのコアクラスのインスタンスと、それに対応したGuiHandlerを登録する処理。 EntityPlayer プレイヤーのEntity継承クラス。 void openGui(Object mod, int modGuiId, World world, int x, int y, int z) 第一引数はコアクラスのインスタンス、第二引数はMOD内でのGUIのID。 プレイヤーにGUIを開かせる。 IGuiHandler GuiHandlerのためのインターフェース。 Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) サーバー側で呼ばれる。 基本的にはIDに対応したContainerを返す。 Worldのインスタンスと座標も引数に含まれているので、TileEntityを取得して判別してもよい。 Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) クライアント側で呼ばれる。 基本的にはIDに対応したGuiを返す。 Container Slot addSlotToContainer(Slot slot) 新たなSlotをコンテナに登録する処理。 boolean canInteractWith(EntityPlayer player) プレイヤーがコンテナを使えるかどうかの判定。 ItemStack transferStackInSlot(EntityPlayer player, int slotNumber) スロットがShift+クリックされた時の処理。 クリックされたスロットの中身を移動する。 boolean mergeItemStack(ItemStack itemStack, int beginIndex, int endIndex, boolean doReverse) 引数のItemStackを指定された範囲内の空のスロットに移動する。 範囲は、beginIndexを含み、endIndexは含まない。 doReverseがtrueの場合は、検索方向がend→beginになる。 GuiContainer コンテナを持つGUIのクラス。 クライアントのみで使用される。 public GuiContainer(Container container) 引数は対応するコンテナ。 void drawGuiContainerForegroundLayer(int mouseX, int mouseY) Guiの前面レイヤーを描画する処理。 文字の描画などをする。 void drawGuiContainerBackgroundLayer(float tick, int mouseX, int mouseY) Guiの背景レイヤーを描画する処理。 Guiのテクスチャの描画などをする。 ResourceLocation リソースの場所を保持するクラス。 public ResourceLocation(String path) コンストラクタ。 引数でリソースの場所を指定する。 "modid textures/..."というように、すべて小文字にしたMODIDと、textures以下のファイルのパスを指定する。 例えば、assets/aluminiummod/textures/gui/gui.pngだとすると、private static final ResourceLocation GUITEXTURE = new ResourceLocation("aluminiummod textures/gui/gui.png");と記述する。 なお、GUIのテクスチャは画像ファイルを正方形にしないと縦横比がおかしくなる可能性があるので、カンバスサイズを256x256や512x512などにしておいて、余白を透明で残しておくと良い。 使用例 オファレンプレゼントボックスを追加している部分。 +オファレン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 MCVERSION = "1.7.10"; public static final String OMVERSION = "1.1.0"; public static final String VERSION = "[" + MCVERSION + "]" + OMVERSION; /** coreクラスのインスタンス */ @Instance(MODID) public static OfalenModCore instance; /*略*/ /** 初期化前処理。 */ @EventHandler public void preInit(FMLPreInitializationEvent event) { /*略*/ OfalenModBlockCore.registerBlock(); // 機械類のGUIを登録する。 NetworkRegistry.INSTANCE.registerGuiHandler(this.instance, new OfalenModGuiHandler()); /*略*/ } /*略*/ } OfalenModBlockCore.java package nahama.ofalenmod.core; /*略*/ public class OfalenModBlockCore { /*略*/ public static Block boxPresentOfalen; /** ブロックを登録する処理。 */ public static void registerBlock() { /*略*/ boxPresentOfalen = new BlockPresentBox() .setBlockName("boxPresentOfalen") .setBlockTextureName("ofalenmod present_box"); GameRegistry.registerBlock(boxPresentOfalen, "boxPresentOfalen"); GameRegistry.registerTileEntity(TileEntityPresentBox.class, "TileEntityOfalenPresentBox"); } } BlockPresentBox.java package nahama.ofalenmod.block; import java.util.Random; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import nahama.ofalenmod.OfalenModCore; import nahama.ofalenmod.handler.OfalenModAnniversaryHandler; import nahama.ofalenmod.tileentity.TileEntityPresentBox; import net.minecraft.block.Block; import net.minecraft.block.ITileEntityProvider; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; public class BlockPresentBox extends Block implements ITileEntityProvider { private Random random = new Random(); /** 0 下,1 上,2 横,3 クリスマス下,4;クリスマス上,5 クリスマス横 */ private IIcon[] iicon = new IIcon[6]; public BlockPresentBox() { super(Material.sponge); this.setCreativeTab(OfalenModCore.tabOfalen); this.setHardness(1.0F); this.setResistance(1.0F); this.setStepSound(Block.soundTypeCloth); } @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPresentBox(); } /** プレイヤーに右クリックされたときの処理。 */ @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { // GUIを開く player.openGui(OfalenModCore.instance, 1, world, x, y, z); return true; } /** ブロックが破壊された時の処理。 */ @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { // TileEntityの内部にあるアイテムをドロップさせる。 TileEntityPresentBox tileentity = (TileEntityPresentBox) world.getTileEntity(x, y, z); if (tileentity != null) { for (int i = 0; i tileentity.getSizeInventory(); i++) { ItemStack itemStack = tileentity.getStackInSlot(i); if (itemStack != null) { float f = random.nextFloat() * 0.6F + 0.1F; float f1 = random.nextFloat() * 0.6F + 0.1F; float f2 = random.nextFloat() * 0.6F + 0.1F; while (itemStack.stackSize 0) { int j = random.nextInt(21) + 10; if (j itemStack.stackSize) { j = itemStack.stackSize; } itemStack.stackSize -= j; EntityItem entityItem = new EntityItem(world, x + f, y + f1, z + f2, new ItemStack(itemStack.getItem(), j, itemStack.getItemDamage())); if (itemStack.hasTagCompound()) { entityItem.getEntityItem().setTagCompound(((NBTTagCompound) itemStack.getTagCompound().copy())); } float f3 = 0.025F; entityItem.motionX = (float) random.nextGaussian() * f3; entityItem.motionY = (float) random.nextGaussian() * f3 + 0.1F; entityItem.motionZ = (float) random.nextGaussian() * f3; world.spawnEntityInWorld(entityItem); } } } world.func_147453_f(x, y, z, block); } super.breakBlock(world, x, y, z, block, meta); } /** ブロックのアイコンを登録する処理。 */ @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister register) { for (int i = 0; i 6; i++) { iicon[i] = register.registerIcon(this.getTextureName() + "-" + i); } } /** ブロックのアイコンを返す。 */ @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { int i = 2; if (side == 0) i = 0; if (side == 1) i = 1; if (OfalenModAnniversaryHandler.isChristmas) i += 3; return iicon[i]; } } TileEntityPresentBox.java package nahama.ofalenmod.tileentity; import nahama.ofalenmod.handler.OfalenModAnniversaryHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; public class TileEntityPresentBox extends TileEntity implements IInventory { protected ItemStack[] itemStacks = new ItemStack[54]; protected String owner; /** プレイヤーがインベントリを開けた時の処理。 */ public void openInventory(EntityPlayer player) { if (owner != null || worldObj.isRemote) return; // オーナーに設定し、中身を上書きする。 owner = player.getCommandSenderName(); ItemStack[] presents = OfalenModAnniversaryHandler.getPresents(player); if (presents == null) return; itemStacks = presents; } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); NBTTagList nbttaglist = new NBTTagList(); for (int i = 0; i itemStacks.length; i++) { if (itemStacks[i] == null) continue; NBTTagCompound nbt1 = new NBTTagCompound(); nbt1.setByte("Slot", (byte) i); itemStacks[i].writeToNBT(nbt1); nbttaglist.appendTag(nbt1); } nbt.setTag("Items", nbttaglist); nbt.setString("Owner", owner); } @Override public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); NBTTagList nbttaglist = nbt.getTagList("Items", 10); itemStacks = new ItemStack[54]; for (int i = 0; i nbttaglist.tagCount(); i++) { NBTTagCompound nbt1 = nbttaglist.getCompoundTagAt(i); byte b0 = nbt1.getByte("Slot"); if (0 = b0 b0 itemStacks.length) { itemStacks[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } owner = nbt.getString("Owner"); } /** インベントリのスロット数を返す。 */ @Override public int getSizeInventory() { return 54; } /** スロットのアイテムを返す。 */ @Override public ItemStack getStackInSlot(int slot) { return itemStacks[slot]; } /** スロットのスタック数を減らす。 */ @Override public ItemStack decrStackSize(int slot, int amount) { if (itemStacks[slot] == null) return null; ItemStack itemstack; if (itemStacks[slot].stackSize = amount) { itemstack = itemStacks[slot]; itemStacks[slot] = null; return itemstack; } itemstack = itemStacks[slot].splitStack(amount); if (itemStacks[slot].stackSize 1) { itemStacks[slot] = null; } return itemstack; } @Override public ItemStack getStackInSlotOnClosing(int slot) { return null; } /** スロットの中身を設定する。 */ @Override public void setInventorySlotContents(int slot, ItemStack itemStack) { itemStacks[slot] = itemStack; if (itemStack != null itemStack.stackSize this.getInventoryStackLimit()) { itemStack.stackSize = this.getInventoryStackLimit(); } } /** 金床で設定された名前を持つかどうか。 */ @Override public boolean hasCustomInventoryName() { return false; } /** インベントリの名前を返す。 */ @Override public String getInventoryName() { return "container.OfalenMod.PresentBox"; } /** このインベントリの最大スタック数を返す。 */ @Override public int getInventoryStackLimit() { return 64; } /** プレイヤーが使用できるかどうか。 */ @Override public boolean isUseableByPlayer(EntityPlayer player) { if (owner != null !player.getCommandSenderName().equals(owner)) return false; return worldObj.getTileEntity(xCoord, yCoord, zCoord) != this ? false player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) = 64.0D; } @Override public void openInventory() {} @Override public void closeInventory() {} /** スロットにアクセスできるかどうか。 */ @Override public boolean isItemValidForSlot(int slot, ItemStack itemStack) { return false; } } OfalenModGuiHandler.java package nahama.ofalenmod.handler; /*略*/ public class OfalenModGuiHandler implements IGuiHandler { @Override public Object getServerGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { if (id == 2) return new ContainerItemShield(player); if (id == 3) return new ContainerItemTeleporter(player); if (id == 4) return new ContainerItemFloater(player); if (!world.blockExists(x, y, z)) return null; TileEntity tileentity = world.getTileEntity(x, y, z); if (tileentity instanceof TileEntitySmeltingMachine) { return new ContainerSmeltingMachine(player, (TileEntitySmeltingMachine) tileentity); } if (tileentity instanceof TileEntityRepairMachine) { return new ContainerRepairMachine(player, (TileEntityRepairMachine) tileentity); } if (tileentity instanceof TileEntityConversionMachine) { return new ContainerConversionMachine(player, (TileEntityConversionMachine) tileentity); } if (tileentity instanceof TileEntityTeleportMarker) { return new ContainerTeleportMarker(player, (TileEntityTeleportMarker) tileentity); } if (tileentity instanceof TileEntityPresentBox) { return new ContainerPresentBox(player, (TileEntityPresentBox) tileentity); } return null; } @Override public Object getClientGuiElement(int id, EntityPlayer player, World world, int x, int y, int z) { if (id == 2) return new GuiItemShield(player); if (id == 3) return new GuiItemTeleporter(player); if (id == 4) return new GuiItemFloater(player); if (!world.blockExists(x, y, z)) return null; TileEntity tileentity = world.getTileEntity(x, y, z); if (tileentity instanceof TileEntitySmeltingMachine) { return new GuiSmeltingMachine(player, (TileEntitySmeltingMachine) tileentity); } if (tileentity instanceof TileEntityRepairMachine) { return new GuiRepairMachine(player, (TileEntityRepairMachine) tileentity); } if (tileentity instanceof TileEntityConversionMachine) { return new GuiConversionMachine(player, (TileEntityConversionMachine) tileentity); } if (tileentity instanceof TileEntityTeleportMarker) { return new GuiTeleportMarker(player, (TileEntityTeleportMarker) tileentity); } if (tileentity instanceof TileEntityPresentBox) { return new GuiPresentBox(player, (TileEntityPresentBox) tileentity); } return null; } } ContainerPresentBox.java package nahama.ofalenmod.inventory; import nahama.ofalenmod.tileentity.TileEntityPresentBox; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; public class ContainerPresentBox extends Container { private TileEntityPresentBox tileEntity; /** プレゼントボックスのインベントリの第一スロットの番号 */ private static final int index0 = 0; /** プレイヤーのインベントリの第一スロットの番号 */ private static final int index1 = 54; /** クイックスロットの第一スロットの番号 */ private static final int index2 = 81; /** このコンテナの全体のスロット数 */ private static final int index3 = 90; public ContainerPresentBox(EntityPlayer player, TileEntityPresentBox tileEntity) { this.tileEntity = tileEntity; tileEntity.openInventory(player); for (int iy = 0; iy 6; iy++) { for (int ix = 0; ix 9; ix++) { this.addSlotToContainer(new Slot(tileEntity, ix + (iy * 9), 8 + (ix * 18), 18 + (iy * 18))); } } for (int iy = 0; iy 3; iy++) { for (int ix = 0; ix 9; ix++) { this.addSlotToContainer(new Slot(player.inventory, ix + (iy * 9) + 9, 8 + (ix * 18), 140 + (iy * 18))); } } for (int ix = 0; ix 9; ix++) { this.addSlotToContainer(new Slot(player.inventory, ix, 8 + (ix * 18), 198)); } } @Override public boolean canInteractWith(EntityPlayer player) { return tileEntity.isUseableByPlayer(player); } @Override public ItemStack transferStackInSlot(EntityPlayer player, int slotNumber) { ItemStack itemStack = null; Slot slot = (Slot) inventorySlots.get(slotNumber); if (slot != null slot.getHasStack()) { ItemStack itemStack1 = slot.getStack(); itemStack = itemStack1.copy(); if (index0 = slotNumber slotNumber index1) { // プレゼントボックスのインベントリならプレイヤーのインベントリに移動。 if (!this.mergeItemStack(itemStack1, index1, index3, true)) { return null; } } else { if (index1 = slotNumber slotNumber index2) { // プレイヤーのインベントリならクイックスロットに移動。 if (!this.mergeItemStack(itemStack1, index2, index3, false)) { return null; } } else if (index2 = slotNumber slotNumber index3 !this.mergeItemStack(itemStack1, index1, index2, false)) { // クイックスロットからプレイヤーのインベントリに移動できなかったら終了。 return null; } } if (itemStack1.stackSize == 0) { slot.putStack((ItemStack) null); } else { slot.onSlotChanged(); } if (itemStack1.stackSize == itemStack.stackSize) { return null; } slot.onPickupFromSlot(player, itemStack1); } return itemStack; } } GuiPresentBox.java package nahama.ofalenmod.gui; import org.lwjgl.opengl.GL11; import nahama.ofalenmod.inventory.ContainerPresentBox; import nahama.ofalenmod.tileentity.TileEntityPresentBox; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.ResourceLocation; import net.minecraft.util.StatCollector; public class GuiPresentBox extends GuiContainer { private TileEntityPresentBox tileEntity; private static final ResourceLocation GUITEXTURE = new ResourceLocation("textures/gui/container/generic_54.png"); public GuiPresentBox(EntityPlayer player, TileEntityPresentBox tileEnttiy) { super(new ContainerPresentBox(player, tileEnttiy)); this.tileEntity = tileEnttiy; ySize = 222; } @Override protected void drawGuiContainerForegroundLayer(int par1, int par2) { fontRendererObj.drawString(StatCollector.translateToLocal(tileEntity.getInventoryName()), 8, 6, 4210752); fontRendererObj.drawString(StatCollector.translateToLocal("container.inventory"), 8, ySize - 96 + 2, 4210752); } @Override protected void drawGuiContainerBackgroundLayer(float par1, int par2, int par3) { GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); mc.getTextureManager().bindTexture(GUITEXTURE); int k = (width - xSize) / 2; int l = (height - ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, xSize, ySize); } } コメント この項目に関する質問などをどうぞ。 GUIのテクスチャをオリジナルのものにする場合どう記述すれば、よいのでしょうか? - 新人もっだー 2015-12-20 12 20 13 解説/public ResourceLocation(String path)に追記しましたのでご確認ください。自分で指定したパスにバニラのラージチェストのテクスチャを改変したものを保存すればできます。 - Tom Kate 2015-12-21 16 52 24 コピペでもコンストラクター ContainerAluminiumChest(EntityPlayer, TileEntityChest) は未定義ですとなります。 - 新人もっだー 2015-12-26 11 26 55 それは、Eclipse上でコンパイルエラーの検出がされたということでしょうか?どの行でのエラーかを教えていただけないでしょうか。 - 赤砂蛇凪浜 2015-12-26 13 48 01 ContainerAluminiumChestのreturn new ContainerChest(player, (TileEntityChest) tileentity);no - 新人もっだー 2015-12-28 08 51 55 の行です - 新人もっだー 2015-12-28 08 52 37 このチュートリアルの中に該当する行がありません。一度コピー ペーストしなおしてみてください。 - 赤砂蛇凪浜 2015-12-28 09 36 26 import cpw.mods.fml.common.Mod.Instance;が書き込んでから保存するとなぜかそれだけ消えてしまうのですが、なんで何でしょうか? - san 2016-09-11 08 20 49 IDE(Eclipse)のimport文自動編集が消しているのだと思われます。@Instanceの部分にエラーが出ていなければ特に問題はないと思います。 - 赤砂蛇凪浜 2016-09-16 07 35 27 醸造台やエンチャント台、装備スロットのように、スロット内に一部のアイテムのみ入れられるようにするにはどうすれば良いのでしょうか? - 名無しさん 2016-12-02 01 33 32 addSlotToContainerでSlotを継承した自作のクラスを渡せばよいです。その際、isItemValidをオーバーライドすれば入れられるアイテムを、canTakeStackをオーバーライドすれば取り出せるアイテムを制御できます。分かりにくかったらすみません。後ほど本文への掲載も検討します。 - 赤砂蛇凪浜 2016-12-04 10 50 12 GUIに文字を入れて翻訳するのはどうやるんですか - HIROMARU (2021-01-09 11 38 30) 名前
https://w.atwiki.jp/mikeneko_lotus/pages/16.html
軽量化に関する話 以下コピペ。 @ina111 ina111 マジレスすると翼型なんかより芝浦の2人乗りの機体の一番の改善点は重量だと思う・・・二人乗りだからって他の2倍以上の重量にする必要はないよ @rarukado Masaaki Tsuchitori @ina111 おそらく機体重量は50kgぐらいで何とかなるんじゃないかと・・・mikeneko_lotus みけ@ゞ(・ω・ゞ) @rarukado @ina111 50kg・・・。どこを減らせばいいんでしょうか。。 @mikeneko_lotus みけ@ゞ(・ω・ゞ) @ina111 重量面は少しずつ少しずつ改善しています。主翼メインスパーの積層構成をちょっとずつ削ったりしてるんです。 (2次構造の軽量化は僕のときに試みましたが、200kgoverの機体には微々たるものでした。orz) @ina111 @mikeneko_lotus 主桁の重量はいくつ?@mikeneko_lotus みけ@ゞ(・ω・ゞ) @ina111 40kgほどだったと思います。 @ina111 @mikeneko_lotus 主翼?主桁だけではいくつ?@mikeneko_lotus みけ@ゞ(・ω・ゞ) 主翼重量は50kgほどあります。 40kgは主翼スパーの重さです。。w @ina111 @mikeneko_lotus 直感的には30kgまでは楽勝で少なくできそう @rarukado Masaaki Tsuchitori @mikeneko_lotus スパー40Kgがそもそも重い気がするなぁ 過強度なんちゃう? なにをもって過強度かっていう基準無いけど@mikeneko_lotus みけ@ゞ(・ω・ゞ) コクピ周りのパイプが多いのは事実ですが TFで地球と喧嘩しても壊れない強度にするために、パイプが多いんです。 200kgの位置エネルギーが計り知れないのです。。計算してあの構造にしているわけではないのですが。。 @ashula Yohei.H @mikeneko_lotus 1つ1つのパイプを強化して本数を減らせば良いのでは?あと、後輪を小さくすれば。あそこ確かまだスポークがついたタイヤだったよね。 @mikeneko_lotus みけ@ゞ(・ω・ゞ) 1層減らせばどの分割翼かにもよりますが、500gほど減ります。 10kgってことは、全翼20層。。。 @ina111 @mikeneko_lotus プリプレグの種類からply構成、部分積層、、、それだけ重ければ安全率下げずに重量下げる方法はいくらでもありそう @rarukado Masaaki Tsuchitori @mikeneko_lotus リアスパ回りとか接合回りで大幅に減らせないかな @mikeneko_lotus みけ@ゞ(・ω・ゞ) @ina111 プリプレグの種類か-。。今使ってる種類はちょっと覚えてないですね。。。 @ina111 @mikeneko_lotus 三菱レーヨン?何トン?@mikeneko_lotus みけ@ゞ(・ω・ゞ) @ina111 40tがメインスパー・リアスパー。フレーム周りが46tだったと思います。t数はあってますが、三菱レーヨンだったかどうかがあやふやです。。orz @rarukado Masaaki Tsuchitori @mikeneko_lotus 46T使うなんて超お金持ち!!フレーム回りの剛性確保なら60T+24Tのが安上がりかも・・・@mikeneko_lotus みけ@ゞ(・ω・ゞ) @rarukado ハイブリット(?)も依然考えましたが、種類が変わる層間で剥離しそうじゃね?という直感で、”なんか怖い”ってなってるTBTでございます。 @rarukado Masaaki Tsuchitori @mikeneko_lotus 問題となるほど剥離しないですよん 80T+24Tでも気にならない 当然構成と樹脂量の影響を受けますが @ina111 @mikeneko_lotus 同じだー。ワイヤーついてるのにどうしてそんなに重くなっちゃうのかむしろ不思議@mikeneko_lotus みけ@ゞ(・ω・ゞ) @ina111 断面積稼ぎたい→大口径化→でも断面変形怖い。ねじれも怖くね?でこのような重量に。。。 @ina111 ina111 @mikeneko_lotus なんだか全体的に根拠が薄い。。。。 @mikeneko_lotus みけ@ゞ(・ω・ゞ) @ina111 3流設計者で申し訳ないです。 (’・ω・’) @ina111 ina111 @mikeneko_lotus いやいや、個人の能力じゃなくてチームの土台的な話しだと思うなmikeneko_lotus みけ@ゞ(・ω・ゞ) (話振ったのオレだけど、知識がついてきてません。。orz) @ashula Yohei.H @mikeneko_lotus あと、桁表面の要らないエポキシ抜きましょう。部分積層とかも。 @ashula Yohei.H @mikeneko_lotus teamf sss資料。確か開発流れが書いてあったような。hpから。 lapislazuli1224 阿部さん@がんばろう東北 交流会で毎回といっていいほどWNの桁はなぜ軽いのかを聞かれたけど、部分積層とVfのおかげだと思う多分。他のチームの積層とか知らんからなんとも言えないけど… @rarukado Masaaki Tsuchitori @lapislazuli1224 樹脂抜きすぎだと個人的には思ってる 繰り返し加重(数年間の運用)とかに対しては弱そう rarukado Masaaki Tsuchitori 90度層を減らす試みをするチームは硬化の際変形が著しいので気をつけよう! マンドレルから抜けなくなr
https://w.atwiki.jp/akasatanahama/pages/127.html
初コメント失礼します。エンジニア匠、EE匠の名前がentity.OEF.EngineerCreeper.name、entity.OEF.EER.EERobo.nameとなっていました。1.7.0、導入MODは1.7.10-Forge10.13.4.1448-1.7.10、匠クラフト1.6.1.2、オファレン1.1.2A、OEF1.0.0Aです。あと、EE匠ロボは敵対MOBでしょうか。お手すきの時によろしくお願いします。 - X 2016-12-13 15 21 15 ご報告ありがとうございます。名前の表示は次のバージョンで修正します。EE匠ロボは現在、プレイヤーに対し敵対して行動します。 - 赤砂蛇凪浜 2016-12-17 19 42 13
https://w.atwiki.jp/warband/pages/43.html
Persistent World MODどのようなMODか? 何をすればいいか分からない新規さんのためのプレイ指南はじめに 金の稼ぎ方 クラフトガイド 転職する・勢力に所属する 強力な武具を手に入れる 交流 システム解説Cキーメニュー名前の表示について 所持金の金額情報を送る勢力への所属 ローカルチャット 勢力チャット(Faction chat) 通貨制度 農奴(Serf)や鉱夫による鉄の採掘と売買 略奪 休憩と馬の回復 ビールについて 職業一覧農民 フットマン ミリタリー マンアットアームズ ランサー アーチャー クロスボウマン ローグ セーラー ハンツマン ハードスマン ロード 悪党 山賊 ヒーラー ドクター クラフトマン エンジニアー マスタースミス 2010/7/21ゲーム内1v1トーナメント結果発表結果 写真・実況解説とか 馬上槍試合 PWMODプレイヤー雑談所 Persistent World MOD このページではマルチプレイ用MODであるPersistent Worldについての解説をします。(以下PWMODと略) PWMODは他のマルチプレイMODとは違い、ゲームにマップや装備を追加するだけでなくゲームプレイ方法自体を変えてしまうので 初心者でも気軽にプレイできるよう、このページで解説していきます。 http //www.moddb.com/mods/persistent-world-mod/downloads/pw-450 からDLしてみて下さい。 現在のバージョンはPW4.5です。 注意アップデートごとのページ乱立を避けるためこのページで最新版PWの情報を取り扱います。 日本語化ファイルはこちら 誤訳が多い為自己責任で。 ページ下部に雑談所設置。 交流やプレイヤー募集にどうぞ。 どのようなMODか? PWModのコンセプトは一言でいうならば「箱庭用意したから好きなように遊べお前ら」ということです。 マルチプレイのマップを広くし、様々なことができるようになったMMO版Warbandとも言えるかも知れません。 MMOと言っても永久の1つのデータではなく、長いスパンでの戦いではあります。 戦いに参加するかは、自由ですが1つの国が勝利した場合リセットのサーバーもあります。 (何度でも復活できるサーバーもあります) またこのMODの一番の特徴として、ロールプレイを前提として作られていることが挙げられます。 ロールプレイとは、自分の操るキャラになりきって発言および行動をするというプレイの仕方です。 例えば、ある人(プレイヤー)が盗賊として人々を襲って生活していたけれども、討伐しにやってきた兵士達(これもプレイヤーが操作するキャラ)に追い詰められて絶体絶命の状況に追い込まれたとします。 そこで武器を捨てて命乞いし、その国の兵士として仕えることで許してもらえるかを交渉するといったようなことができるのです。 もちろんそれが成功するかどうかはあなたの交渉力次第ですが。 何をすればいいか分からない PWMODは通常のマルチプレイのように、初めから全員が目指す勝利条件が決まっていて戦いながらスコアを競い合うといった目的がありません。 ただ箱庭の世界が用意されているだけであり、そこで何をしようとあなたの自由なのです。 一般市民として生活するも良し、盗賊として村を荒らしまわるも良し、王国軍として戦争に明け暮れるも良し。 といった風に、それぞれのプレイヤーが役割を演じることによってゲームが構築されていきます。 とはいっても、慣れていない人にはよく分からないと思いますので、PWMODにおける生き方の例をいくつか挙げておきます。 いずれかの王国(赤、青、緑、黄)を設立、もしくはそれに所属し、盗賊を退治したり、他の国と戦争をしたりする 傭兵としていずれかの国に加担して戦争をしたり、隊商の護衛をしたりする 山賊やごろつきの仲間を集めて徒党を組み、城や鉱山、村を襲撃する 農奴や商人として働き、お金を貯める 無所属の戦士になり、村や鉱山を盗賊の脅威から守る 強力な武器やまだ発見されていない財宝を求めて一人旅をする 国王となって統一勝利のあるサーバーで統一勝利を目指す どこかの勢力に所属したいのであれば、ゲームにログインした後にグローバルチャットなどで 「人員募集中の勢力があるか」などと聞けば何かしらの返答が返ってくるかと思います。 ちなみにゲームモード自体はデスマッチなので、敵味方関係なく攻撃することができるので注意が必要です。 新規さんのためのプレイ指南 はじめに サーバーにログインすると、農民と呼ばれる農奴の下位互換の職業の一市民の状態です。 どこかの城へ行ってピッチフォークのアイテムで農奴(Serf)に転職しましょう。 街でWoodcutingaxeを何も持ってない状態でアクティベートをして購入し 斧であたりに生えている木を攻撃すると枝が、切り倒すと丸太が手に入るはずです。枝や丸太を拾って装備し、各城内に配置されている「stock pile」(丸太や枝が山積みになっているオブジェクト)にアクティベートすると、いくらかの金がもらえます。山積みになっている資材と同じものしか売れないので注意しましょう。 手に何も持っていず、stock pileに在庫がある場合にアクティベートすると資材を購入することもできます。 金の稼ぎ方 クラフトガイド 元手が手に入ったら、さらに金を稼ぐのもいいでしょう。 荷馬(CartHorse)を買う 荷台、荷馬を使う 町などにある荷台は装着して持ち運ぶことができます。先端のリング部分をアクティベートすると装着でき、cキーのメニューから外すことができます。中身は荷台部分をアクティベートすると開けます。 大きい荷台は、荷馬で牽引できます。馬に乗った状態でアクティベートしてください。 そのほか、かごやボックスも利用できます。 鉱夫になる 街でピッケルを購入すると、鉱石が掘れるようになります。町の外のどこかに金塊のようなオブジェクトがあり、そこから採掘ができます。木材同様、城で売りましょう。 農家になる 種と畑とバケツと井戸と収穫鎌のある場所では畑がしやすいです。 種をまいておいてバケツで水を汲めば成長速度があがります(なくても育ちます) 収穫鎌で地道に小麦を取って売るなり加工して売りましょう。 ビールを作る 小麦3つと水バケツ1つを蒸留(Brew)することで作れます。 小麦袋より支払いが良いです。 小麦袋を作る 小麦が多い場合におすすめです。 小麦3つをもって小麦袋をアクティベートをしていれば作れます。 非常に素早く作れるためこちらのほうが小麦が多い場合効率が良いです。 馬を育てたり、装備や道具を作る 生産レシピはこちら http //loppen.com/PW/ 技術者(Engineer)スキルの高い他の職業になれば更に多くのものが作れます。 レシピを見て農奴のまま生産するか上を目指すか考えましょう。 転職する・勢力に所属する 転職や、ファクションの変更は特定のオブジェクト(すき、くわ、武具等)をアクティベートすることで行えます。能力値の表示されるアイテムがそれです。ファクションに所属するときは、最初にSerfになりましょう。 町人や旅人等は町で、勢力の所属(兵士、ロード等)はそれぞれの城で、盗賊には屋外のどこかで行えます。職や勢力の変更は、一度町人に戻ることで自由に変更できます。 職業一覧 https //docs.google.com/spreadsheet/ccc?key=0AoRHZwIqBE-udDBQZWxaV3ZxNFluTDdlQ0NTRVZVTEE hl=en_US#gid=0 強力な武具を手に入れる 性能の良い武具は、城で手に入りますが、初期の職業では必要能力値が足りていないことが多いです。まずは能力値の高い職業に転職してから装備しましょう。 武器は在庫がないと購入できません。新規ファクションでも在庫があらかじめ用意されているものがあるので少し楽になりました。 作りたい場合生産に対応する職業に就き、stockpile付近のかまどや製材所で鉄の精錬や木材の加工を行い、必要素材を揃えてから武器をアクティベートすると作成ができ、売却することで在庫が増え、他のプレイヤーが購入できるようになります。 材料一覧 https //docs.google.com/spreadsheet/ccc?key=0AoRHZwIqBE-udHdwMFZncWZpZ3JwVld5OHJ4MTk1SkE hl=en_US#gid=0 自分で作らない場合はある中で適したものを装備しましょう。 ですが気を付けてください。 ログアウト時や殺されると落としてしまいます。 交流 覚えていた方がいい halt 金を出せてきな意味。 所持金情報を送信してから出すとより安全だが大金を持ってる場合は多めにとられる。 500gold~2000goldとプレイヤーによって差がある。 出さないと殺してくるプレイヤーがほとんど。 税金的な意味合いもあり払うと護衛してくれるプレイヤーもいる。 海外鯖での生き方 戦闘で武功を上げるのは弓兵か騎馬でもなければかなり難しい。 というか素人だと弓兵安定である。 だけども農民という生き方が一番楽である。 同じ場所でずっと農業などをしていれば、知り合いもできてくるはずだ。 盗みやゆすりについて 自分が兵士だとhaltと言えば農民はなんやかんやでお金をくれる場合が多い 同じ所属プレイヤーとかにはあんまりよくないかも。 所属が違うプレイヤーなら殺してもいいが・・・ 殺しについて 正当な理由であっても英語喋れないのをいいことにRDMとか叫んでくる輩もいるので注意 弁解できなかったりするとすぐBANされる。 よくわからないローカルルールだらけなのが実情である。 (かえって面白さを半減させていると思うが……) 該当事例 アウトローが街に無理やり入ろうとしたところ入って来たので殺したら しかも国王の状態でである。 おそらくRDM扱いでBAN よってアウトローであろうが、どんな理由があっても殺してはならないのか!? まぁ攻撃されるまでは、ということなのかもしれない。 システム解説 Ver4.5時点で売買システム、生産などがありそれらを解説していきます。 Cキーメニュー Cキーを押すことで、自殺・名前表示の切り替え・頭または手装備を隠す/表示する・体または足防具を破棄する・ローカルチャットログを表示する・装着している荷台やかご等を外すなどができます。 名前の表示について Cキーを押すことにより、名前表示のオン/オフを切り替えることができます。 名前はそれぞれの勢力によって色分けがなされています。 王国軍の場合は服と同じ色の名前が表示されます。 所持金の金額情報を送る Shiftキーとターゲット指定キー(デフォルトF12 変更推奨)で近くのプレイヤーを選択。 Cキーのメニューから所持金の情報を送ればOK 勢力への所属 単独で行動してもいいですが、自分で直接傭兵を雇ったり、国と交渉しなければなりません。 慣れないうちはあっという間に盗賊に身ぐるみ剥がされて泣き寝入りという事態になりかねませんので、 そうなりたくない方は勢力に所属して金を稼いで装備を整えるなり、賊の討伐に赴くなりした方が楽しめると思います。 ローカルチャット 自分の周囲にいるキャラにだけ聞こえる会話です。勢力は関係ありません。 チャットウィンドウにはオレンジ色で会話が表示されます。 使用するには、Qキーを押し、出てきたテキストボックスを左クリックしてから文字を入力します。 文字を入力したらEnterを押せば発言をすることができます。 勢力チャット(Faction chat) 赤、青、黄、緑、白、盗賊、自警団のいずれかの勢力に所属していると、勢力チャットというものが使用できます。 勢力チャットとは、どこにいようとその勢力に所属する人たち全員にのみ聞こえる会話のことです。 名前と同じように、勢力ごとにチャットの色も異なっています。(白は全体チャットの白よりも白色が強いです) Iキーで行えます。 使用するにはまずYを押し、ローカルチャットと同じ要領で、出てきたテキストボックスを左クリックして文字を入力してから Enterを押すことで発言をすることができます。 通貨制度 Pキーを押して金額を選択すると、財布を落とせるようになりました。拾って左クリックで使用できます。命乞いや取引に利用しましょう! 農奴(Serf)や鉱夫による鉄の採掘と売買 鉄は高く売れるのでお金稼ぎに最適です。 鉄を採掘するには、農奴(Serf)の職業を選択する必要があります。 町や城でつるはし(Pickaxe)を買い、mapのどこかにある鉱山へ行きます。 つるはしを装備した状態で鉄をアクティベートすると鉄のかたまりが出現します。 この鉄のかたまりは武器としてカウントされるので、3つ、もしくはつるはしを捨てて4つまで持つことができます。 荷台等を使えば、さらに多くを運べます。 鉄を換金するには、城にあるStockpileにアクティベートしてお金に換えます。 略奪 略奪者としてお金を稼ぐには、まず市民や農奴が運んでいる商品を略奪する必要があります。 新バージョンで追いはぎができるようになりました。F12で防具の剥ぎ取りが行えます。また、プレイヤーを倒すとマネーバックを落とすので現金も手に入ります。 ですがデフォルトでSteamのスクリーンショットキーと被っている為VやBキーに変更がおすすめです。 奪ったものを換金する手間があるので近くの街で手早くやりましょう。 休憩と馬の回復 ベッドをアクティベートすると自分のHPを回復することができますが、お金がないと何も起こらないので注意してください。 馬を回復するには、馬小屋などにある餌(水が入った細長い桶みたいなやつ)を馬に乗った状態でアクティベートします。 ビールについて ビールは水バケツと小麦3つを蒸留器でBrewすることで手に入ります。 職業一覧 農民 転職道具 ピッチフォーク 生産系職業。採掘や木を切ったりするならこれ。 肉とかも焼ける。 狩りもできないことはないが攻撃力が弱いので時間がかかる。 狩りだけしたいならハンツマンをお勧めする。 フットマン 転職道具 木の剣 戦士系職業。とりあえず兵士になるならお手軽。 ミリタリー 転職道具 木の剣 フットマンの上位互換。 マンアットアームズ 転職道具 木の剣 馬も使えるフットマンといった感じ。 ミリタリーの亜種。 ランサー 転職道具 槍 騎馬兵で色んな馬を扱える。 アーチャー 転職道具 弓 弓の扱いに長けていて割とむきむき。 クロスボウマン 転職道具 クロスボウ アーチャーより多少近接もできる。 クロスボウを扱える。 ローグ 転職道具 盾 熟練した戦士。 最上級。 セーラー 転職道具 三又槍 船を使える。 ただし、一人で操作するのは困難なため最低二人は必要 そこそこ戦えるが陸では微妙。 ハンツマン 転職道具 狩猟弓 半戦闘半生産の職業 戦闘もそれなりにできるし、狩りができるので、食料に困らない。 ハードスマン 転職道具 剣 半戦闘半生産の職業 馬に乗れない代わりにすごく早い。 労働スキルも牧畜もあり、労働はハンツマンより上。 近接武器しかほぼ扱えないが、初心者にはいい選択。 ロード 転職道具 ロードの椅子 この職業は特殊で、自分が投票でロードに選ばれてなければならない。 戦闘系の職業で、馬も使えるし白兵戦もいける。 悪党 転職道具 メイス この職業は、アウトロー陣営限定である。 筋力が高くスキルは少ない。 山賊 転職道具 メイス この職業はアウトロー陣営限定である。 少し内政よりなアウトロー。 ヒーラー 転職道具 箱 ドクターの下位互換。 ドクター 転職道具 箱 専用のナイフで刺すことで刺した相手を回復させることができる。 死んだあとHPが半分以下のサーバーで真価を発揮。 クラフトマン 転職道具 ハンマー エンジニア下位互換。 エンジニアー 転職道具 ハンマー マスタースミスの下位互換 マスタースミス 転職道具 ハンマー 最上位の技術者。 割と筋力が高い。 2010/7/21ゲーム内1v1トーナメント結果発表 ルール・1v1で、対戦者は木の棒・木の両手剣・木の片手剣のなかからえらぶ 防具は自由 優勝者には、30000Gが授与! 出場者 Berabo_ Gelgoog_JP uetori JP_eddiedog Hige moukin JP_takahi soba 第一回戦 準決勝 決勝 Berabo_ vs Gelgoog_JP=Gelgoog_JP Gelgoog_JPvsuetori=uetori JP_eddiedog vs uetori=uetori hige vsuetori=uetori soba vs JP_takahi=JP_takahi JP_takahivsHige=Hige moukinvsHige=Hige 結果 第一位uetori 第二位Hige 第三位JP_takahi 第四位Gelgoog_JP スペシャルサンクス 開催者のEmm氏 写真・実況解説とか すべての対戦が終了後、2位のhige氏vs主催者のEmm氏によるエキシビションマッチが組まれました。 左がEmm氏、右がHige氏です。 #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 READY... #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 FIGHT!! #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 先手必勝とばかりに切り込むEmm氏。 #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 しかしそれを上手く受け流し蹴りコンボを入れたHige氏が勝利しました。やっぱり2位は強かった。 #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 開催者のEmmさん、30000Gの用意と、段取りをしたのはこの方です。本当にお疲れ様でした。 #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 優勝者のuetoriさん、Higeさんとは本当に良い勝負でした、もう一回やったらわからないかも? #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 準優勝者のHigeさん、発売当初からマルチに来ている超ベテランです。 #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 3位のJP_takahi、私です。カメラマン私なので自分の顔撮れませんでした #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 4位のGelgoog_JP氏、比較的新規さんですが強かった!これからどうなることやら。 #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 1位、2位、3位、主催者で記念撮影!3人ともノリノリすぎだろー #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 トーナメント終了後のみなさん、賑やかでいいことだー #ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。 トーナメント参加者全員+トーナメント会場警護の傭兵の皆さんでハイ、チーズ! 総勢25人ほどが鯖にいらっしゃって、終始とても賑やかなゲームでした! 流れとしては、 緑5vs赤2 が険悪な関係になる 数に劣る赤が、傭兵を雇って緑城陥落! 傭兵ギルドが鉱山を占領(一般市民や同盟の赤は入れる) トーナメント開催 って感じでした、 こーいう数が劣っててもいろんなものを駆使すれば戦争に勝てたり、 有志がトーナメント開催するのもこのMODの面白いところだと思います! ぜひぜひ皆さん、PWMODをDLして日本鯖に来てください、 ではご閲覧ありがとうございました。 馬上槍試合 Befor After 熱い試合だった。 そこじゃなーい! s PWMODプレイヤー雑談所 PWの話題やプレイヤー、フレンド募集の為に密かに設置 名前 コメント
https://w.atwiki.jp/minecraftmodwiki/pages/12.html
MODとは MOD 「Modification」や「Modding file」の略で、主にパソコンゲーム用の改造データのこと。 ユーザーが拡張ファイルを作り、素の状態のファイル(バニラ)に追加・上書きを行うことでゲームの機能を拡張する。 英語では「addon(アドオン)」、日本語では「改造データ」と称される事もある(Minecraftの場合は例外)。 アドオンやプラグインと比べてMODは非公式という色が強く、多くのゲームで公式ではサポートされていない。導入による弊害の発生も自己責任である。 バニラ MODも何も入れていない 素の状態 。 アイスクリームにトッピング等をしていない素の状態の代表がバニラアイスであることを由来とする。 Modとバニラの関係を示した図 矢印はMODが影響を及ぼす対象や接続先を示す クラスローダーは「前提MOD」と言われているが単なる依存クラスと区別するため、機能名称であるClassLoaderとした MCPについてはMODであるかのような表現であるが、MOD開発には無くてはならない依存ツールであるため敢えてこのような表現となっている
https://w.atwiki.jp/minecraft_kaisetsu/pages/10.html
Golden_apples_mod(金リンゴmod)解説
https://w.atwiki.jp/spaceempires/pages/5.html
SE5 MOD SE5 MODBalance MOD Balance Mod 日本語対応版 IRM Fyron's Quadrant Mod Dark UI Mod Space Empires V Advance MOD Balance MOD Space Empires V の公式設定をなるべく守りつつ、全体のバランス調整を行ったMODです。 またオフィシャル部分の不具合なども独自に解決し、高度なAIスクリプトも付属し非常に人気があります。 http //www.captainkwok.net/balancemod.php Balance Mod 日本語対応版 日本語化したSE5でもBallance Modを使える様にしたもの Ver 1.79対応 http //home2.dip.jp/download/normal/index/no/2299 Pass 0123 IRM Space Empires V の公式設定で意味が分からない、効果が実感出来なかった物などの設定を大幅に変更。 技術レベルがやたらたくさんあり過ぎてイライラする人向けに、大幅に技術レベルを圧縮。 AIも高度な物となっています。 「オフィシャルの強化」「よりテンポの良いゲームプレイ」を謳っています。 パッチ Ver1.33 用 IRM 0.9c http //www.spaceempires5.com/en-US/node/2877 http //www.spaceempires.net/files/user/fh/IRM%200.9c.zip スクリプトファイル http //www.spaceempires.net/files/user/fh/IRM%20Scripts%200.9c.zip Fyron s Quadrant Mod http //fqm5.spaceempires.net/index.php 主にグラフィック関係の強化です。 スクリーンショットはこちら。 http //fqm5.spaceempires.net/screen.php Dark UI Mod Space Empires V のインターフェイスを黒を基調としたかっこ良いデザインにします。 http //www.shrapnelcommunity.com/threads/showflat.php?Cat= Number=488244 Space Empires V Advance MOD SE 5の拡張MODです。 以下の新しい内容が詰め込まれています。 新しい銀河形態 5種 新しい日本語名艦隊リスト 新しい日本語名帝国及び人名リスト 新しい武器パーツ 新しい防御パーツ Space Yardsの支援