[Гайд] Улучшенное автоматическое управление светом с помощью возможностей Minecraft 1.9
- Автор: ArtemkaFominLive
- Дата: 21-06-2016, 16:43
- Категория: Инструкции, гайды Minecraft / Командный блок
Версия для одиночной игры
Не успели высохнуть чернила, как мне в голову пришла отличная мысль, позволившая многократно улучшить недавно опубликованную схему и избавить её от тех неприятных моментов, которыми была наделена та версия. Речь, естественно, идёт об автоматическом управлении светом, которое я реализовывал с помощью особенностей последних версий игры. Уже вспоминаете нашу условную «камеру движения», которая при перемещении в «подъезде» включала на некоторое время свет, а потом, при отсутствии движения, выключала его? Именно её мы будем в сегодняшнем уроке модернизировать, улучшая и упрощая финальную схему.
Для начала стоит вспомнить о тех особенностях, которые подстерегали нас при использовании предыдущей версии, которую, впрочем, тоже стоит изучить для общего развития. Вот их исчерпывающий список:
Со всеми недостатками мне удалось справиться, предлагаю начать рассмотрение новой версии схемы с описания тех статистик, что нам придётся создать. Нам, разумеется, придётся отслеживать (а) перемещение с помощью обычного шага; (б) перемещение с помощью быстрого бега; (в) перемещение с помощью медленного шага; (г) то время, которое будет работать освещение. Посмотрим, какие статистики нам потребуется создать:
Также, для определения области видимости нашей «камеры движения», мы, как и в предыдущей версии механизма, будем устанавливать на 2 блока ниже игрока лазуритовые блоки. Виртуальное освещение будет включаться с помощью установки блока из красного камня на условные координаты 1 2 3. Итак, детальное описание:
Да, частями объяснения были скопированы из предыдущей части, ведь, собственно, механизм не сильно изменился. Мы лишь отказались от работы с тегами и стали убавлять очки, а не добавлять их, что сделало возможным без особых проблем добавить чувствительность механизма к быстрому бегу и медленному перемещению. Вот, собственно, и они:
Быстрый бег:
Медленная ходьба:
Естественно, ни один из блоков механизма на разные типы перемещений не сработает, если не будет включена базовая часть, отвечающая за обычную скорость перемещений. Также, предлагаю Вам самим попробовать разобраться в механизме:
Google Drive — http://adf.ly/1bQKWL.
Вот, собственно, и всё. Пока механизм не работает в многопользовательской версии игры, потом займусь. Надеюсь, что это улучшение было кому-то полезно.
Не успели высохнуть чернила, как мне в голову пришла отличная мысль, позволившая многократно улучшить недавно опубликованную схему и избавить её от тех неприятных моментов, которыми была наделена та версия. Речь, естественно, идёт об автоматическом управлении светом, которое я реализовывал с помощью особенностей последних версий игры. Уже вспоминаете нашу условную «камеру движения», которая при перемещении в «подъезде» включала на некоторое время свет, а потом, при отсутствии движения, выключала его? Именно её мы будем в сегодняшнем уроке модернизировать, улучшая и упрощая финальную схему.
Для начала стоит вспомнить о тех особенностях, которые подстерегали нас при использовании предыдущей версии, которую, впрочем, тоже стоит изучить для общего развития. Вот их исчерпывающий список:
- Необходимость использования повторителя для того, чтобы избежать визуальных искажений с освещением (при непрерывном движении в выделенной зоне блок красного камня в определённый момент исчезал, а потом появлялся);
- Отсутствие чувствительности схемы к быстрому бегу и медленному перемещению — в итоге механизм реагировал исключительно на перемещение обычным шагом;
- Таймер обновлялся не после любого движения, а лишь после того движения, которое производилось после завершения предыдущего цикла;
- Достаточно объёмные размеры схемы — получалась цепочка из семи командных блоков;
- Невозможность временного отключения схемы.
Со всеми недостатками мне удалось справиться, предлагаю начать рассмотрение новой версии схемы с описания тех статистик, что нам придётся создать. Нам, разумеется, придётся отслеживать (а) перемещение с помощью обычного шага; (б) перемещение с помощью быстрого бега; (в) перемещение с помощью медленного шага; (г) то время, которое будет работать освещение. Посмотрим, какие статистики нам потребуется создать:
- (а) Создадим статистику перемещений обычным шагом «AutoLightWalk» с критерием «stat.walkOneCm», которая будет изменяться тогда, когда игрок пройдёт некоторое расстояние;/scoreboard objectives add AutoLightWalk stat.walkOneCm
- (б) Создадим статистику перемещений быстрым бегом «AutoLightSprint» с критерием «stat.sprintOneCm», которая будет изменяться тогда, когда игрок пробежит некоторое расстояние;/scoreboard objectives add AutoLightSprint stat.sprintOneCm
- (в) Создадим статистику перемещений медленным шагом «AutoLightCrouch» с критерием «stat.crouchOneCm», которая будет изменяться тогда, когда игрок медленно пройдёт некоторое расстояние;/scoreboard objectives add AutoLightCrouch stat.crouchOneCm
- (г) Создадим статистику таймера «AutoLightTimer» с критерием «dummy», которую мы будем изменять самостоятельно./scoreboard objectives add AutoLightTimer dummy
Также, для определения области видимости нашей «камеры движения», мы, как и в предыдущей версии механизма, будем устанавливать на 2 блока ниже игрока лазуритовые блоки. Виртуальное освещение будет включаться с помощью установки блока из красного камня на условные координаты 1 2 3. Итак, детальное описание:
№ | Тип (картинка) | Модификатор | Команда | Объяснение | |
Условность | Активность | ||||
1 | Безусловная (Unconditional) | Требуется сигнал (Needs Redstone) (схема включится тогда, когда будет активирован данный командный блок) | /execute @a[score_AutoLightWalk_min=1] ~ ~ ~ detect ~ ~-2 ~ minecraft:lapis_block 0 /scoreboard players set @p AutoLightTimer 100 | Устанавливаем значение статистики таймера «AutoLightTimer» на сто тем игрокам, у которых в статистике перемещений «AutoLightWalk» есть как минимум одно очко (т. е. тем, кто двигался) и под которыми на два блока ниже есть лазуритовый блок (т. е. тем, кто оказался в зоне видимости нашей «камеры движения»). | |
2 | Условная (Conditional) | «Всегда активен» (Always Active) | /setblock 1 2 3 minecraft:redstone_block | Устанавливаем блок из красного камня (т. е. включаем освещение). Так как данный командный блок в режиме цепочки имеет условную вариацию модификатора, он будет срабатывать только тогда, когда сработает предыдущий командный блок в режиме цепочки (т. е. тогда, когда мы найдём нужных нам игроков). | |
3 | Безусловная (Unconditional) | «Всегда активен» (Always Active) | /scoreboard players remove @a[score_AutoLightTimer_min=1] AutoLightTimer 1 | Отнимаем одно очко из статистики таймера «AutoLightTimer» тем игрокам, у которых есть как минимум одно очко в данной статистике. Так как данный командный блок в режиме цепочки имеет безусловную вариацию модификатора, каждый игровой такт у игроков, у которых установлен таймер (а он будет вновь и вновь обновляться при движении), будет отниматься одно очко их нашего таймер. | |
4 | Безусловная (Unconditional) | «Всегда активен» (Always Active) | /testfor @a[score_AutoLightTimer=0] | Проверяем наличие игроков, у которых в статистике таймера «AutoLightTimer» есть не более нуля очков (т. е. тех игроков, которые выждали сто игровых тактов). Так как данный командный блок в режиме цепочки имеет безусловную вариацию модификатора, проверка будет производиться каждый игровой такт. | |
5 | Условная (Conditional) | «Всегда активен» (Always Active) | /setblock 1 2 3 minecraft:air | Убираем блок из красного камня (ставим воздух; отключаем освещение). Так как данный командный блок в режиме цепочки имеет условную вариацию модификатора, он сработает только тогда, когда игроки выждут сто игровых тактов. | |
6 | Безусловная (Unconditional) | «Всегда активен» (Always Active) | /scoreboard players set @a[score_AutoLightWalk_min=1] AutoLightWalk 0 | Сбрасываем статистику перемещений «AutoLightWalk» у всех игроков, у которых в ней есть как минимум одно очко. Так как данный командный блок в режиме цепочки имеет безусловную вариацию модификатора, это действие будет производиться каждый игровой такт. |
Да, частями объяснения были скопированы из предыдущей части, ведь, собственно, механизм не сильно изменился. Мы лишь отказались от работы с тегами и стали убавлять очки, а не добавлять их, что сделало возможным без особых проблем добавить чувствительность механизма к быстрому бегу и медленному перемещению. Вот, собственно, и они:
Быстрый бег:
№ | Тип (картинка) | Модификатор | Команда | Объяснение | |
Условность | Активность | ||||
1 | Безусловная (Unconditional) | Требуется сигнал (Needs Redstone) (схема включится тогда, когда будет активирован данный командный блок) | /execute @a[score_AutoLightSprint_min=1] ~ ~ ~ detect ~ ~-2 ~ minecraft:lapis_block 0 /scoreboard players set @p AutoLightWalk 1 | Устанавливаем значение статистики перемещений «AutoLightWalk» на единицу тем игрокам, у которых в статистике быстрого бега «AutoLightSprint» есть как минимум одно очко (т. е. тем, кто двигался быстро) и под которыми на два блока ниже есть лазуритовый блок (т. е. тем, кто оказался в зоне видимости нашей «камеры движения»). Таким образом, мы, по сути, имитируем при беге обычную ходьбу, из-за чего механизм не пришлось дублировать несколько раз. | |
2 | Безусловная (Unconditional) | «Всегда активен» (Always Active) | /scoreboard players set @a[score_AutoLightSprint_min=1] AutoLightSprint 0 | Сбрасываем статистику быстрого бега «AutoLightSprint» у всех игроков, у которых в ней есть как минимум одно очко. Так как данный командный блок в режиме цепочки имеет безусловную вариацию модификатора, это действие будет производиться каждый игровой такт. |
Медленная ходьба:
№ | Тип (картинка) | Модификатор | Команда | Объяснение | |
Условность | Активность | ||||
1 | Безусловная (Unconditional) | Требуется сигнал (Needs Redstone) (схема включится тогда, когда будет активирован данный командный блок) | /execute @a[score_AutoLightCrouch_min=1] ~ ~ ~ detect ~ ~-2 ~ minecraft:lapis_block 0 /scoreboard players set @p AutoLightWalk 1 | Устанавливаем значение статистики перемещений «AutoLightWalk» на единицу тем игрокам, у которых в статистике медленных перемещений «AutoLightCrouch» есть как минимум одно очко (т. е. тем, кто двигался медленно) и под которыми на два блока ниже есть лазуритовый блок (т. е. тем, кто оказался в зоне видимости нашей «камеры движения»). Таким образом, мы, по сути, имитируем при медленном перемещении обычную ходьбу, из-за чего механизм не пришлось дублировать несколько раз. | |
2 | Безусловная (Unconditional) | «Всегда активен» (Always Active) | /scoreboard players set @a[score_AutoLightCrouch_min=1] AutoLightCrouch 0 | Сбрасываем статистику медленных перемещений «AutoLightCrouch» у всех игроков, у которых в ней есть как минимум одно очко. Так как данный командный блок в режиме цепочки имеет безусловную вариацию модификатора, это действие будет производиться каждый игровой такт. |
Естественно, ни один из блоков механизма на разные типы перемещений не сработает, если не будет включена базовая часть, отвечающая за обычную скорость перемещений. Также, предлагаю Вам самим попробовать разобраться в механизме:
Google Drive — http://adf.ly/1bQKWL.
Вот, собственно, и всё. Пока механизм не работает в многопользовательской версии игры, потом займусь. Надеюсь, что это улучшение было кому-то полезно.
Информация | |
Для написания комментария зарегистрируйся на сайте, это займет всего пару минут, голосуй за новости, зарабатывай репутацию. |
Последние сообщения с форума
Название темы | Автор | Статистика | Последнее сообщение |
---|---|---|---|
Проблема с модом Tough As Nails Тема в разделе: Ваши вопросы по Minecraft |
Funny_MaN | Просмотров: 14 Ответов: 0 |
Автор: Funny_MaN |
КОФЕЙНЯ Тема в разделе: Форумные игры |
vovanhurcane | Просмотров: 2697 Ответов: 28 |
Автор: vovanhurcane |
Как добавить динамическое освещение оптифайна любому предмету? Тема в разделе: Ваши вопросы по Minecraft |
Вячеслав Серенко | Просмотров: 907 Ответов: 9 |
Автор: Caman86 |
[1.20.4] NeoMoonVanilla - Ванильный Minecraft | Ивенты | Ламповое выживание Тема в разделе: Частные, домашние, Hamachi сервера |
Kristallik__ | Просмотров: 262 Ответов: 1 |
Автор: Kristallik__ |
Ищете ванильный сервер похожий на МайнШилд? Тема в разделе: Частные, домашние, Hamachi сервера |
awiex | Просмотров: 133 Ответов: 0 |
Автор: awiex |