提供: Minecraft Modding Wiki
移動先: 案内検索

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
1行目: 1行目:
 
{{前提チュートリアル|page=1.7のパケットについて}}
 
{{前提チュートリアル|page=1.7のパケットについて}}
 
{{前提MOD|reqmod="Minecraft Forge Universal 10.12.1.1090~"}}
 
{{前提MOD|reqmod="Minecraft Forge Universal 10.12.1.1090~"}}
{{過去リンク|version=Minecraft Forge Universal 10.12.1.1089|url=http://minecraftjp.info/modding/index.php?title=1.7%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%9C%E3%83%BC%E3%83%89%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E8%BF%BD%E5%8A%A0&oldid=2141}}
 
  
  
54行目: 53行目:
  
 
     public static void init() {
 
     public static void init() {
         INSTANCE.registerMessage(MessageKeyPressedHandler.class, MessageKeyPressed.class, 0, Side.SERVER);  
+
         INSTANCE.registerMessage(MessageSample.class, MessageSample.class, 0, Side.SERVER);
 
     }
 
     }
 
}</source>
 
}</source>
65行目: 64行目:
 
     @SidedProxy(clientSide = "yourpackage.Client.ClientProxy", serverSide = "yourpackage.CommonProxy")
 
     @SidedProxy(clientSide = "yourpackage.Client.ClientProxy", serverSide = "yourpackage.CommonProxy")
 
     public static CommonProxy proxy;
 
     public static CommonProxy proxy;
 
    @EventHandler
 
    public void preInit(FMLPreInitializationEvent event) {
 
        PacketHandler.init();
 
    }
 
  
 
     @EventHandler
 
     @EventHandler
87行目: 81行目:
 
<source lang = "java">
 
<source lang = "java">
 
package yourpackage;
 
package yourpackage;
 +
import cpw.mods.fml.client.FMLClientHandler;
 +
import cpw.mods.fml.common.FMLCommonHandler;
 
import cpw.mods.fml.common.network.simpleimpl.IMessage;
 
import cpw.mods.fml.common.network.simpleimpl.IMessage;
 +
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
 +
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
 
import io.netty.buffer.ByteBuf;
 
import io.netty.buffer.ByteBuf;
 +
import net.minecraft.entity.player.EntityPlayer;
  
public class MessageKeyPressed implements IMessage {
+
public class MessageKeyPressed implements IMessage, IMessageHandler<MessageKeyPressed, IMessage> {
  
     public byte key;
+
     private byte key;
  
 
     public MessageKeyPressed(){}
 
     public MessageKeyPressed(){}
109行目: 108行目:
 
         buf.writeByte(this.key);
 
         buf.writeByte(this.key);
 
     }
 
     }
}
 
</source>
 
MessageKeyPressedHandler.java
 
<source lang = "java">
 
package yourpackage;
 
import cpw.mods.fml.common.network.simpleimpl.IMessage;
 
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
 
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
 
import net.minecraft.entity.player.EntityPlayer;
 
 
public class MessageKeyPressedHandler implements IMessageHandler<MessageKeyPressed, IMessage> {
 
  
 
     @Override
 
     @Override
129行目: 117行目:
 
         return null;
 
         return null;
 
     }
 
     }
 
+
}
 
</source>
 
</source>
 
 
==解説==
 
==解説==
 
===ClientProxy===
 
===ClientProxy===
169行目: 156行目:
 
<source lang = "java">
 
<source lang = "java">
 
package yourpackage;
 
package yourpackage;
 +
import cpw.mods.fml.client.FMLClientHandler;
 +
import cpw.mods.fml.common.FMLCommonHandler;
 
import cpw.mods.fml.common.network.simpleimpl.IMessage;
 
import cpw.mods.fml.common.network.simpleimpl.IMessage;
 +
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
 +
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
 
import io.netty.buffer.ByteBuf;
 
import io.netty.buffer.ByteBuf;
 +
import net.minecraft.entity.player.EntityPlayer;
  
public class MessageKeyPressed implements IMessage {
+
public class MessageKeyPressed implements IMessage, IMessageHandler<MessageKeyPressed, IMessage> {
  
 
     private byte key;
 
     private byte key;
191行目: 183行目:
 
         buf.writeByte(this.key);
 
         buf.writeByte(this.key);
 
     }
 
     }
}
 
</source>
 
キー判定を送るMessageクラス。
 
ここでは、byte変数keyの内容をサーバーに送っている。
 
 
===MessageKeyPressedHandler===
 
<source lang = "java">
 
package yourpackage;
 
import cpw.mods.fml.common.network.simpleimpl.IMessage;
 
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
 
import cpw.mods.fml.common.network.simpleimpl.MessageContext;
 
import net.minecraft.entity.player.EntityPlayer;
 
 
public class MessageKeyPressed implements IMessageHandler<MessageKeyPressed, IMessage> {
 
  
 
     @Override
 
     @Override
216行目: 194行目:
 
}
 
}
 
</source>
 
</source>
Messageクラスを受け取って、処理をするクラス。
+
キー判定を送るMessageクラス。
ここでは、サーバーのチャットに変数に格納されたbyteを出力している。
+
ここでは、byte変数keyの内容をサーバーに送って、それをチャットに出力している。
 +
 
  
 
押しっぱなしかどうかを見たいのであれば、tick処理ループ内で、KeyBinding変数のgetIsKeyPressed()メソッドを監視し続ければよい。
 
押しっぱなしかどうかを見たいのであれば、tick処理ループ内で、KeyBinding変数のgetIsKeyPressed()メソッドを監視し続ければよい。

Minecraft Modding Wikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMinecraft Modding Wiki:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)