Кд для нажатие пкм по блоку

Версия Minecraft
1.7.10
516
11
39
Всем привет.Как сделать, чтобы этот код при нажаите пкм по блоку давал кд, например 10 минут ,подскажите пж

Java:
     @SideOnly(Side.CLIENT)
        public boolean onBlockActivated(World world, int p2, int p3, int p4, EntityPlayer player, int p6, float p7, float p8, float p9) {
         ItemStack item = new ItemStack(ElterionRPG.raspberry,1,0);
         String nickname = Minecraft.getMinecraft().getSession().getUsername();
         if(!world.isRemote){
             if (!player.inventory.addItemStackToInventory(item)){
                 player.dropPlayerItemWithRandomChoice(item, false);
             }
             player.addChatMessage(new ChatComponentText(nickname + " собрал ягоды."));
         }
         return true;
          
    
}
 
Решение
Примеры с кулдауном эндер-пёрла в 1.12 это конечно збс, но вроде же про блок спрашивали?

Тебе надо сделать блоку неапдейтящийся тайл-энтити и хранить в нём число - время последнего (успешного) нажатия.
При нажатии достаёшь и проверяешь, прошло ли время - если да, то делаешь свою логику и сеттишь в ту переменную текущее время, если нет - ничего не делаешь.

Кстати в твоём коде у тебя @SideOnly(Side.CLIENT) а потом проверка if(!world.isRemote){, которая в такой ситуации никогда не сработает.
3,005
192
592

necauqua

когда-то был anti344
Администратор
1,216
27
172
Примеры с кулдауном эндер-пёрла в 1.12 это конечно збс, но вроде же про блок спрашивали?

Тебе надо сделать блоку неапдейтящийся тайл-энтити и хранить в нём число - время последнего (успешного) нажатия.
При нажатии достаёшь и проверяешь, прошло ли время - если да, то делаешь свою логику и сеттишь в ту переменную текущее время, если нет - ничего не делаешь.

Кстати в твоём коде у тебя @SideOnly(Side.CLIENT) а потом проверка if(!world.isRemote){, которая в такой ситуации никогда не сработает.
 
Сверху