Кулдаун, 1.7.10

215
1
20
В общем, у меня в моде есть предмет, использование которого я хотел бы ограничить кулдауном.
Реализовать такое, я уверен, можно разными способами.
1) В конфиг записывать за каждым игроком время, когда он пользовался этим предметом в последний раз. Когда он пытается сделать это снова, если время не истекло - блокировать, если истекло - разрешать, а время в конфиге перезаписывать на текущее.
2) Больше способов я не знаю, но туманные идеи в голове есть. :)

Вопрос: Как сохранять в конфиг и снова извлекать оттуда информацию о времени? Где брать информацию о текущем времени?

В Main добавил:
public static Configuration cfg;

Там же, в PreInit добавил:
cfg = new Configuration(e.getSuggestedConfigurationFile());


В нужном классе пишу:
Main.cfg. ---- ??? что дальше писать, не знаю. Там куча get'ов и set'ов, глаза разбежались...

Поможете?
 
Если у тебя в моде много того что использует "кулдаун" то тогда будет не лишним дать игрокам возможность изменять время "кулдауна" через конфиг.
 
Коровка, да, я с плагинов пришёл, верно. И там почти всё в конфиги писал. Я никогда с NBT не работал, хотя много о нем слышал. Как это реализовать? И не будет ли кулдаун сбрасываться при перезаходе на сервер?

virusD, у меня пока только один предмет планируется с кулдауном.
 
stack.getTagCompound() - общий нбт, поставь точку и должен сориентироваться. При перезаходе всё сохранит.
[merge_posts_bbcode]Добавлено: 10.05.2016 18:41:01[/merge_posts_bbcode]

Записываешь время последнего использования, и при повторной попытке проверяешь разницу с текущим.
 
Как я понял, кулдаун должен быть не у предмета, а у игрока. То есть игрок не может взять несколько этих предметов и воспользоваться ими подряд?
Если так, то предыдущий совет не вполне подходит и стоит использовать IExtendedEntityProperties
 
Asd73, да, правильно понял, кулдаун для игрока. И как воспользоваться [font=Verdana, Helvetica, Arial, sans-serif]IExtendedEntityProperties?[/font]
 
Можно создать класс и унаследовать его от интерфейса IExtendedEntityProperties
[merge_posts_bbcode]Добавлено: 11.05.2016 15:02:58[/merge_posts_bbcode]

И когда игрок конструируется, создавать и регистрировать этот класс.
Код:
player.registerExtendedProperties(ID, new ТвойКласс(player));
 
Назад
Сверху