Иконка ресурса

Запрет на использование кирок в мирах.

241
20
75
Egorka добавил(а) новый ресурс:

Запрет на использование кирок в мирах. - Ограничение кирок в мирах

Хочу поделиться простеньким кодом на запрет использования кирки в определённом мире.
Java:
    @SubscribeEvent
    public void Tools(BlockEvent.BreakEvent event) {
        EntityPlayer player = event.getPlayer();
        
        if (!player.worldObj.isRemote) {
        if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.draconicDestructionStaff) {...

Узнать больше об этом ресурсе...
 
241
20
75
Я бы лучше ещё отменял ивент BreakSpeed
Пробовал, но этот эвент срабатывает каждый тик, что мне не подошло.
UPD: Добавил код с событием BreakSpeed(Срабатывает при нажатии на блок, каждый тик).
 
Последнее редактирование:
241
20
75
Там элементарные проверки, никакой нагрузки это не даст.
Да я знаю, просто когда я это делал, мне оно не подошло из-за большого количества сообщений в чат игроку, т.к событие срабатывает каждый тик.
 
Последнее редактирование:
7,099
324
1,509
Если игрок будет копать ваджрой, то не важно, какой эвент юзается - спам будет в любым случае. Так что надо запоминать, отправлялось ли уже сообщение или нет.
Хотя отменять событие BlockBreak все же нужно по причине той же ваджры, для визуального эффекта стоит юзать оба события
 
7,099
324
1,509
Ваджра может копать по пкм мгновенно, BreakSpeed не вызывается по идее
 

Eifel

Модератор
1,623
78
608
Еще лучше сделать конфиг, куда записывать к примеру, анлокалайзед имя (как вариант)(можно еще и айди мира в связке) и сравнивать в ивенте так. Тогда получиться универсально и без всяких зависимостей
 

Eifel

Модератор
1,623
78
608
Как вариант, это уже вопрос реализации и мало волнует, подал лишь предложение/идею
 
241
20
75
UPD: Добавил реализацию с конфигом.
Большое спасибо @timaxa007, он мне всё от а до я разжевал.
 

Eifel

Модератор
1,623
78
608
Чтобы лишний раз не сплтитиь по ",", можно заюзать сразу getStringList, вместо обычного String, + в конфиге они будут записаны более понятно и с каждой строчки (как улучшение)
 
Последнее редактирование:
Сверху