Перейти к содержимому
  • 0
Koteyk0o

Баг или фича редстоун карты?

Вопрос

Редстоун карта возвращает ивент redstone_changed со стороной относительно всего мира, а не как повернут компьютер. Это баг или фича?

Отчетливо помню что раньше было не так (потому что после обновления на новый OC у меня перестал работать мой старый код, лол)

Если раньше оно возвращало сторону относительно компьютера, то сейчас возвращает относительно всего мира.

 

При этом, методы вроде setBundledOutput(3, 15, 255) как работали относительно стороны компьютера, так и работают.

 

Не создавал бы эту тему, если бы авторы мода ответили на мой issue

Потому что хочется получить ответ, это я шизанулся, или оно криво работает

 

В общем если откатить OC на версию 1.7.2 то там все ок работает, сторону возвращает относительно всего компа. С версии OC 1.7.3 оно уже возвращает сторону относительно всего мира.

В ченжлоге об этом ничего не сказано, так что похоже это все-таки баг.

Цитата

    Changed: redstone_changed event for bundled signals
        Now includes the colour that changed, and only reports the old and new values for that colour

 

 

Изменено пользователем Koteyk0o

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендуемые сообщения

3 часа назад, Koteyk0o сказал:

Редстоун карта возвращает ивент redstone_changed со стороной относительно всего мира, а не как повернут компьютер. Это баг или фича?

Отчетливо помню что раньше было не так (потому что после обновления на новый OC у меня перестал работать мой старый код, лол)

Если раньше оно возвращало сторону относительно компьютера, то сейчас возвращает относительно всего мира.

Хм. Тоже помню, что оно возвращало сторону относительно компьютера. Микроконтроллеры, по идее, тоже должны возвращать сторону относительно микроконтроллера. Очень странно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Koteyk0o сказал:

Редстоун карта возвращает ивент redstone_changed со стороной относительно всего мира, а не как повернут компьютер. Это баг или фича?

Отчетливо помню что раньше было не так (потому что после обновления на новый OC у меня перестал работать мой старый код, лол)

...

В общем если откатить OC на версию 1.7.2 то там все ок работает, сторону возвращает относительно всего компа. С версии OC 1.7.3 оно уже 

В ченжлоге об этом ничего не сказано, так что похоже это все-таки баг.

Подтверждаю. Считаю это багом, потому что значения сторон, возвращаемых событием redstone_changed, не совпадают со сторонами в getInput и setOutput. Сломано, начиная с 1.7.3.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Можно костылем пофиксить: определить разницу между сторонами north и forward, перехватывать и корректировать в ивенте сторону

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
2 часа назад, hohserg сказал:

Можно костылем пофиксить: определить разницу между сторонами north и forward, перехватывать и корректировать в ивенте сторону

Не совсем понял. Ведь редстоун карта сейчас возвращает сторону относительно всего мира, там не только north и forward. Кодом никак не определить сторону правильно, в данный момент. Только если не перебирать стороны где появился/исчез сигнал при срабатывании эвента, но это прям костыль костыль, хотя и должно работать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сама библиотека sides ведь правильно работает. Значит можно определить разницу между sides.north и sides.forward.

5 минут назад, Koteyk0o сказал:

Ведь редстоун карта сейчас возвращает сторону относительно всего мира

Это означает, что возвращаемая сторона соответствует стороне компьютера, повернутого так, чтобы его стороны совпадали со сторонами света.

 

Поэтому, зная поворот компа относительно сторон мира, можно повернуть сторону из сигнала, получив сторону относительно компа

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11 час назад, Koteyk0o сказал:

Не совсем понял. Ведь редстоун карта сейчас возвращает сторону относительно всего мира, там не только north и forward. Кодом никак не определить сторону правильно, в данный момент. Только если не перебирать стороны где появился/исчез сигнал при срабатывании эвента, но это прям костыль костыль, хотя и должно работать

Все эти костыли не универсальны. Придётся писать костыль, подходящий под конкретные условия эксплуатации системы.

 

Самый простой из костылей: устанавливать все компьютеры и контроллеры тыльной стороной на север. И роботы, если схема не предусматривает их поворотов.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Будет исправлено, всем спасибо)

image.png.e6ade39d0dc2c1b3d50249a86c93e6ea.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...