Проблемы с пакетами.

Доброго времени суток. Значит проблема такова - есть класс пакета, который регистрируется в Main классе.
Код пакета:
public class SanityHurtMessageHandler implements IMessage, IMessageHandler {

public void toBytes(ByteBuf buf) {}

public void fromBytes(ByteBuf buf) {}

public IMessage onMessage(SanityHurtMessageHandler message, MessageContext ctx) {
if(Minecraft.getMinecraft().thePlayer != null && TickHandler.sanity > 1) {
TickHandler.sanity -= 5;
}


return null;
}
}

И вот код регистрации пакета в Main классе:
public static SimpleNetworkWrapper snw;

@EventHandler
public void preInit(FMLPreInitializationEvent event) {
SanityPotion = (new SanityPotion()).setUnlocalizedName("SanityPotion");
snw = NetworkRegistry.INSTANCE.newSimpleChannel("AMS");
snw.registerMessage(SanityHurtMessageHandler.class, SanityHurtMessageHandler.class, 1, Side.CLIENT);
FMLCommonHandler.instance().bus().register(new FMLEventHandler());
MinecraftForge.EVENT_BUS.register(new MCFEventHandler());
proxy.initMod();
}


В конечном итоге я получаю ошибку навроде "Calss must be declared or abstract or implement onMessage..." в классе пакета. Как это решить?
 
Sleepless, не ясна твоя проблема.
Не видно, отправки пакета.
То что написано у тебя в методе onMessage, желательно сделать для него отдельный класс, у которого будет над классом "@SideOnly(Side.CLIENT)".
[merge_posts_bbcode]Добавлено: 02.10.2015 17:16:24[/merge_posts_bbcode]

У тебя в IMessageHandler, кое чего не хватает:
Код:
implements IMessage, IMessageHandler<SanityHurtMessageHandler, IMessage>
 
timaxa007 написал(а):
Sleepless, не ясна твоя проблема.
Не видно, отправки пакета.
То что написано у тебя в методе onMessage, желательно сделать для него отдельный класс, у которого будет над классом "@SideOnly(Side.CLIENT)".
Пакеты я отправляю из других классов. Все зарегистрировано как надо.


Код:
@SubscribeEvent
public void playerHurt(LivingHurtEvent event) {
   if(event.entityLiving instanceof EntityPlayer) {
      //AmnesiaMonsters.snw.sendTo(new SanityHurtMessageHandler(), (EntityPlayerMP)event.entityLiving);
   }

}
 
Импорты все покажи в классе пакета.
А лучше полный код пакета залить на pastebin.
 
Назад
Сверху