[1.7.10] Смена режима предмета

Я пытаюсь сделать предмет, который при нажатии на правую кнопку с шифтом будет переключаться между режимами, изменяя при этом название, а без шифта - проверять режим и в зависимости от него что-то делать.
До сих пор не могу понять, как так сделать. Идеи?
 
Смотри ведро с молоком.Там такой же принцип , только тебе подставить нажатие правой кн.мыши
 
Легкий способ - в предмете есть метод onRightClick, или что-то вроде этого. (~ItemBucket) В нем можешь проверять, нажат ли Шифт. Отсюда выполнять действия.

Код:
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player)
{
       if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))
       {
             //TODO: CODE
       }
}

Сложный способ - можешь сделать кейХандлер. Там проверять, если у тебя в руке такой-то предмет, то при нажатии на кнопку (можешь сделать забинденную кнопку, которую можно будет менять в настройке ) отправлять пакет на сервер. Сервер, в свою очередь, по входящему пакету должен что-либо делать.

На счет изменения имени. Лучше бы ты, конечно, менял описание. Было бы легче. Но если хочешь название - смотри тайл наковальни.
 
Опять быдлокодим. Шифт - приседание, то есть достаточно player.isSneaking().
 
Кнопку приседания можно изменить на другую клавишу. Тут стоит конкретная задача - только при нажатии шифта. Если бы он уточнил "при приседании", то тогда ладно.К тому же, никакой дополнительной нагрузки это не несет.
 
Про ведро сказано правильно, при выливании ведра, ведро с жидкостью удаляется из инвентаря, а вместо его, добавляется новый предмет - пустое ведро. Код дали тоже...
 
Все было бы хорошо, но я запудрился СО СМЕНОЙ режима и с его проверкой.
И добавлять больше еще два таких же предмета не очень хочется.
 
В NBT добавляешь переменную "mode" или как тебе надо, на пкм проверяешь игрока на приседание и меняешь.
 
Назад
Сверху