約 1,067,261 件
https://w.atwiki.jp/kingdomsandcastles/pages/33.html
NoBuildingLimitations NoBuildingLimitions 建物を重ねて配置することが出来るMod 城壁の上に道を敷いたり家や農地を重ねて配置できる非常に便利なMod Higher Taxes v1.0.1 Higher Taxes 税金の上限を引き上げるMod Cannon Canon 大砲を追加するMod
https://w.atwiki.jp/gta_sa/pages/35.html
Super CJ Download [インストール] 1.解凍し、MAIN.SCM・SCRIPT.IMGを入れ替える。 (.../Program Files/Rockster Games/GTA San Andreas/data/script) ※バックアップを忘れずに。 [使い方] Super CJのReadMe.txtを見てください。 San Andreas Car Spawn このSan Andreas Car Spawnは、好きな乗り物を目の前に出すことができます。 Download [インストール] 1.解凍し、MAIN.SCMを入れ替える。 (.../Program Files/Rockster Games/GTA San Andreas/data/script) 2.完成(New Gameで始めること。) 3.CrouchとSprintを同時押し。 4.車名が出るので、Previous TargetかNext Targetで選ぶ。 5.Walk Forwardで出現させる。もう一度Walk Forwardを押すと色が変わる。 6.終わるときはもう一度CrouchとSprintを同時押し。 ※SANGAを取り込んでいます。 全てのステータスがMAX(なっていないのもある) すべての街へのLockが解除される すべてのサブミッションが可能 始めからすべての店が利用可能 始めからすべての駐車されている乗り物が利用可能 すべての武器がはじめから買える 始めからギャング・ウォーズが可能 ※バックアップを忘れずに。 Hot Coffee Mod Download [インストール] 1.解凍し、MAIN.SCM・SCRIPT.IMGを入れ替える。 (.../Program Files/Rockster Games/GTA San Andreas/data/script) ※バックアップを忘れずに。 sacensorの使い方 このファイルは以前のセーブデータでもセックス可能にするパッチです。 念のためセーブデータをバックアップしておくといいでしょう 1.セックスしたいセーブデータをsacensor.exeにドラッグ ドロップ 2.Flip censor status (Y/N)? と出るので、yを入力しEnter 3.Press Enter to quit... と出たらEnterを押して終了。
https://w.atwiki.jp/motomods/pages/20.html
商品紹介 背面に電子ペーパーの画面を新たに追加するMods。 写真やウィジェット(自分で開発することも可能)を表示できる他、1500mAhのバッテリー容量も備える。 単体でも動作できるため、マグネットを利用して冷蔵庫などの側面に貼り付けて使うことも可能。 出資タイプ Flexible Funding(目標金額に達しなくてもプロジェクト実行) PERKS(報酬)一覧 名前 金額 内容 限定数 Early Bird DigiFrameMod $99 Mods本体 100 Thank You Honorable Mention $1 投げ銭 ∞ Please, include Bluetooth LE $5 機能追加リクエスト(Bluetoothにより単体でも情報の更新が可能になる) ∞ Please, Include Wireless Charg $5 機能追加リクエスト(無線充電機能) ∞ Create your own widget $500 ウィジェット作成代行 10 リンク
https://w.atwiki.jp/wastelandpunkjp/pages/19.html
概要 装備作成のときに使用すると、追加でステータスを付与できるアイテム。 装備によって一度に使用できるModの数が違う。 入手方法は敵からのドロップ、アリーナショップ、ジョブの報酬。 Mod1つにつき付与されるステータスは確定(1)+ランダム(2)の計3つとなっている。 このランダム枠がいかに重要なステータスに割り振られるかが重要となる。 以下はModのリスト 知覚 体力 筋力 テクニック 物理耐性 炎耐性 毒耐性 スピード ランダム(Chloe's Mod、"クロエのMod")。固定枠(0)+ランダム(3)。 ニューエイジ(New Age)。現在ある唯一の金品質。体力(1)+ランダム(2)。 ランダムのみクラフト可能。ランダム以外を入手するのはゲーム終盤なので、まずはランダムでいいステータスを狙ってみよう。
https://w.atwiki.jp/arrest/pages/20.html
アレスト鯖導入MOD CraftBukkit 管理用MOD Permission(アクセス権限管理用) General (管理コマンド) 一般MOD MyHome (ホーム設定・転送サービス) /sethome (ホーム(転送位置)の設定) /home (転送開始) SuperJump(ジャンプ台を作成) 1看板を使用 2看板の各行に以下を入力 1行目:[jump](固定) 2行目:X軸 (数値。負および小数点可) 3行目:Y軸 (数値。負および小数点可)Y軸で垂直移動。死亡注意 4行目:Z軸 (数値。負および小数点可) 3上にブロック設置 4ブロックに乗ることでジャンプ MobRider(サドル入手でMOBやPlayerに乗ることができる) /mob go north/south/northeast etc (optional) distance (行きたい方角へ。distanceは移動数) /mob goto playername (対象のプレイヤまで移動。) /mob goto x z (X軸とY軸分移動) SecretDoors(隠しドアを設置する) 上図 ■ ←ドア □□□←ブロック ブロックを設置後、その後ろにドアを設置すると完成。 真ん中のブロックが隠しドアになるよ!たぶん。 経済MOD(iconomy) *
https://w.atwiki.jp/mod-jplang/pages/19.html
Industrial Craft 2Industrial Craft 2 experimentalIndustrial Craft Classic mod説明 工業要素追加 IC2/IC2ex/IC2Cの日本語propertiesファイル置き場です。 三つあるのでリンクから選んで飛んでください。 ↓リンク↓ IC2本家 IC2ex IC2C
https://w.atwiki.jp/akasatanahama/pages/102.html
概要 MOBを追加する。 今回は、匠型のMOBを追加する。 ソースコード AluminiumMod.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.EnumCreatureType; import net.minecraft.item.Item; import net.minecraft.world.biome.BiomeGenBase; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.registry.EntityRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @Mod(modid = "AluminiumMod", name = "Aluminium Mod", version = "1.0.0") public class AluminiumMod { //追加するアイテムの宣言 public static Item aluminiumEgg; @EventHandler public void perInit(FMLPreInitializationEvent event) { //Itemのインスタンスを生成し、代入する aluminiumEgg = new ItemAluminiumEgg() //クリエイティブタブの登録 .setCreativeTab(CreativeTabs.tabMaterials) //システム名の登録 .setUnlocalizedName("aluminiumEgg") //テクスチャ名の登録 .setTextureName("aluminiummod aluminiumEgg"); //GameRegistryへの登録 GameRegistry.registerItem(aluminiumEgg, "aluminiumEgg"); } @EventHandler public void init(FMLInitializationEvent event) { //Entityを登録する EntityRegistry.registerModEntity(EntityAluminiumCreeper.class, "AluminiumCreeper", 0, this, 250, 1, false); //Entityの自然スポーンを登録する EntityRegistry.addSpawn(EntityAluminiumCreeper.class, 20, 1, 4, EnumCreatureType.creature, BiomeGenBase.plains); /*EntityのRenderを登録する *Client側でのみ登録するため、今回はif文で処理をする。*/ if(FMLCommonHandler.instance().getSide() == Side.CLIENT) { this.render(); } } @SideOnly(Side.CLIENT) public void render() { RenderingRegistry.registerEntityRenderingHandler(EntityAluminiumCreeper.class, new RenderAluminiumCreeper()); } } EntityAluminiumCreeper.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.block.material.Material; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIAvoidEntity; import net.minecraft.entity.ai.EntityAIHurtByTarget; import net.minecraft.entity.ai.EntityAILookIdle; import net.minecraft.entity.ai.EntityAINearestAttackableTarget; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.passive.EntityOcelot; import net.minecraft.entity.passive.EntityPig; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.stats.AchievementList; import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class EntityAluminiumCreeper extends EntityMob { public EntityAluminiumCreeper(World world) { super(world); /*EntiyのAIを登録する*/ this.tasks.addTask(1, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPig.class, 1.0D, false)); this.tasks.addTask(2, new EntityAIAvoidEntity(this, EntityOcelot.class, 6.0F, 1.0D, 1.2D)); this.tasks.addTask(3, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); this.tasks.addTask(4, new EntityAIWander(this, 0.8D)); this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(6, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPig.class, 1,false)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 1, true)); this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); } /**MOBの速度やHPを変更するメソッド*/ @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.5D); this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(128D); this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(100D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(1.5D); } /**MOBの属性を返すメソッド*/ @Override public EnumCreatureAttribute getCreatureAttribute() { return EnumCreatureAttribute.UNDEFINED; } /**MOBのドロップアイテムを返すメソッド*/ @Override public Item getDropItem() { return Item.getItemFromBlock(Blocks.wool) ; } /**MOBのドロップアイテムをドロップさせるメソッド*/ @Override protected void dropFewItems(boolean isCanDropRare, int fortuneLv){ Item item = this.getDropItem(); int amount = 1; if(isCanDropRare this.rand.nextBoolean()) { item = Item.getItemFromBlock(Blocks.stained_glass); } if(fortuneLv 0) { amount += fortuneLv; } int damage = this.rand.nextInt(16); for(int i = 0; i amount; i++) { this.entityDropItem(new ItemStack(item, amount, damage), 0.0F); } } /**Tickごとに呼ばれるメソッド*/ @Override public void onUpdate() { int x = (int) this.posX; int y = (int) this.posY; int z = (int) this.posZ; if(this.worldObj.getBlock(x, y - 1, z).getMaterial() == Material.iron) { this.worldObj.createExplosion(this, x, y, z, 3F, true); } super.onUpdate(); } /**MOB死亡時に呼ばれるメソッド*/ public void onDeath(DamageSource source) { super.onDeath(source); if(source.getSourceOfDamage() != null source.getSourceOfDamage() instanceof EntityPlayer) { EntityPlayer player = (EntityPlayer) source.getSourceOfDamage(); if(!this.worldObj.isRemote) { player.addChatMessage(new ChatComponentText("You slayed.")); player.triggerAchievement(AchievementList.mineWood); } } } /**ダメージを食らうか否かを判定するメソッド*/ @Override public boolean attackEntityFrom(DamageSource source, float damage) { if(source.isExplosion()) { return false; } else if(source.isFireDamage()) { return super.attackEntityFrom(source, damage * 2); } else { return super.attackEntityFrom(source, damage); } } } RenderAluminiumCreeper.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; public class RenderAluminiumCreeper extends RenderLiving { public RenderAluminiumCreeper() { super(new ModelAluminiumCreeper() , 0.5F); } /**テクスチャを登録するメソッド*/ @Override protected ResourceLocation getEntityTexture(Entity entity) { return new ResourceLocation("aluminiummod textures/mobs/aluminium_creeper.png"); } } ModelAluminiumCreeper.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import net.minecraft.entity.Entity; import net.minecraft.util.MathHelper; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @SideOnly(Side.CLIENT) public class ModelAluminiumCreeper extends ModelBase { public ModelRenderer head; public ModelRenderer head2; public ModelRenderer body; public ModelRenderer leg1; public ModelRenderer leg2; public ModelRenderer leg3; public ModelRenderer leg4; public ModelAluminiumCreeper() { this(0.0F); } /**Modelを登録するメソッド*/ public ModelAluminiumCreeper(float size) { byte b0 = 4; this.head = new ModelRenderer(this, 0, 0); this.head.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, size); this.head.setRotationPoint(0.0F, (float)b0, 0.0F); this.head2 = new ModelRenderer(this, 32, 0); this.head2.addBox(-4.0F, -8.0F, -4.0F, 8, 8, 8, size + 0.5F); this.head2.setRotationPoint(0.0F, (float)b0, 0.0F); this.body = new ModelRenderer(this, 16, 16); this.body.addBox(-4.0F, 0.0F, -2.0F, 8, 12, 4, size); this.body.setRotationPoint(0.0F, (float)b0, 0.0F); this.leg1 = new ModelRenderer(this, 0, 16); this.leg1.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg1.setRotationPoint(-2.0F, (float)(12 + b0), 4.0F); this.leg2 = new ModelRenderer(this, 0, 16); this.leg2.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg2.setRotationPoint(2.0F, (float)(12 + b0), 4.0F); this.leg3 = new ModelRenderer(this, 0, 16); this.leg3.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg3.setRotationPoint(-2.0F, (float)(12 + b0), -4.0F); this.leg4 = new ModelRenderer(this, 0, 16); this.leg4.addBox(-2.0F, 0.0F, -2.0F, 4, 6, 4, size); this.leg4.setRotationPoint(2.0F, (float)(12 + b0), -4.0F); } /**Modelをレンダリングするメソッド*/ public void render(Entity entity, float f1, float f2, float f3, float yaw, float pitch, float size) { this.setRotationAngles(f1, f2, f3, yaw, pitch, size, entity); this.head.render(size); this.body.render(size); this.leg1.render(size); this.leg2.render(size); this.leg3.render(size); this.leg4.render(size); } /**頭、足、腕などの角度を設定するメソッド*/ public void setRotationAngles(float f1, float f2, float f3, float yaw, float pitch, float size, Entity entity) { this.head.rotateAngleY = yaw / (180F / (float)Math.PI); this.head.rotateAngleX = pitch / (180F / (float)Math.PI); this.leg1.rotateAngleX = MathHelper.cos(f1 * 0.6662F) * 1.4F * f2; this.leg2.rotateAngleX = MathHelper.cos(f1 * 0.6662F + (float)Math.PI) * 1.4F * f2; this.leg3.rotateAngleX = MathHelper.cos(f1 * 0.6662F + (float)Math.PI) * 1.4F * f2; this.leg4.rotateAngleX = MathHelper.cos(f1 * 0.6662F) * 1.4F * f2; } } ItemAluminiumEgg.java +長いので囲みます package tutorial.aluminiummod; import net.minecraft.block.Block; import net.minecraft.block.BlockLiquid; import net.minecraft.entity.Entity; import net.minecraft.entity.IEntityLivingData; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.Facing; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; /**このクラスは、net.minecraft.Item.ItemMonsterPlacerをもとに作成しています。*/ public class ItemAluminiumEgg extends Item { /**アイテムでブロックを右クリックしたのメソッド。ItemMonsterPlacer参照。*/ @Override public boolean onItemUse(ItemStack itemStack, EntityPlayer player, World world, int x, int y, int z, int side, float posX, float posY, float posZ) { //サーバー側の場合は処理をスキップする if (world.isRemote) { return true; } else { Block block = world.getBlock(x, y, z); x += Facing.offsetsXForSide[side]; y += Facing.offsetsYForSide[side]; z += Facing.offsetsZForSide[side]; double height = 0.0D; if (side == 1 block.getRenderType() == 11) { height = 0.5D; } Entity entity = spawnEntity(world, (double)x + 0.5D, (double)y + height, (double)z + 0.5D); if (entity != null) { if (!player.capabilities.isCreativeMode) { --itemStack.stackSize; } } return true; } } /**アイテムを使ったときのメソッド。ItemMonsterPlacer参照。*/ @Override public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player) { //サーバー側の場合は処理をスキップする if (world.isRemote) { return itemStack; } else { MovingObjectPosition movingobjectposition = this.getMovingObjectPositionFromPlayer(world, player, true); if (movingobjectposition == null) { return itemStack; } else { if (movingobjectposition.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK) { int x = movingobjectposition.blockX; int y = movingobjectposition.blockY; int z = movingobjectposition.blockZ; if (!world.canMineBlock(player, x, y, z)) { return itemStack; } if (!player.canPlayerEdit(x, y, z, movingobjectposition.sideHit, itemStack)) { return itemStack; } if (world.getBlock(x, y, z) instanceof BlockLiquid) { Entity entity = spawnEntity(world, (double)x, (double)y, (double)z); if (entity != null) { if (!player.capabilities.isCreativeMode) { --itemStack.stackSize; } } } } return itemStack; } } } /**Mobをスポーンさせるメソッド*/ public Entity spawnEntity(World world, double x, double y, double z) { EntityAluminiumCreeper entityliving = new EntityAluminiumCreeper(world); entityliving.setLocationAndAngles(x, y, z, MathHelper.wrapAngleTo180_float(world.rand.nextFloat() * 360.0F), 0.0F); entityliving.rotationYawHead = entityliving.rotationYaw; entityliving.renderYawOffset = entityliving.rotationYaw; entityliving.onSpawnWithEgg((IEntityLivingData)null); world.spawnEntityInWorld(entityliving); entityliving.playLivingSound(); return entityliving; } } 解説 AluminiumMod +長いので囲みます void registerModEntity(Class ? extends Entity entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) Mod用のMOBを追加するメソッド。 引数は、以下の通り。 引数 内容 entityClass 追加するEntityをClass型で渡す。 entityName 追加するEntityの名称。langファイルで、entity.[MODIDで登録した名称].[entityNameで登録した名称].name=[ローカル名]でローカル名を登録できる。 id 追加するEntityのID。同一MOD内で被るとエラーを吐く。 mod MODを渡す。thisで渡せばOK。 trackingRange MOBの更新範囲。 updateFrequency MOBの更新頻度。何tickごとにMOBを更新するかの値。基本的に2以下の値を渡す。 sendsVelocityUpdates MOBの更新時に加速度の情報を更新させるか否か。MOBや動物の場合は基本的にtrueを渡す。 void addSpawn(Class ? extends EntityLiving entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) Entityの自然スポーンを追加するメソッド。 引数は、以下の通り。 引数 内容 entityClass スポーンを追加させるEntityをClass型で渡す。 weightProb Entityのスポーンがどれくらいの頻度で抽選されるかの値。値が大きいほうがスポーンしやすい。 min Entityがスポーンする際の最低数。 max Entityがスポーンする際の最高数。 typeOfCreature Entityのスポーンタイプ。EnumCreatureType一覧-monster...敵性MOBの属性。夜にスポーンする。-creature...友好MOB(とオオカミ、ヤマネコ)の属性。昼にスポーンする。-ambient...コウモリの属性。-waterCreature...イカの属性。これのみ、スポーン場所が空気中でなく水中になる。 biomes Entityがスポーンするバイオーム。複数バイオームを渡す場合は、先にfinal定数でリストを作ってからそのリストをそのまま引数に渡した方がいい。 void registerEntityRenderingHandler(Class ? extends Entity entityClass, Render renderer) Entityのレンダーを追加するメソッド。 Client限定の処理であり、Serverで処理してしまうとクラッシュの原因になるため、必ずif文とSideOnlyアノテーションを付けたメソッドで処理をする。 もしくは、proxyで分化させる手もある。 第一引数には登録EntityをClass型で、第二引数は登録Renderをインスタンス型で渡す。 EntityAluminiumCreeper +長いので囲みます tasks.addTask(int p_75776_1_, EntityAIBase p_75776_2_) Entityに攻撃、移動AIを追加するメソッド。 ターゲットAIは後述のtargetTasks.addTaskを用いる。 第一引数はAIの順位(小さいほうが先に行動される。)、第二引数がAI。 主なAI EntityAISwimming(EntityLiving p_i1624_1_) 水を泳ぐAI。 第一引数にはthisを渡す。 EntityAIAttackOnCollide(EntityCreature p_i1635_1_, Class p_i1635_2_, double p_i1635_3_, boolean p_i1635_5_) 特定のEntityを襲うAI。 第一引数にはthis、第二引数には襲う対象のEntityをクラス型で、第三引数には自分の通常移動速度に対する倍率、第四引数には追い続けるか否かの判定を渡す。 第三引数が1より大きいと、通常の移動スピードより高速で襲ってくることになる。 EntityAIAvoidEntity(EntityCreature p_i1616_1_, Class p_i1616_2_, float p_i1616_3_, double p_i1616_4_, double p_i1616_6_) 特定のEntityから逃げるAI。 第一引数にはthis、第二引数には逃げる対象のEntityをクラス型で、第三引数には対象からどれだけ逃げるかの距離、第四引数には対象と十分離れたときの逃げる速度の倍率、第五引数には対象と近いときの逃げる速度の倍率を渡す。 第四引数 第五引数となれば、対象と近いときはより急いで逃げるようになる。 EntityAIWander(EntityCreature p_i1648_1_, double p_i1648_2_) うろうろするAI。 第一引数にはthis、第二引数には速度の倍率を渡す。 第二引数は、基本的に1より小さい値を渡す。 EntityAIWatchClosest(EntityLiving p_i1631_1_, Class p_i1631_2_, float p_i1631_3_) 特定のEntityを睨むAI。 第一引数にはthis、第二引数には睨む対象のEntityをクラス型で、第三引数は対象との距離を渡す。 第三引数が大きいと、対象が離れていても視認する。 EntityAILookIdle(EntityLiving p_i1647_1_) きょろきょろするAI。thisを渡す。 targetTasks.addTask(int p_75776_1_, EntityAIBase p_75776_2_) EntityにターゲットAIを追加するメソッド。 第一引数はAIの順位(小さいほうが先に行動される。)、第二引数がAI。 主なAI EntityAINearestAttackableTarget(EntityCreature p_i1663_1_, Class p_i1663_2_, int p_i1663_3_, boolean p_i1663_4_) 特定のEntityをターゲッティングするAI。 第一引数にはthis、第二引数には対象のEntityをクラス型で、第三引数には行動しない確率(0だと攻撃できる場所に入れば必ずターゲッティングされる)、第四引数にはブロックに囲まれていてもターゲッティングするか否かを渡す。 第四引数をtrueにすると、ゾンビのように対象がブロックに囲まれていても、視認できれば攻撃しようとする。 EntityAIHurtByTarget(EntityCreature p_i1660_1_, boolean p_i1660_2_) 攻撃したEntityに反撃するAI。 第一引数にはthis、第二引数には反撃する際周囲の同種のEntityに助けを求めるか否かを渡す。 第二引数をtrueにすると、第一引数のEntityを攻撃したEntityは、第一引数と同種の周囲のEntityにも狙われる。ゾンビやゾンビピッグマンのような行動をする。 EntityLivingBase.getEntityAttribute(IAttribute p_110148_1_).setBaseValue(double p_111128_1_) Entityに対してHPやスピード等の数値を追加するメソッド。 getEntityAttributeに追加する数値の種類、setBaseValueにその値を渡す。 引数一覧 すべてSharedMonsterAttributesのstatic定数である。 定数名 説明 既定値 movementSpeed 移動速度 0.7(ただし、バニラのMOBは基本的に0.25) followRange 追跡距離 32 knockbackResistance ノックバック耐性 0 maxHealth 体力 20 RenderAluminiumCreeper ResourceLocation(String p_i1293_1_) Entityなどでテクスチャを指定する際につかうコンストラクター。 "aluminiummod textures/mobs/aluminium_creeper.png"のように、ファイルと修飾子まで入れる必要がある。 また、テクスチャを実装する場合は、今回のものはモデルをクリーパーのものを流用したため、クリーパーのテクスチャをaluminiummod/mobs/に放り込んでaluminium_creeperと名前を付ければよい。 ItemAluminiumEgg spawnEntityInWorld(Entity p_72838_1_) Entityをワールドにスポーンさせるメソッド。 ただし、setLocationAndAnglesなどで先にスポーン位置を指定する必要がある。 Tips クリーパーに因んでEntityを光らせる方法と爆発を発生させる方法を説明する。 Entityを光らせる 以下のコードを追加する。 @SideOnly(Side.CLIENT) public int getBrightnessForRender(float p_70070_1_) { return 15728880; } public float getBrightness(float p_70013_1_) { return 50.0F; } getBrightnessForRenderが描画側、getBrightnessが計算側に明るさを渡す。数値はこれらが最大値である。 爆発を発生させる 爆発を発生させる方法は二種類ある。どちらもWorldクラスに属する。 createExplosion(Entity entity, double x, double y, double z, float power, boolean destroyBlocks) 引数は発生Entity(このEntityは爆発によるダメージ、処理から除外されることになる)、座標(double三つ)、威力(大体土ブロックでの爆発半径に等しい。威力15以上は何故か正方形状に削れてしまう上範囲がほぼ広がらないため別処理の実装が望ましい。匠CraftのEntityGiantCreeper参照。)、ブロックを破壊するか否か、となっている。 newExplosion(Entity entity, double x, double y, double z, float power, boolean destroyBlocks, boolean spreadFire) 最終引数以外上記と一緒。最終引数は炎を撒き散らすかどうか。ファイアボールのような処理にしか使わない。なお、上のcreateExplosionはこの関数にfalseを渡しているだけである。 また、この二つの関数はExplosion型を返すため、イベントの追加にある爆発のフック処理をこの爆発限定で行うことも出来る。 コメント この項目に関する質問などをどうぞ。 EntityAluminiumCreeperの解説のEntityLivingBase.getEntityAttributeの下にあるmaxHealth|体力|20|がミスってますよ - 名無しさん 2016-02-02 19 49 20 ご指摘ありがとうございます。修正いたしました。 - Tom Kate 2016-02-02 20 28 33 AluminiumModの解説の(Class ? extends Entity entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates)のObject modをthisを使わないで処理しようと思ったら何を入れればいいですか? - west_village 2016-08-08 21 53 19 public static final AluminumMod instance = new AluminumMod();のように、インスタンスを作ってインスタンスを引数に渡してください。 - Tom Kate 2016-08-08 22 37 24 匠Craftの光匠やグロウストーン匠のように、光るMOBを作る方法はありますか?(実際は光っていないのかもしれないのか…?) - あるふぁ 2017-05-30 19 48 05 追記いたします。ご確認ください。 - Tom Kate 2017-06-01 19 39 57 たびたびすみません。プレイヤーなど既存のMOBを光らせる方法はありますか? - あるふぁ 2017-06-01 20 53 42 返信遅くなりまして申し訳ありません。こちらのチュートリアルにTipsとして追記しました。 - Tom Kate 2017-06-07 19 27 42 追記できておりません。Tom氏が多忙のようですので、もうしばらくお時間いただくことになりそうです。申し訳ありません。 - 赤砂蛇凪浜 2017-06-16 18 11 48 名前
https://w.atwiki.jp/the5zigmod/pages/16.html
Modの表示 この設定をオンにするとプレイ中の画面にディスプレイのカスタマイズで設定した内容が表示されます。 表示の大きさ この設定はディスプレイのカスタマイズで設定した内容を表示する時の大きさを設定します。 クラッシュレポートの自動送信 Modが原因でクラッシュした場合にクラッシュレポートを自動設定するかの設定です。オフにしてもクラッシュした際に送るか送らないかを聞かれます。 言語設定 The5zigModの言語の設定です。 現在 ドイツ語(ドイツ) 英語(米国) スペイン語(スペイン) 日本語(日本) オランダ語(オランダ) ポルトガル語(ポルトガル) スウェーデン語(スウェーデン) トルコ語(トルコ) 中国語(中国) の9言語を対応しています。 当Wikiでは日本語環境での説明をしています。 設定のリセット 全ての設定がリセットされます。 検索 すべての設定を検索できます。 製作者 The5zigModのクレジットです。 デベロッパー5zig スペシャルサンクスOreon Niki TheLeftover pizzachief Kico Gerrygames 翻訳Niki ThrusterRecord Elphios Fearr Maart ElsarraHD FA_yt ZombiekillerHV e_l1997 TomLodberg SuikaWars
https://w.atwiki.jp/dwarffortress/pages/124.html
MODとは、ゲーム本体を「基礎」とするとMODは「応用」になります。 ゲームの機能性の拡張、独自のゲームシステムの追加、グラフィック改善などなど、 その拡張性は多岐に渡ります。 総合MOD Genesis MOD MASTERWORK DWARF FORTRESS グラフィカルMOD Mike Mayday's combined pack (DFG) Phoebus' Graphics Pack グラフィカルUtility Stonesense サウンドUtility SoundSense ゲームプレイUtility Dwarf Therapist Quickfort Runesmith ワールドマップUtility PerfectWorldDF 総合MOD DFのありとあらゆる要素を拡張したMODです。 Genesis MOD http //www.bay12forums.com/smf/index.php?topic=52988.0 9種類のドワーフ、15種類の種族、70以上の新ユニークモンスター、50以上の新アイテム 、154種の植物、76種の木材、新しい Workshops、新しい精錬システム、強力な弓など様々な要素が追加されます。 Genesis MOD は三種類存在します。 ASCIIMOD - 文字バージョンです IRONHAND - グラフィカルバージョンです PHOEBUS - グラフィカルバージョンです MASTERWORK DWARF FORTRESS http //www.bay12forums.com/smf/index.php?topic=98196.645 DL http //dffd.wimbli.com/file.php?id=5315 「プレイする度に違う遊びを、興奮を」を目的としたMOD。 本来はオリジナルDFのバランス調整とバグフィックスを目的としたMODだが、新規要素が追加され続け大型MODになった。 その名の通り、無数の建設施設と多数の職業、様々な困難と報酬が用意されている。 重要な要素として、「新規追加要素」や「バランス変更要素」などは、全てオプションとして変更可能な起動ランチャーがついている。 つまり、新規追加要素を一切排除したバランスMODとしても導入可能。 ゲームをより難しくしたり、簡単にするオプションを選択導入可能。 ゲームFPS低下防止の「死体無限増殖防止機能」などもある。 銃火器の追加、スキルトレーニング施設の追加 45種の魔法矢、宝石のさらなる有効活用(兵器利用可能)、60種の新規建物、850種の新規生物 1000種を超える新規植物及びアイテム、75種の新規武器防具、30種の新規文明、800種を超えるドワーフの新たなリアクション、100種を超える新たなアーティファクト 新たな報酬システム(プレイヤーは困難な事態に打ち勝つと強大な報酬を得ます! オリジナル Dwarf Fortress のバグフィックスとバランス調整(主にトラップの弱体化) MASTERWORK DWARF FORTRESSの日本語解説 グラフィカルMOD DFの画像機能を強化する物です。 Mike Mayday s combined pack (DFG) フルグラフィカル(全ての表示がグラフィカル表示になる)MODです。 こちらからダウンロード出来ます。 タイルサイズ:16x16 推奨解像度:1280 http //mayday.w.staszic.waw.pl/df.phpDFG13.png Phoebus Graphics Pack 同様のフルグラフィカルMOD。 鉱物資源が一目で判別できるようになっているのが魅力です。 タイルサイズ:16x16 推奨解像度:1280 こちらからダウンロード出来ます。 http //www.bay12forums.com/smf/index.php?topic=57557.0#ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_dwarves.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_symbols.png) #ref error :ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (phoebus_soils.png) グラフィカルUtility Dwarf Fortressのグラフィックを表示する外部アプリケーションです。 Stonesense クォータービューでDwarf Fortressを表示できるUtility。 クォータービュー表示されるため位置関係が掴みやすくなります。 また、箱庭的楽しみも更に増すかもしれません。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=43260.0 サウンドUtility Dwarf Fortressに効果音等を追加する外部アプリケーションです。 SoundSense ゲーム中に効果音を追加するUtility。 プレイヤーとゲームログを表示するDOS窓の2窓構成。 何かが殴ったり殴られたりとか仕事ができない時とかに音が出るので便利。 そのぶん訓練中はがちゃがちゃうるさく感じるかもしれない。 他にも雨天やBGM等々いろいろ音が出る。 http //www.bay12forums.com/smf/index.php?topic=60287.0 ゲームプレイUtility Dwarf Fortressの操作を手助けしたり、パラメータを弄る外部アプリケーションです。 Dwarf Therapist Dwarf達のスキルを一目で判別・仕事の割り振りを一括管理できるUtility。 仕事の割り当てやnick nameをつける事等が、一括して簡単にできます。 Professionの名前を変えると同時に仕事の割り当てを一括で変える事等も可能。 また、移民順やprofession毎等、ソート機能も充実。 プレイが格段に快適になります。 チート要素はほぼありません。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=66525 34.11の場合は以下のリンクからダウンロードできます https //code.google.com/r/splintermind-attributes/ 使用方法(掲示板からのコピー)まずDFモードで遊んでるときに、セラピストを起動する。そしたら自動でDFとリンクしてくれるので、住民リストが出てきてくれる。中心の表ではLaborに関する設定をクリックでon/offできる。ただしクリックしただけで即時変更されるわけではなく、変更した事柄は全て右側の「Commit Changes」ボタンを押して初めて反映される。右側下段のCustom Professionでは、自分の指定したLaborのセットが作成できる。任意のドワーフを一人選んで、作成したCustom Professionを指定するとLaborが一気に変更できる。雑多な連中を「Citizen」とかで一括で簡単な仕事設定すると便利だよ!全部右側のボタンを押さないと反映されない事に注意してね! 詳しい解説:MOD解説/Dwarf Therapist Quickfort 設計図を元に高速で掘削・建築・設置を行うUtility。 地下100階まで続く螺旋階段が3分でセットできます。 チート要素なし。 実行時の動画:http //www.youtube.com/watch?v=gjohyKpf2Dg ダウンロード元(v2.03) http //www.bay12forums.com/smf/index.php?PHPSESSID=95c041bdaa3a961d492c968443097e1c topic=35931.0 他にも複数の設計図がアップロードされています。 簡単な使い方:基本は設計図をロード→[d]で場所を指定→掘削開始--Quickfortの一時停止:Shift+Alt+Z--Quickfortの終了:Shift+Alt+X--設計図のロード:Alt+F:設計図のロード後に[d]で場所--を指定する。--リピートの設定:Alt+R:上下左右・階上・階下へのリピートが--可能。設定しなければ1回掘って停止。--掘削開始:Alt+D QuickFort2.02に対応した詳しい解説ページを作りました。 現在翻訳中ですがひと通りのことについては記述してあります。 MOD解説/QF202 Runesmith Dwarf達やCreature達のスキルや能力値等、様々なパラメータを操作するUtility。 スキルの調整や能力値の修正ができるようになります。 チート要素非常に大。 以下のForumよりダウンロードできます。 http //www.bay12forums.com/smf/index.php?topic=59056.0 ワールドマップUtility DFのマップ、ワールドに関するMODです。 PerfectWorldDF DFのマップスクリプトの強化版です。 作者は Civilization4 のカスタムマップスクリプターとして有名な方です。 フォーラム http //www.bay12forums.com/smf/index.php?topic=57428.0 ダウンロード http //dffd.wimbli.com/file.php?id=2354
https://w.atwiki.jp/mafia2/pages/34.html
現在のところ2KはMOD締め出す方針のようです。 MODを作るために解析の必要があるファイルには暗号化が施されています。 そのため、現状胡散臭いもの(FREERIDE MODなど)しかありません。 人柱は歓迎するが自己責任で。 ツールについて 970 名前:UnnamedPlayer[sage] 投稿日:2010/08/30(月) 19 47 28 ID P8dz54mI 遂にsdsファイルのunpack/packツールが出たな。 でも、肝心のtables.sdsとかingame.sdsは暗号化されてて開けない。 インストール後の自動アップデートで対策されてるらしいけど、 何が何でも基幹部分はいじらせまいとする2Kの意向だとしたら ちょっと必死すぎだな・・・。 ちなみにインストール中にコピーして退避しておけば 普通に開けるらしい。 FreeRideMOD 導入方法 http //www.mafia2.hu/2010/08/mafia-2-free-ride-mod/ 「Letöltés」をクリックでダウンロード /pc/sds_en/gui/内のgui-main.sdsをバックアップ 解凍した中のgui-main.sdsをコピーして上書き ※FreeRideMODを導入するとセーブデータが消えるため必要であればバックアップ Windows7) C \Users\ユーザー名\AppData\Local\2K Games\Mafia II XP) C \Documents and Settings\ユーザー名\Local Settings\Application Data\2K Games\Mafia II 内のセーブデータフォルダをバックアップ。 AppData/Application Dataは隠しフォルダになっている為、 見えない場合はフォルダオプションを変更。