24

» Minecraft / Snapshot 13w36a|13w36b

Mihahail, а в фоне делается еще более интересная работа - отрефакторить больше 200к строк кода не нужно было бы чтобы реализовать только вышеупомянутые мелочи.
24

» Эксперименты в Пустоте / [WIP] Minecraft, микроблоки

[UPD]
Очередная порция обновлений:
  • реализован алгоритм рейтрейсинга, позволяющий выполнять действия сквозь пустоты в микроблоках.
  • реализация алгоритма рейтрейсинга также позволяет стрелам пролетать сквозь пустоты в микроблоках.
  • благодаря все тому-же алгоритму теперь установка стамески происходит точно по наведению курсора на микроблок, а не по прямоугольной проекции от стороны, также установка стамески теперь возможна на произвольный микроблок и с произвольной стороны, а не только на крайние микроблоки с каждой стороны блока.
  • соответственно, рамка выделения блока отображается только при наведении на один из микроблоков блока, а наведение на пустое место равноценно наведению на блок воздуха.
также реализована система использования шаблонов обработки для стамески и несколько шаблонов, каждый из которых совместим с силой удара молотка
  • [cross] вырезает крестик из 5 микроблоков с центром в точке установки стамески.
  • [slice] срезает целый слой микроблоков, в соответствии с точкой установки стамески.
  • [square3][square5][square7] срезает квадрат соответствующего размера с центром в точку установки стамески.
  • [sphere3][sphere3][sphere3] обрабатывает часть блока соответствующего размера, оставляя в этой области сферу из микроблоков. В связи с низким разрешением результат похож на сферу весьма отдаленно. Используется только с силой удара молотка, в противном случае от каждого обработанного слоя остается только один микроблок в точке установки стамески.
  • [walls] оставляет только по ряду микроблоков на двух краях слоя, остальное срезается.
  • [well] оставляет только один ряд микроблоков по краям слоя, остальное срезается.
Новые скриншоты и обновление первого поста будут позже.
24

» World of Warcraft Modding / World of Warcraft Modding

SwordOfTruth, а занимается ли кто-то этим (новым инструментарием для моддинга ВоВ)? Давно вышли панды и не за горами следующая версия, а инструменты, если честно, и под лича не доведены до ума - складывается впечатление что это никому не нужно из тех, кто в состоянии это сделать.
24

» World of Warcraft Modding / World of Warcraft Modding

SwordOfTruth, позволь уточнить - интерфейс менять 100% можно в рамках аддонов, другое дело что рамки эти довольно узкие в некоторых местах.
24

» Эксперименты в Пустоте / [WIP] Minecraft, микроблоки

[UPD] Выкроил немного времени и довел до ума совместимость с обычным сервером (не forge и, скорее всего, не буккит и его производные).
Из более старого, но не упомянутого в исходном посте:
  • новые инструменты для работы с микроблоками (два вида по четыре материала). Инструменты из разных материалов на данный момент отличаются только прочностью. На новые инструменты пока нельзя наложить зачарование с помощью стола зачарования, но вполне можно с помощью наковальни и зачарованой книги. Также у новых инструментов временно отсутствуют названия при использовании стандартного ресурспака.
  • возможность контролировать "силу удара" молота (количество удаляемых микроблоков при использовании) путем переименования его в наковальне.
В планах на ближайшее будущее:
  • исправить не критические баги с названиями и зачарованием.
  • добавить возможность копировать структуру микроблоков с одного блока на другой.
  • доработать алгоритм проверки проходимости микроблоков для стрел и предметов.
  • исправить отображение рамки выделения блока чтобы она отображалась только при наведении на один из микроблоков в составе блока, а также масштабировать рамку выделения по краям конструкции из микроблоков, а не по краям исходного блока.
  • автоматически размещать точку приложения стамески сразу после конвертации блока в микроблоки, если соседние блоки являются конструкциями из микроблоков.
  • несколько "шаблонов" обработки блока, например: "ступеньки"(от блока остаются только микроблоки, соответствующие форме стандартных ступеней), "полублок" (аналогично ступеням, только за основу берется форма стандартного полублока), "гладкие ступени" (блок срезается по диагонали, образуя 8 ступенек высотой в один микроблок, а не 2 ступеньки высотой в 4 микроблока), "срез"(с выбраной стороны блока удаляется один слой микроблоков, можно комбинировать с силой удара, что позволит при силе удара 7 за один удар оставить от блока только один слой микроблоков), "труба" (от блока остается только слой в 1 микроблок с четырех сторон, что позволяет игроку или мобам упасть через отверстие в центре, также можно комбинировать с силой удара, что позволяет контролировать глубину обработки) и так далее - на сколько у меня хватит терпения описывать эти шаблоны в коде. Применяться шаблоны будут, скорее всего, переименованием стамески.
В планах на очень отдаленное будущее
  • адаптация мода под форж (если к тому времени не выйдет первая версия официального Plugin API)
  • "фигурные" стамески, позволяющие срезать не только один ряд микроблоков или фиксированный шаблон, но и какую-то предопределенную форму. Не путать с шаблонами - шаблон определяет способ обработки целого блока и результат его применения практически не зависит от точки приложения стамески, в то время как "фигурная" стамеска выполняет удаление микроблоков по своему шаблону, но относительно точки приложения.
  • "сквозная" конвертация и обработка блоков, что позволит не заботиться конвертацией каждого блока в микроблок - это будет происходить автоматически если область действия "фигурной" стамески будет выходить за рамки текущего блока. Также это значит что вырезаемая фигурной стамеской форма не обрезается по краю текущего блока - та часть что не уместилась на текущем блоке переносится на соседний.
  • дополнительный инструмент, отличающийся от имеющейся пары тем, что он будет удалять микроблоки сразу, а не по принципу "разместить стамеску, а потом ударить молотком". Т.Е. в один клик вместо двух, но и без страховки от мисклика.
  • улучшить алгоритм определения микроблока, по которому был произведен клик мышкой. На данный момент это простая прямоугольная проекция от стороны блока, в идеале же это рейтрейс от камеры или вроде того.
24

» Эксперименты в Пустоте / [WIP] Minecraft, микроблоки

Штурман, увы, я не очень хорош в моделировании, особенно когда дело доходит до рисования текстур.
24

» Эксперименты в Пустоте / [WIP] Minecraft, микроблоки

Штурман, а у вас там форж? тогда вынужден отказаться - совместимости с форжем добиться можно, но у меня просто нет на это времени - даже на продолжение разработки его с трудом удается найти, но за предложение спасибо.
На всякий случай хочу уточнить что конструкция на скриншотах не является новыми блоками как таковыми - она создавалась в игре путем удаления лишних микроблоков, а не заданием формы каждой разновидности блоков в программном коде.
Fakov, ну почему же, у меня не раз были случаи когда пол сервера были готовы душу продать за возможность ваять статуи в восемь раз меньше чем они были бы при использовании блоков стандартного размера. Кроме того есть как минимум одно практическое применение помимо декораций - компактные конструкции, по которым можно куда-либо подняться. И даже два - расширение внутреннего пространства помещения без потери внешнего вида (выдалбливаем все кроме одного слоя микроблоков в стенах / полу / потолке ), также на основе этого можно делать секретные проходы и всякое такое (пространства внутри блока от которого остались только боковые слои микроблоков хватает чтобы пройти, но с внешней стороны такой блок невозможно отличить от оригинала).
24

» Блог им. AlexPrey'я / MySQL C++ или как я прошел через ад

alexprey, и правда, контекст не важен когда код ужасен и просто не должен существовать в том виде, в котором представлен.
Что касается нового примера - тут мне возразить практически нечего, за исключением того, что у меня работа с векторами выглядела как-то так в последний раз (класс вектора был другой):
Vector3 position = Vector3.LEFT.clone(); //получаем копию вектора (-1, 0, 0), это может быть сделано тысячей и одним способом, сейчас мне захотелось именно так
position.mul(3.0f).add(1.0f, 2.0f, 3.0f); // измываемся над ним как нашей душе угодно

//исхожу из предположения что вектор не immutable, в противном случае код был бы немного другой
И да, что это за статическое обращение Vector3.left? а-та-та, попахивает юнити - нечего валить на джаву криворукость разработчиков юнити.
П.С. я знаю что юнити с джавой не работает, речь о другом.
24

» Блог им. AlexPrey'я / MySQL C++ или как я прошел через ад

alexprey, а в том, что ты умышленно написал строку, абсолютно вырванную из контекста и представляющую собой образчик весьма низкопробного кода? Так такое абсолютно с любым языком провернуть можно.
24

» Блог им. AlexPrey'я / MySQL C++ или как я прошел через ад

Doc, ты не совсем правильно понял мою позицию. Я о том, что есть куда более важные моменты чем удлинители из синтаксического сахара.
reALien, по клавиатуре я, как правило, пишу вещи, сложность которых ощутимо перевешивает десяток "лишних" символов.
alexprey, в процессе написания, как правило, не используются "ручые" циклы для перебора коллекции, как и повторное взятие первого элемента из коллекции при каждом сравнении, а уж поиск и подавно реализуется не последовательным перебором вручную.
24

» Блог им. AlexPrey'я / MySQL C++ или как я прошел через ад

alexprey:
Канеш лучше 5-6 часов продолбиться в мускл
Был бы я чуть более опытен я бы понял, что надо было сразу качать х32 версию. Короче док, успокойся. Все мы втупляем над какой либо проблемой и сидим над ней по долгу и не зависимо от языка на котором мы пишем.
if (nodeList.get(idx).getName().equels(nodeList.get(0).getName()) {
   //Да не ущербный язык)))
}

if (nodeList[idx].Name == nodeList[0].Name) {
   //А этот ппц ущербный XD
}
это все чертов синтаксический сахар, а байткод будет практически идентичен в обоих случаях.
П.С. любой язык, в котором нет множественного присваивания и множественного же ретурна ущербен по моему мнению, но это не мешает мне успешно работать на джаве.
24

» lentinant'ов блог / Еще одна идея для паззла

lentinant, будь плохим парнем - юзай хардкод моделей, описанных программным способом ;)
24

» XGM Vanilla / XGM Vanilla

Mihahail, ответил в ЛС, очень надеюсь что сообщение действительно отправилось.
24

» XGM Vanilla / XGM Vanilla

alexprey, это ты знаешь, это я знаю, но как прикажешь объяснять это человеку, явно не имевшему раньше дела с джавой?)
24

» XGM Vanilla / XGM Vanilla

П4ела, в консоли из папки с лаунчером сделай так и скинь результат (подразумевается что путь к джаве уже прописан в PATH)
java -jar имя лаунчера с расширением
не гарантирую что оно поймет exe упаковку лаунчера, но кто знает
24

» XGM MCRPG Обитель легенды / XGM MCRPG Обитель легенды

Хочу кое-что уточнить. Исходя из имеющейся на сайте информации, я пришел к выводу, что все сервера под брендом xgm объединены общей авторизацией, так ли это или я принимаю желаемое за действительное?
П.С. что администраторы у каждого сервера свои это и ежу понятно.
24

» XGM Vanilla / XGM Vanilla

EfReeZe, отлично, а теперь моя очередь. Уже несколько лет как java-разработчик, свободно ориентируюсь в программном коде любой сложности, по ряду причин взламывал и переделывал лаунчеры майнкрафта еще со времен версии 1.1. Новый лаунчер от mojang отвязывается от родной авторизации путем изменения двух строк, еще десяток строк понадобится чтобы научить его подтягивать обновления одновременно с двух мест - и с mojang и с любого указанного, плюс всякие декоративные изменения - еще пара десятков строк, ну и, конечно изменения на стороне сервера - мне понадобились одни выходные чтобы полностью воссоздать с нуля серверную часть новой системы авторизации и это на PHP, в котором я практически не разбираюсь.
Да, это ужас как много работы, но одна только возможность свободного переключения между версиями с загрузкой и автообновлением всего и вся полностью перекрывает затраты. Не говоря уже о раздельном хранении версий, подключении модов в качестве библиотек и возможности иметь несколько персонажей на аккаунте.
Особо актуальным мне кажется автоматическая загрузка всех необходимых файлов с сервера и переключение между версиями без перемещения файлов с места на место, особенно в свете того, что намечается существование нескольких серверов под общей авторизацией и с разным набором модов.
П.С. разводить холивар на тему языков программирования не намерен.
1 пункт от SSrunX: завуал. мат
24

» XGM Vanilla / XGM Vanilla

EfReeZe, прошу прощения, но что ты понимаешь в Java и принципах работы лаунчера minecraft и что знаешь о возможностях нового лаунчера от mojang чтобы говорить мне это?
Последний лаунчер xgm который я видел был основан на старом лаунчере от mojang со всеми вытекающими последствиями.
24

» XGM Vanilla / XGM Vanilla

Кстати, пользуясь случаем спрошу как у вас там дела с лаунчером? еще пользуетесь доисторическим или планируете обновляться до того, что с 1.6 вышел?
24

» XGM Vanilla / XGM Vanilla

П4ела, попробуй запустить из командной строки чтобы получить более детальный отчет об ошибке.
кроме того, другие приложения на джаве запускаются нормально?
24

» World of Warcraft Modding / World of Warcraft Modmaking

SwordOfTruth, на счет энкрипта не знаю, но все архивы последней версии ВоВ та версия что с сайта автора открыла (ну или почти все, если я какой-то не заметил).
П.С. автор у плагина то тот-же что и у MPQ Editor-а, если что.
24

» World of Warcraft Modding / World of Warcraft Modmaking

SwordOfTruth, на правах рекламы - есть замечательный файловый менеджер, называется Total Commander, а для него не менее замечательный плагин, позволяющий открывать mpq файлы и вобще работать с ними как с обычными архивами (а работа с архивами в TC практически не отличается от работы с папками). Крайне удобная штука.
П.С. последнюю версию плагина брать надо с сайта автора - на сайте плагинов к TC очень старая версия.