Как возможно зарендерить overlay и отправить его в пакете?

Версия Minecraft
1.7.10
API
Forge
Помогите пж ,сколько уже не могу никак найти нормальные темы на оверлей 1.7.10
 
Изначально такого в майне нет и не предусмотрено. С твоими "познаниями" это реализовать околоневозможно. Так что или отложи или греби в коммерцию.
почему не возможно? вполне реально выполнимо, оверлей подобен HUD тем же сердечкам на экране, на процесс игры ни как не влияет, и взаимодействовать с игроком можно и вызывать у него GUI а оверлей и подавно, к примеру можно взять моды на обмен
я пожалуй напишу на быструю руку что то подобное
 
1 регистрируешь команду
2 привязываешь к ней обработчик, если команда на сервере исполняется, если команда не на сервере исполняется, то тебе нужно создать пакет, который будет отправлен на сервере по этой команде.
3 сервер обрабатывает пакет, и отправляет пакет указанному игроку
4 клиент игрока, получив пакет, рисует оверлей
5 оверлей каждый тик проверяет, была ли нажата кнопка, даже не оверлей, а тик клиента, при условии что оверлей горит
6 как только игрок нажимает кнопку, оверлей тухнет, и клиент отправляет пакет на сервер

нужно класс команды
класс события обработчика команды
4-5 пакетов, ситуативно от стиля кода, и желаемого результата
пакетная система

самое простое в этой всей ситуации это оверлей, остальное очень трудоемкая задача, особенно для изучения

я бы советовал перейти на новые версии forge, на них это проще для понимания
слушай.а ты можешь дать свои данные дс или чёт такое?)
 
Изначально такого в майне нет и не предусмотрено. С твоими "познаниями" это реализовать околоневозможно. Так что или отложи или греби в коммерцию.
Нет нужды откладывать.Откладывая это всё на долгий ящик получится так, что будет всё крайне хреново
 

will0376

Токсичная личность
2,079
55
585
Нет нужды откладывать.Откладывая это всё на долгий ящик получится так, что будет всё крайне хреново
1682015243532.png
Как я выше писал: с твоими знаниями в области явы и вообще логики майна - Это околоневозможно, либо займёт слишком... СЛИШКОМ много времени для тебя лично.
 
Нет нужды откладывать.Откладывая это всё на долгий ящик получится так, что будет всё крайне хреново
не переживай, я уже знаю как это сделать, только версия не 1,7,10 но возможно ты что то полезное с исходников возьмешь, наберись терпения, я уже делаю
 

jopi

Попрошайка
1,421
30
260
мат запрещен
Прикол в том,что мне должена вылезть картинка без курсора , без всякой другой ерунду .Просто при открытии GuiScreen - получается так ,что игра стопается пока ты сам не закроешь этот дисплей .А мне нужно,чтоб игра не стопалась. Я не понимаю,ну прям не малейшего понятия не имею как это сделать .С рендером оверлея мне тоже подсказали .ЧТо нужно это сделать - но я просто даже не знаю как :D
Суть такова:
  • Игрок отправляет команду указав ник игрока;
  • Игроку которого указали ник открывается рендер или что-то такое,что не перекрывает действия игрока(в том плане,что он сможет с этим бегать , драться и т.п);
  • Там кнопки принять или отменить;
  • Нажал - принял,нажал - отменил;
при открытии GuiScreen игра стопается только в одиночной игре, включаем логику и вспоминаем как работают гуи паузы в локальной игре и на любом сервере, даже ванилле

Оверлей-же рендерится через эвенты оверлея, одно дело передать название текстуры/ID херни которую ты собрался рендерить, нет так ты хочешь передавать текстуру с сервера... Хочешь? Передавай

1. прочитай файл текстуры по байтам
2. отправляй пакет с прочитанными байтами игроку
3. на клиенте читай байты и создавай GL текстуру руками, потому-что по пунктам как это сделать с миксинами или АТ вряд-ли кто-то будет расписывать потому-что это тупо
4. Создавай из этого массива байтов BufferedImage
Java:
//генерация текстуры
int textureID = TextureUtil.glGenTextures();
TextureUtil.uploadTextureImageAllocate(textureID, bufferedImage, false, false);

//биндить нужно по ID который тебе дал пакет
GL11.glBindTexture(textureID);
//рендери квадрат круг треугольник, что душа желает, текстура у тебя есть
5. говнокод не :) сиди кайфуй

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
А теперь серьезно, большинство из тех кто пытается отвечать на вопросы тебе имеют за собой стаж исчисляемый годами реального практического опыта создания модов и выполнения заказов, вместо того что-бы прислушиваться к их советам ты забиваешь хуй на их слова и делаешь как делаешь, но я тебе дам 1 мааленький спойлер из того что у тебя получится. Если ты делаешь какой-то мод, который пойдет на сервер, а я почему-то уверен что ты для таких целей что-то и делаешь, то я тебе гарантирую что твой мод работать не будет из-за ошибок которые ты допускал с самого начала, вызывая сервер на клиенте, клиентский код на сервере, и пусть оно у тебя работает в среде, на проде у тебя сервер даже не стартанет просто потому-что среда у тебя - как любой клиент универсал, внутри которого есть интегрированный сервер и только за счет чего всё и работает, и послушай людей ты бы мог начать в правильном направлении, так теперь послушай меня если хочешь в итоге что-то получить.
Перестань умничать в теме в которой ты не разбираешься и перестань всё усложнять, этот вопрос можно было сформулировать как 'Как отрисовать что-либо в оверлее передавая данные с сервера', и тебе бы не разводили тут кашу не понимая чего ты хочешь, а ответили бы что вот есть пакетка, вот передаешь данные, где-то их хранишь на клиенте, и рендеришь из этого клиентского кеша всё что хочешь, текст, картинки, модель, да хоть видео с ютуба без разницы
И порой человек привыкший с опытом знающий как правильно рендерятся вещи, когда слышит херню что с сервера хочется передать текстуру на клиент и отрендерить это в оверлее, но... (27398426 символов о печальности бытия и о том что майнкрафт встает на паузу при открытии GuiScreen), человек который приходит в эту тему просто начинает сходить с ума и не понимать чего ты хочешь, будь проще наконец уже, либо продолжай получать тупые ответы в ответ на зачастую тупые вопросы с неебически-стремными реализациями хер-пойми-чего
 
Господи, у него вопрос стоит в другом, ему нужно с одного клиента отправить тригер на открытие GUI на другом клиенте, в его случае даже не GUI а отрисовать HUD элемент, HUD тобишь оверлей не стопает игрока, а просто рендерит картинку на экране. банальный дебаг экран по F3 будет тебе примером

отрисовать hud на другом клиенте очень просто, можно использовать кучу способов вплоть до того, что положить игроку в инвентарь итем и при наличии этого итема у него будет рисоваться худ элемент на экране
 
1,038
57
229
можно использовать кучу способов вплоть до
Да, да НО мешает.
Это не первый вопрос про пакеты и не первый вопрос о GUI. Но чувак упорно не видит что старые ЕГО ЖЕ вопросы дают на него ответ. А там ему помогли.
Он как будто забывает их или считает что они не относятся к этому вопросу. Тут уж я хз.
Тут не так много тех, кто хочет решать каждый его вопрос, поэтому, если хочешь - помоги.
Я думаю это не последние вопросы, а значит пока он не сделает что задумал или не соберёт мозайку в голове они будут повторяться.
У меня уже был такой опыт, он просто тычет наугад, вместо того чтобы понять. Вместо того чтобы сесть и прочитать. И он не сядет учиться пока ему будут помогать.
А учебник, прямо под носом.. и там тоже это есть
1682043003121.png
 
Так понимаешь в чем дело, новичкам нужны примеры, я java вторую неделю учу, и уже понял как это реализовать,
я кстати почти закончил, мне осталось обработчик написать пакета от сервера что бы гуи отрендерить, бошку сломал в хлам, это действительно было сложно реализовать,
но в общем он посмотрит, адаптирует к своему коду, вынесет урок из этого, но что то ни кто не спешит ему подсказывать, а пару лет назад на его месте был я, задав чотко поставленый вопрос. был обплеван только потому что java не знаю, вы бы хоть один пример пакета показали бы человеку, вмсето того что бы гнобить, и пытаться показать себя высшим звеном эволюции, пользуясь всего лишь фрейм ворком
 
1,371
112
241
Так понимаешь в чем дело, новичкам нужны примеры, я java вторую неделю учу, и уже понял как это реализовать,
На сайте их полно, достаточно поискать. Если тут ну прям совсем не нашёл - есть такая прекраснейшая вещь, как открытый исходный код. Иначе говоря, есть git (github, gitlab и т.д.), где разработчики оставляют свой открытый исходный код, который можно спокойно прочитать и понять что, куда и зачем делается (при условии, что у тебя есть базовые знания).
а пару лет назад на его месте был я, задав чотко поставленый вопрос. был обплеван только потому что java не знаю,
Потому что в моддинге действительно никак без базовых знаний java. А начиная с 1.13+ необходимы ещё чуток более расширенные знания.
вы бы хоть один пример пакета показали бы человеку, вмсето того что бы гнобить, и пытаться показать себя высшим звеном эволюции, пользуясь всего лишь фрейм ворком
В учебнике буквально есть пример пакета. Причём с достаточно подробными комментариями. И на форуме есть куча вопросов по этой теме, на которую отвечали не раз и не два. Так что тут либо лень, либо тупость автора (извините за такую грубость, иных слов подобрать не могу) виноваты в том, что он не может найти пример.

И пожалуйста, разделяй предложения точкой, а не запятой: читать трудно.

Автору темы:
Реализация, которую я ранее предложил, будет удобнее пользователю, нежели оверлей с кнопками. Если уж ну очень хочется оверлей, выводи куда-нить на экране сообщение о том, что игроку пришло приглашение, а игрок уже будет сам открывать гуи с приглашение по нажатию клавиши и решать принимать ли приглашение или нет уже в этом самом гуи. Подобная система распространена во множестве игр, а потому игроку будет всё понятно и удобно.
 
Да да, на форуме, ребята как сделать?
- учи язык
ребята где ошибка?
-гугл в помощь

ой да ладно, хорош в общем, я уже почти все. осталось реакцию оверлея на пакет как-то придумать

и как кто то говорил выше, это работать не будет
 
1,371
112
241
и как кто то говорил выше, это работать не будет
Кто говорил? Автор темы, который не разбирается в работе гуишки?
Да да, на форуме, ребята как сделать?
- учи язык
ребята где ошибка?
-гугл в помощь
Потому что больше половины проблем именно такими способами и решаются.
И я (и не только я) уже объяснил как сделать необходимое. А код готовый здесь нечасто дают, в конце-концов написать код чего-то, алгоритм исполнения которого уже есть, несложно. По крайней мере, с этим редко возникают сложности. Если сложности и возникают, то есть хотя бы кусочек кода, из которого можно судить что у человека пошло не так. Здесь же ничего подобного нет.
 
Да, да НО мешает.
Это не первый вопрос про пакеты и не первый вопрос о GUI. Но чувак упорно не видит что старые ЕГО ЖЕ вопросы дают на него ответ. А там ему помогли.
Он как будто забывает их или считает что они не относятся к этому вопросу. Тут уж я хз.
Тут не так много тех, кто хочет решать каждый его вопрос, поэтому, если хочешь - помоги.
Я думаю это не последние вопросы, а значит пока он не сделает что задумал или не соберёт мозайку в голове они будут повторяться.
У меня уже был такой опыт, он просто тычет наугад, вместо того чтобы понять. Вместо того чтобы сесть и прочитать. И он не сядет учиться пока ему будут помогать.
А учебник, прямо под носом.. и там тоже это есть
Посмотреть вложение 16176
Прикол не в пакетах . Прикол в самом рендере . Как работать с пакетом - я понял . Я просто темы не вижу про рендер оверлея ... Просто не могу найти , в этом и прикол
 
Мне нужно определенному игроку отправлять это . Как ?
Кароче бро, я смог, не знаю правда, как портировать это убожество на твою версию, но я даволен результатом, один таск по моему моду выполнен, если что помогу тебе разобраться как пакет правильно обработать что бы он рендер вызвал у другого игрока
 
1,371
112
241
Я это сделал, изучая java всего две недели, а вы говорите это невозможно...
Моя реализация вызывает интерактивный оверлей на другом клиенте

Демо

если вообще кому интересно, скину говнокод попозже, реально заепся по пути
Никто не говорил, что ты этого не можешь...
Класс, только 1.19.2 и 1.7.10 РАЗИТЕЛЬНО отличаются друг от друга. Вплоть до реализации самой пакетной системы и создания оверлея. Т.е. автору придётся попотеть, чтобы перенести это на версии ниже. Или, если кратко, создать то же, что и ты, но с нуля. Иначе говоря, ты ему никак не помог) Ну, разве что, продемонстрировал как будет это всё выглядеть в конечном счёте при подобной реализации. Касательно неё...
Стоит учитывать, что для того, чтобы увеличить кол-во необходимых кнопок (напр. принять, отклонить и т.д.) каждый раз придётся вводить новую клавишу. Думаю, ты понимаешь чем это чревато на сборках с большим кол-вом модов.
Реализация, которую я предложил, требует только 1 клавиши, что не способствует созданию больших конфликтов при большом кол-ве модов.
 
Сверху