Пакеты

Версия Minecraft
1.6.4
49
3
3
Вообщем я решил сделать улучшение оружия таким способом: берешь в руки пушку, жмешь на клавиатуре кнопку, открывается гуи. В гуи есть слот, кладешь туда предмет и жмешь кнопочку "Улучшить" и отправляется пакет, изменяется переменная например отдачи и готово. Поскольку я только начал заниматься этим очень интересным...занятием мне пока не понятно, как сделать чтобы при нажатии на эту же кнопку "Улучшить" при отправке пакета было условие есть ли в слоте нужный предмет и если есть то стак сайз вычитал -1 и пакет отправлялся?
 
Последнее редактирование:
Решение
Там где ты обрабатываешь пакет ты можешь получить открытый контейнер (player#openContainer) и примерно так уменьшить stacksize в нужном слоте:
Java:
InventoryCrafting craftMatrix = ((YourContainer) entityplayer.openContainer).craftMatrix;

craftMatrix.decrStackSize(0, amount);
49
3
3
Немного тупанул... Я разобрался во всем, но не понял как сделать чтобы сайз вычитал -1 предмет. Вот я в гуи отправляю пакет при нажатии на кнопку и проверках, а как с стакСайзом быть?

Java:
    if(inventory.getStackInSlot(3) != null) {
        PacketDispatcher.sendPacketToServer(PacketUpgrade.buildPacket());
    }
 
243
28
202
Там где ты обрабатываешь пакет ты можешь получить открытый контейнер (player#openContainer) и примерно так уменьшить stacksize в нужном слоте:
Java:
InventoryCrafting craftMatrix = ((YourContainer) entityplayer.openContainer).craftMatrix;

craftMatrix.decrStackSize(0, amount);
 
49
3
3
Там где ты обрабатываешь пакет ты можешь получить открытый контейнер (player#openContainer) и примерно так уменьшить stacksize в нужном слоте:
Java:
InventoryCrafting craftMatrix = ((YourContainer) entityplayer.openContainer).craftMatrix;

craftMatrix.decrStackSize(0, amount);
Спасибо, сделал конечно немного по своему, но ты очень помог!
 
Сверху