Перезарядка на R

Уже давно ищу как сделать перезарядку на клавишу R нашел только это http://www.minecraftforum.net/forums/mapping-and-modding/mapping-and-modding-tutorials/1571567-forge-1-6-4-1-8-eventhandler-and


И то мало что понял ":/"
Есть кто может подробно объяснить?
 
С клиента отправляй пакеты на сервер.
 
о, я б тоже почитал...
 
Один из примеров был написан в моём посте, только там про "Message" но работает как пакет. Смотри и читай с этого места сообщения:
timaxa007 написал(а):
Пока-что у нас получилось создать метод, который будет работать на клиенте, по-этому нужно использовать пакеты, чтобы заработало на сервере.
[merge_posts_bbcode]Добавлено: 12.04.2015 19:22:26[/merge_posts_bbcode]

А так-же есть вот тема: Простая схема отправки информации на сервер/клиент .
 
О, спасибо.
 
Все еще не понял %)   
Что я должен именно отослать и как ?
         Класс RegKey?
           Нужно создать новый класс или что-то менять в MessageActionWeapons ?
             Зачем это нужно ?
 
Постараюсь очень коротко объяснит.
Создаём и регистрируем привязку к кнопке (чтобы последующие можно было изменить в управлении). Затем создаём тикущий эвант с проверкой на нажатие зарегистрированной нашей кнопки. Проверку отправляем в метод, в которых делаются условия и некоторые преобразования.
Не понял, то по-другому тупо создай в update проверку и отправку:
Код:
Keyboard.isKeyDown(Keyboard.KEY_R) {
PackWeapons.network.sendToServer(new MessageActionWeapons(3));
}
Данный пакет отправляется на сервер с нужным параметром. Подобный пакет нужно зарегистрировать, чтобы было понятно на какой стороне он будет во-основном работать. В handler'е этого пакета принятый пакет преобразуем в нужный вид.
Подробности как именно работают пакеты, сказать (написать) не смогу.
Брал пример из Forge'ского форума.
http://www.minecraftforge.net/forum/index.php/topic,20135.0.html?PHPSESSID=dMW,l9pXNmkuEgyISLn7z0
Я просто делаю это. Точно не знаю, как это на самом деле работает. Но думаю, что делаю правильно. Методом "проб и ошибок" я достигаю нужных результатов или нет.

Да ещё одну тему нашёл на этом форуме связанный с пакетами:
[1.7.2][Tutorial]Netty Packet Handling - удобная система пакетов
 
timaxa007 написал(а):
Постараюсь очень коротко объяснит.
Создаём и регистрируем привязку к кнопке (чтобы последующие можно было изменить в управлении). Затем создаём тикущий эвант с проверкой на нажатие зарегистрированной нашей кнопки. Проверку отправляем в метод, в которых делаются условия и некоторые преобразования.
Не понял, то по-другому тупо создай в update проверку и отправку:
Код:
Keyboard.isKeyDown(Keyboard.KEY_R) {
PackWeapons.network.sendToServer(new MessageActionWeapons(3));
}
Данный пакет отправляется на сервер с нужным параметром. Подобный пакет нужно зарегистрировать, чтобы было понятно на какой стороне он будет во-основном работать. В handler'е этого пакета принятый пакет преобразуем в нужный вид.
Подробности как именно работают пакеты, сказать (написать) не смогу.
Брал пример из Forge'ского форума.
http://www.minecraftforge.net/forum/index.php/topic,20135.0.html?PHPSESSID=dMW,l9pXNmkuEgyISLn7z0
Я просто делаю это. Точно не знаю, как это на самом деле работает. Но думаю, что делаю правильно. Методом "проб и ошибок" я достигаю нужных результатов или нет.

Да ещё одну тему нашёл на этом форуме связанный с пакетами:
[1.7.2][Tutorial]Netty Packet Handling - удобная система пакетов
Это мне ничего не дало тот же самый краш 
public void onUpdate(ItemStack par1ItemStack, World par2World, Entity par3Entity, EntityPlayer par3Entityplayer, int par4, boolean par5){
   
   
     if (Keyboard.isKeyDown(Keyboard.KEY_R)) { Mymod.network.sendToServer(new MessageActionWeapons(3));
     }
 
Ты уверен в том, что ты правильно зарегистрировал пакет?
Хоть какой краш-лог?
 
Может проблема в RegKey в регистрах ведь когда я переставил в RegKey.preInit() сервер перестал выдавать краш и просто пишет что 



3:25:29] [Server thread/INFO] [MinecraftForge]: Completed early MinecraftForge initialization
[13:25:29] [Server thread/INFO] [FML]: Searching C:\forge\eclipse\mods for mods
[13:25:33] [Server thread/INFO] [FML]: Forge Mod Loader has identified 5 mods to load
[13:25:34] [Server thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, examplemod, nukacraft] at CLIENT
[13:25:34] [Server thread/INFO] [FML]: Attempting connection with missing mods [mcp, FML, Forge, examplemod, nukacraft] at SERVER
[13:25:34] [Server thread/INFO] [FML]: Processing ObjectHolder annotations
[13:25:34] [Server thread/INFO] [FML]: Found 341 ObjectHolder annotations
[13:25:34] [Server thread/INFO] [FML]: Configured a dormant chunk cache size of 0
[13:25:34] [Server thread/INFO] [FML]: Applying holder lookups
[13:25:34] [Server thread/INFO] [FML]: Holder lookups applied
[13:25:34] [Server thread/INFO]: Loading properties
[13:25:34] [Server thread/INFO]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
[13:25:34] [Server thread/WARN] [FML]: Can't revert to frozen GameData state without freezing first.
[13:25:34] [Server thread/INFO] [FML]: Applying holder lookups
[13:25:34] [Server thread/INFO] [FML]: Holder lookups applied
[13:25:34] [Server thread/INFO] [FML]: The state engine was in incorrect state POSTINITIALIZATION and forced into state SERVER_STOPPED. Errors may have been discarded. 

Он у меня и до этого не запускался и выдавал тоже самое требует какое-то подтверждение :/
 
RegKey - только для клиента.
В где-то ошибка, либо в главном классе, либо прокси или где-то ещё связанный с ним. Так как он ругаеться на post-инициализацию.
 
Чтож включил eula и в главном классе жалуется на в преИните на  RegKey.preInit();
              А в RegKey на     public static final KeyBinding reload = new KeyBinding("key.reload.name", Keyboard.KEY_R, cat_name);
 
Назад
Сверху