<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/bbc_mc/">
    <title>bbc_mc @ moddingメモ</title>
    <link>http://w.atwiki.jp/bbc_mc/</link>
    <atom:link href="https://w.atwiki.jp/bbc_mc/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>bbc_mc @ moddingメモ</description>

    <dc:language>ja</dc:language>
    <dc:date>2015-06-27T18:31:57+09:00</dc:date>
    <utime>1435397517</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/32.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/31.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/30.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/28.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/27.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/21.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/20.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/19.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/15.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/bbc_mc/pages/2.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/32.html">
    <title>Netty Packet Handling(和訳)</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/32.html</link>
    <description>
      &amp;link_edit(text=編集)
 
翻訳者コメント
以下のページの個人的和訳です。http://www.minecraftforge.net/wiki/Netty_Packet_Handling 

現在、翻訳中です。(2014/07/09)

なるたけ原文(英文)を併記しますので、意味不明・曖昧な場合は参照下さい。

AKさん日本語訳 http://forum.minecraftuser.jp/viewtopic.php?f=21&amp;t=18255 リンク切れ？
----
&amp;link_edit(text=編集)

*Netty Packet Handling

 Warning
  This page is marked as Outdated.
  It was made for older content and may cause problems.
  Please improve this article if you can.

注意！！
このページの内容は「古い」と申告されています。
古い情報に基づき判断すると、問題が生じる可能性があります。
もし可能であれば、このページの内容を改善して下さい。

 This is a How-To guide or Tutorial detailing a practice or process for Minecraft Forge or related software.
このガイドは「How-to:どうやってやるか」のガイド、またはチュートリアルです。
Minecraft Forge やその関係ソフトウェアを使う方法を示したものです。

 This page was made for Minecraft 1.7.2.
 It might not work with other versions.
 This is a poor example of using Netty. It can cause memory leaks. 
 It doesn&#039;t separate handlers from codecs properly.
 It reimplements functionality existant in FML for mon    </description>
    <dc:date>2015-06-27T18:31:57+09:00</dc:date>
    <utime>1435397517</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/31.html">
    <title>coremods tutorial(和訳)</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/31.html</link>
    <description>
      &amp;link_edit(text=編集)
 翻訳者コメント
   以下のページの個人的和訳です。
       http://www.minecraftforum.net/topic/1854988-tutorial-162-changing-vanilla-without-editing-base-classes-coremods-and-events-very-advanced/
 
   現在、翻訳中です。(2013/09/16)
   そのため、まだ以下の手順を実際に試してません。。。

 なるたけ原文(英文)を併記しますので、意味不明・曖昧な場合は参照下さい。

----
&amp;link_edit(text=編集)





----
&amp;link_edit(text=編集)    </description>
    <dc:date>2013-09-17T00:31:48+09:00</dc:date>
    <utime>1379345508</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/30.html">
    <title>Github_&amp;_jenkins_buildsystem</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/30.html</link>
    <description>
      &amp;bold(){Github &amp; jenkins buildsystem 勝手な和訳}

   以下のページの個人的和訳です。
       http://www.minecraftforge.net/wiki/Github_%26_jenkins_buildsystem
 
   現在、翻訳中です。(2013/09/13)
   そのため、まだ以下の手順を実際に試してません。。。

 なるたけ原文(英文)を併記しますので、意味不明・曖昧な場合は参照下さい。

----
目次
|#contents()|
---- 
&amp;link_edit(text=編集)

*How-To
 これは Minecraft Forge（もしくは関連するソフトウェア）の利用方法に関する、ハウツーガイド もしくはチュートリアルです。
 このチュートリアルは完全ではありませんので、ご注意下さい！
&amp;link_edit(text=編集)

* GitHub と Jenkins

このチュートリアルでは、jenkins と github を使ったビルドシステムをどうやって作るか、を説明していきます。&amp;br()
状況によっていくらか違いがあるのですが、できる限りがんばります。&amp;br()
この方法はあなたのソースコードをインターネットに公開しますので、その結果誰かがあなたのコードをコピーして使っても私に怒らないでください。&amp;br()
この翻訳（和訳者註：英文）はオランダ語で書かれたものを翻訳したものですので、完全な翻訳となっているかは保証しかねる事をご承知ください。&amp;br()
 In this tutorial I’m going to (try to) explain how to create a jenkins and github build system, this is different for each scenario, but I’ll do my best.
 This will put your source code on the internet, don’t be mad at me if someone copies it.
 Please note that is written on a Dutch syst    </description>
    <dc:date>2013-10-07T08:37:25+09:00</dc:date>
    <utime>1381102645</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/28.html">
    <title>mutexの動作</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/28.html</link>
    <description>
      &amp;bold(){mutexの動作}

----
目次
|#contents()|
----
* mutex

EntityAIBase クラスの mutex の動作について記載する。&amp;br()

&amp;link_edit(text=編集)
** mutexとは

同時実行できないタスクを示すために、bit フラグを利用する。
二つのタスクの mutex_bit を AND 処理し、同じフラグが一つでも立っていた場合はそれらのタスクは同時に実行できないと判断する。
 例) taskA (0001(10進数表記で 1)), taskB(0010(10進数表記で 2)) は、同時に実行可能
     
     taskA  0001
     taskB  0010
     -----  ----
            0000 =&gt; 同時実行可能

 例) taskA (0001(10進数表記で 1)), taskC(0011(10進数表記で 3)) は、同時に実行不可能
     
     taskA  0001
     taskC  0011
     -----  ----
            0001 =&gt; 同時実行不可能


&amp;link_edit(text=編集)
** 各AIのmutex値

1.6.2 forge804

|Filename|mutex|1|2|4|8|h
|EntityAIAvoidEntity.java|1|1|0|0|0|
|EntityAICreeperSwell.java|1|1|0|0|0|
|EntityAIDefendVillage.java|1|1|0|0|0|
|EntityAIFleeSun.java|1|1|0|0|0|
|EntityAIHurtByTarget.java|1|1|0|0|0|
|EntityAIMoveIndoors.java|1|1|0|0|0|
|EntityAIMoveThroughVillage.java|1|1|0|0|0|
|EntityAIMoveTowardsRestriction.java|1|1|0|0|0|
|EntityAIMoveTowardsTarget.java|1|1|    </description>
    <dc:date>2013-09-14T00:11:12+09:00</dc:date>
    <utime>1379085072</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/27.html">
    <title>SMP coding guideline</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/27.html</link>
    <description>
      &amp;bold(){SMP Coding Guideline 勝手な和訳}

 以下ページの勝手な和訳です。
 http://www.minecraftforge.net/wiki/SMP_Coding_Guidelines
 
 2013/09/09 訳終了

----
目次
|#contents()|
---- 
&amp;link_edit(text=編集)
*はじめに In general

Minecraft のサーバ (もしくは、その他の一般的なゲームサーバ) がどのように動いているか、考えてみて下さい。&amp;br();
基本的にクライアントとサーバでは同じゲームが動いていますが、サーバはあなたが何をすることが出来て何をすることが出来ないかの判定を受け持っているため、クライアント側で何が起きているかの更新を受け取り続ける必要があります。
Minecraft のサーバは非常に柔軟であり、(特にplayerの動きについては) 鷹揚に受け入れてしまいます。そのため、「一段の段差を登れるようにする」ような簡単な動作を行う mod であれば、サーバ側に変更を加えることなく動作させることが出来ます。
しかし、これには限度があります。default では、明白に飛んでいるような動作や異常な移動速度は kick されます。
Minecraft の同期の仕組みは &quot;おおざっぱ&quot; であり、Block や Entity の位置情報は数秒に一回程度しかクライアントへ送信されません。そのため、クライアントの動作はサーバ側と極力同じように動作する必要があるのです。

 Consider how Minecraft servers (or any game servers) work.
 Basically, both your client and the server are running the same game, but the server has authority over what you can or cannot do, and because of that, needs to be kept updated about what your client does.
 The Minecraft server is very fl    </description>
    <dc:date>2013-09-24T14:10:07+09:00</dc:date>
    <utime>1379999407</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/21.html">
    <title>EntityAITaskEntry</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/21.html</link>
    <description>
      &amp;bold(){EntityAITaskEntry}

----
目次
|#contents()|
----
* EntityAITaskEntry

EntityAITasks に登録するためのクラス。&amp;br()

&amp;link_edit(text=編集)
** クラス変数

*** public EntityAIBase action
登録する AI。

*** public int priority
登録する AI の優先順位。
EntityAITasks で実行する AI を選別する際に利用する。

*** final EntityAITasks tasks
登録先の EntityAITasks

&amp;link_edit(text=編集)    </description>
    <dc:date>2012-10-10T01:28:11+09:00</dc:date>
    <utime>1349800091</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/20.html">
    <title>EntityAITasks</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/20.html</link>
    <description>
      &amp;bold(){EntityAITasks}

 10/10
   本ページは作成中です。
   項目の不足・不備が多数あります。

----
目次
|#contents()|
----
* EntityAITasks

EntityAITasks クラスの機能・実装について記載する。&amp;br()

&amp;link_edit(text=編集)
** 機能
EntityAITasks クラスは、AI の管理クラスである。&amp;br()

主な機能は以下の通り。&amp;br()

- 実行候補 AI リスト (taskEntries) の保持
- 実行する AI リスト (executingTaskEntries) の作成
- 実行する AI リストの更新
- 実行する AI リストの保持
- AIの実行

このクラスは EntityLiving クラスの変数として宣言されており、継承した生物クラスは全てこのクラス変数を持つ。&amp;br()
このクラスの更新関数 onUpdateTasks() は EntityLiving の onUpdate() から呼び出されている。&amp;br()

** フィールド
*** public List taskEntries
実行候補となる AIを登録しておくリスト。&amp;br()
登録は EntityAITaskEntry クラスを利用する。&amp;br()

*** private List executingTaskEntries
現在実行している AI を登録しておくリスト。&amp;br()
後述する onUpdateTasks() でリストのメンバーは更新・実行され続ける。&amp;br()

&amp;link_edit(text=編集)
** 関数

&amp;link_edit(text=編集)
*** void addTask(int, EntityAIBase)
 int proiority
 EntityAIBase 

実行対象とする AI を登録する。&amp;br()
priority の値が小さい AI の方が (基本的には) 優先的に実行される。&amp;br()
priority の値についての詳細は[[こちら&gt;EntityAITasksEntry]]に記載した。&amp;br()

**    </description>
    <dc:date>2013-09-14T00:10:23+09:00</dc:date>
    <utime>1379085023</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/19.html">
    <title>EntityAIBase</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/19.html</link>
    <description>
      &amp;link_edit(text=編集)
----
目次
|#contents()|
----
* EntityAIBase ってなに？

EntityAIBase は、これから作成する AI のベースとなる、抽象クラスである。&amp;br()

既に作成されている AI を探してソースを読むと、このクラスを継承していくつかの関数を Override していることが分かる。&amp;br()
今後自作の AI を作成する場合は、このクラスを継承したクラスを作成していく事になるので、&amp;br()
このクラスにどんな変数や関数があるか、その機能はどんなものかを理解しておく事が重要になる。

* 一覧
** mutexBits

この値は、複数の AI 間で同時に実行できるかどうかを示すために使用する。&amp;br()
この値をうまく利用する事で、作成した AI の行動が他の AI によって邪魔される事を防ぐ事ができる。&amp;br()

例えば、「右へ行け！」という指示をあなたの AI が出していたとする。&amp;br()
この時に、mutexBits が適切に設定されていないと、「左へ行け！」という他の AI の指示が上書きされてしまうかもしれない。&amp;br()

詳細は [[別ページ&gt;http://www50.atwiki.jp/bbc_mc/pages/28.html]] に記載する。

** shouldExecute

「今の状況で、この AI を実行し&amp;color(red){始める};べきか」を返す関数。&amp;br()
EntityAITasks という、複数の AI を管理しているクラスから呼び出される。&amp;br()

** continueExecuting

「今の状況で、この AI を実行し&amp;color(red){続ける};べきか」を返す関数。&amp;br()
EntityAITasks という、複数の AI を管理しているクラスから呼び出される。&amp;br()

** isInterruptible()

「より priority の小さい（優先されるべき）AI を実行しようとする場合に、この AI を途中で中止できるか」を返す関数。&amp;br()
true を返すと、priority の差にかかわらずこの AI の動作が完了するか    </description>
    <dc:date>2013-09-13T23:56:39+09:00</dc:date>
    <utime>1379084199</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/15.html">
    <title>概要</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/15.html</link>
    <description>
      &amp;link_edit(text=編集)
----
目次
|#contents()|
----
* 概要
** &quot;旧&quot;AI、&quot;新&quot;AIとは
Minecraft ver1.2 で、それまでの AI とは異なる &quot;新&quot; AI が実装された。
ただし、いまだに一部 mob は &quot;新&quot; AI で動作していない。
&quot;新&quot; AI では mob の動作ロジックが改善され、例えば移動時にダメージを受けるような高所から降りる経路を取らなくなった。その結果として、それまで Creeper がダメージを受けてでも飛び降りて襲  ってきていたのが無くなった。

&quot;旧&quot; AI システムと &quot;新&quot; AI システムの大きな違いとしては、&quot;旧&quot; AI ではEntityLiving の onUpdate 内で AI としての処理を行っていた所、&quot;新&quot; AI ではタスクベースの管理システムが実装された。(EntityAITasks)

現在見られる EntityAI～ というクラスは、&quot;新&quot; AI システムで利用される個別タスクの実装クラスとなっている。

以下では、&quot;新&quot;AI システムについて、説明を行う

** AIの基礎を構成するファイル
AI システムを構成するファイルは、大きく分けると以下の通りである。
-EntityAITasks
  AI のリストを保持し、どの AI を実行するかを切り替える管理用クラス。各Mobでインスタンスを持つ。
  EntityLiving で宣言されており、EntityLiving.onUpdate 内から定期的に update を呼び出されている。
  EntityLiving では、通常動作用と戦闘用の 2 つのインスタンスを保持している。
-EntityAITasksEntry
  EntityAITasks に登録する単位。
  登録先の EntityAITasks と、AI の実行重要度(priority)、EntityAIBase を継承したクラスへの参照を持つ。
-EntityAIBase
  すべての AI の基礎となるベースクラス。
  新AI はこのクラスを継承して作成されている。
-EntityAITarget
  EntityAIBase を継承する抽象クラス。
  戦闘に関す    </description>
    <dc:date>2013-09-14T00:01:03+09:00</dc:date>
    <utime>1379084463</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/bbc_mc/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/bbc_mc/pages/2.html</link>
    <description>
      &amp;link_editmenu(text=編集)
[[トップページ]]
----


*AI
- AI概要
-- [[AI概要&gt;概要]]
-- [[EntityAITasks]]
-- [[EntityAITaskEntry]]
-- [[EntityAIBase]]
-- [[mutexの動作]]
- AI 作成の流れ
-- AI作成 (新AI用)

*modding
- 翻訳
-- [[SMP coding guideline]](翻訳)
- 翻訳（未完）
-- [[Github_&amp;_jenkins_buildsystem]](翻訳)
-- [[coremods tutorial(和訳)]]
-- [[Netty Packet Handling(和訳)]]

*自作MOD
- EasyAIInterface&gt;EAIとは・機能説明

*private
- [[プライベート]]

----
アクセスログ
　　総計：&amp;counter(total)
　　本日：&amp;counter(today)
　　昨日：&amp;counter(yesterday)
----

&amp;link_editmenu(text=編集)    </description>
    <dc:date>2014-07-09T14:25:00+09:00</dc:date>
    <utime>1404883500</utime>
  </item>
  </rdf:RDF>
