提供: Minecraft Modding Wiki
(使う分には分かるのだけど、分かりやすさが難しい) |
|||
57行目: | 57行目: | ||
===ModLoaderMp.SendPacket=== | ===ModLoaderMp.SendPacket=== | ||
クライアント側で使用できるメソッドです。 | クライアント側で使用できるメソッドです。 | ||
+ | 例: | ||
+ | 1.packetTeigi.classに送付Packet内容を記述 | ||
+ | <pre> | ||
+ | public Packet230ModLoader.getPacketData() | ||
+ | { | ||
+ | Packet230ModLoader packet = new Packet230ModLodaer(); | ||
+ | packet.dataInt = new int[1]; | ||
+ | packet.dataInt[0] = this.posX; | ||
+ | </pre> | ||
+ | 2.mod_hogehogeに参照データを記述 | ||
+ | <pre> | ||
+ | public class mod_hogehoge extends BaseModMp | ||
+ | { | ||
+ | public static mod_hogehoge instance; | ||
+ | ..... | ||
+ | |||
+ | public void load | ||
+ | { | ||
+ | instance = this; | ||
+ | ..... | ||
+ | } | ||
+ | </pre> | ||
+ | 3.Entityhogeでpacketデータを送信 | ||
+ | <pre> | ||
+ | public class Entityhoge extends Entity | ||
+ | { | ||
+ | packetTeigi hogge | ||
+ | </pre> | ||
+ | ・・・書いてたら頭が沸騰したので、ちょっと停止 | ||
解説と例を考え中 | 解説と例を考え中 | ||
===ModLoaderMp.SendPacketTo=== | ===ModLoaderMp.SendPacketTo=== | ||
67行目: | 96行目: | ||
===SendKey=== | ===SendKey=== | ||
===コマンドによるPacket送信処理=== | ===コマンドによるPacket送信処理=== | ||
+ | |||
+ | 執筆中... |
2012年3月15日 (木) 00:45時点における版
ModLoaderMpで使用できるCustumPacketsの設定方法を記載します。
目次
カスタムパケットの基本
送付できるPacketの種類
1.int型 2.float型 3.String型
Ex:以下のように設定します。
float[] dataFloat = new float[numberOfFloats]; dataFloat[0] = xxxx; dataFloat[1] = yyyy; .... int[] dataInt = new int[numberOfInts]; dataInt[0] = zzzz; dataInt[1] = bbbb; .... String[] dataString = new loat[numberOfStrings]; dataString[0] = aaaa; dataString[1] = cccc; ....
インターフェイスを実装する
ISpawnableインターフェイスを実装します。 Ex:
public class ClassName extends Entity implements ISpawnable {
上記はClassNameクラスにEntityクラスを継承してISpawnableインターフェイスを実装しています。
ISpawnableインターフェイスを実装した後、 Server側でgetSpawnPacketメソッドを追加した場合の例
public Packet230ModLoader getSpawnPacket() { Packet230ModLoader packet = new Packet230ModLoader(); packet.packetType = 0; packet.dataInt = new int[1]; packet.dataInt[0] = entityColor; packet.dataFloat = new float[2]; packet.dataFloat[0] = (float)posX; packet.dataFloat[1] = posY; packet.dataString = new String; packet.dataString[0] = dataString; return packet; }
packetType = 0:アップデートフラグとして packetType = 1:送信フラグとして ※言葉が書きづらい・・・。もっとわかりやすく書ける方お願いします。
Packetの送信方法
ModLoaderMp.SendPacket
クライアント側で使用できるメソッドです。 例: 1.packetTeigi.classに送付Packet内容を記述
public Packet230ModLoader.getPacketData() { Packet230ModLoader packet = new Packet230ModLodaer(); packet.dataInt = new int[1]; packet.dataInt[0] = this.posX;
2.mod_hogehogeに参照データを記述
public class mod_hogehoge extends BaseModMp { public static mod_hogehoge instance; ..... public void load { instance = this; ..... }
3.Entityhogeでpacketデータを送信
public class Entityhoge extends Entity { packetTeigi hogge
・・・書いてたら頭が沸騰したので、ちょっと停止 解説と例を考え中
ModLoaderMp.SendPacketTo
サーバー側で使用できるメソッドです。 解説と例を考え中
ModLoaderMp.SendPacketToAll
サーバー側で使用できるメソッドです。 解説と例を考え中
HandlePacket
SendKey
コマンドによるPacket送信処理
執筆中...