IMessageの使い方がわからない

Modding・サーバPlugin制作・ツール制作など、開発関連の質問があればこちらにお願い致します。
フォーラムルール
質問関連フォーラムで質問する時は、必ず次のトピックを一読/厳守お願い致します。
viewtopic.php?f=5&t=999
  • (PostNo.273118)

IMessageの使い方がわからない

投稿記事by C6H2Cl2 » 2016年5月19日(木) 19:36

Forge 1.9 - 12.16.1.1887で、TileEntityのデータをGUIで編集し、それを同期するためにIMessageを使おうとしているのですが、modding wikiに書いてあるようにしても例外が出ます。
スタックトレースを読んだところ、ByteBufからreadByte()を呼んだときに、checkReadableBytes()から例外がスローされているようです。
スタックトレース
Description: Unexpected error

java.lang.IndexOutOfBoundsException: readerIndex(91) + length(1) exceeds writerIndex(91): UnpooledHeapByteBuf(ridx: 91, widx: 91, cap: 256)
at io.netty.buffer.AbstractByteBuf.checkReadableBytes(AbstractByteBuf.java:1175)
at io.netty.buffer.AbstractByteBuf.readByte(AbstractByteBuf.java:570)
at net.minecraft.network.PacketBuffer.readByte(PacketBuffer.java:755)
at c6h2cl2.mod.SolidXp.Massage.MessageTileEntityData.fromBytes(MessageTileEntityData.java:39)
at c6h2cl2.mod.SolidXp.Massage.MessageTileEntityData.<init>(MessageTileEntityData.java:26)
at c6h2cl2.mod.SolidXp.GUI.GUIContainerXPStorage.sendPacket(GUIContainerXPStorage.java:125)
at c6h2cl2.mod.SolidXp.GUI.GUIContainerXPStorage.initGui(GUIContainerXPStorage.java:60)
at net.minecraft.client.gui.GuiScreen.setWorldAndResolution(GuiScreen.java:551)
at net.minecraft.client.Minecraft.displayGuiScreen(Minecraft.java:1011)
at net.minecraftforge.fml.client.FMLClientHandler.showGuiScreen(FMLClientHandler.java:493)
at net.minecraftforge.fml.common.FMLCommonHandler.showGuiScreen(FMLCommonHandler.java:309)
at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:103)
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2693)
at c6h2cl2.mod.SolidXp.Block.XPStorage.onBlockActivated(XPStorage.java:32)
at net.minecraft.client.multiplayer.PlayerControllerMP.processRightClickBlock(PlayerControllerMP.java:439)
at net.minecraft.client.Minecraft.rightClickMouse(Minecraft.java:1597)
at net.minecraft.client.Minecraft.processKeyBinds(Minecraft.java:2268)
at net.minecraft.client.Minecraft.runTickKeyboard(Minecraft.java:2052)
at net.minecraft.client.Minecraft.runTick(Minecraft.java:1840)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1114)
at net.minecraft.client.Minecraft.run(Minecraft.java:401)
at net.minecraft.client.main.Main.main(Main.java:118)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)


1.7.10、1.8、1.8.9の情報でも良いので、IMessageによるデータの同期の方法を詳しく教えてくれないでしょうか?
CurseForgeという海外サイトで、modをいくつか公開しています。
祝・ReinforcedTools10万DL突破!
連絡や、更新予定の確認などは、Twitter@PDB_Yukariへ。
Twitterなんかではパラジって名前でやってます。
結月ゆかりはいいぞ
最近、Kotlinという言語にハマってる。
アバター
C6H2Cl2
ID:2e922742
石掘り
 
記事: 128
登録日時: 2015年9月03日(木) 11:23

Return to 質問:開発・制作関連

x