Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

много Интерфейсов

Тема в разделе "Разработка плагинов для новичков", создана пользователем Stamorey, 5 дек 2016.

  1. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    речь идет про реализацию графических интерфейсов, костыльнооринтированными методами разумеется, то есть с помощью плагина, видел много подобных плагинов, например босс бары, тот же честкоманд, плагины на табличку около правого края экрана и тп. кто знает что-то помимо этих способов сделать импровизированные интерфейсы, напишите про них в этой теме)
     
    Последнее редактирование: 5 дек 2016
  2. Хостинг MineCraft
    <
  3. Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Player.openInventory(Owner, slots, name)

    Вообще попробуй погуглить "как сделать GUI в плагине"
     
  4. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    вот гугл и выдает инветари.. тем не менее это и так все знают, честкоманд полность из таких интерфейсов и состоит, может еще что-нибудь знаешь[DOUBLEPOST=1480933495,1480933432][/DOUBLEPOST]хочется реализовать в плагине что то поинтереснее) именно в плагине
     
  5. Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Не понимаю, что вам вообще надо. Можете попробовать выразиться яснее?
     
  6. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    GUI "Graphic User Interface" что непонятного ? только не через моды а черз плагины[DOUBLEPOST=1480957112,1480957060][/DOUBLEPOST]например плагин честкоманд использует инвентари для создания гуи, боссбар- использует боссбар для графического вывода информации на экран[DOUBLEPOST=1480957219][/DOUBLEPOST]тобиж все это костыли, собственно как и все плагины но не об этом сейчас) Хотел увидеть в этой теме что-нибудь по новее и пооригинальнее чем боссбары и инвентари...
     
  7. Fenix78563

    Fenix78563 Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    Blc_Dragon
    Ясненько. Вам хочется чего ни будь свежего и оригинального, но вы не можете это придумать. Что ж, удачи вам в поисках человека который создаст ВАШУ идею ВМЕСТО ВАС
     
  8. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    придумать я могу, но не могу написать, потому лишь что не хватает знаний
     
  9. DonDays

    DonDays Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    DonDays
    Ты можешь реализовать лишь то, что уже есть в Minecraft, а это - Боссбары, гуи, чат и экшнбары. Про иное ничего не слышал.
     
  10. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    экшн бары это эфекты ?
     
  11. AtomicInteger

    AtomicInteger Активный участник Пользователь

    Баллы:
    46
    ActionBar это "область" для вывода информации.Как он работает можно увидеть тут.
     
  12. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Без модов тут никак.

    Плагины устанавливаются исключительно на сервер, соответственно клиент не знает, что и как ему рисовать.
    Плагины могут передавать информацию лишь для создания уже известных клиенту объектов: инвентарей, баров, чата, мира (чанков и энтити) и прочего.
    Причём это никакие не костыли. Именно так любые сетевые приложения и работают - рендеринг происходит именно на клиентах.

    В будущем будут потоково передавать сами пользовательские изображения, но до таких серверных мощностей ещё долго, думаю.
    Впрочем, речь сейчас не об этом...
     
  13. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Есь такое, карты называется. Еще был мод споуткрафт, там передавались текстурки кастомных блоков клиенту. И никаких мощностей тут не нужно.
     
  14. Dymeth

    Dymeth Активный участник Пользователь

    Баллы:
    76
    Я про рендеринг на серверах...
     
  15. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    До слёз. Жаль умер.
     
  16. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Без модов никак. Мод нужен на клиент, а с сервера можно отправлять пакеты моду, чтобы он выводил нужный gui.
     
  17. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    Буду пытаться, но понятия не имею как работать с пакетами и как отправить пакет игроку, какие бываю пакеты, можешь дать ссылки на какие-нибудь туториалы..гайды?[DOUBLEPOST=1481053434,1481053402][/DOUBLEPOST]это случаем не оно ?)
    http://wiki.vg/Protocol[DOUBLEPOST=1481089560][/DOUBLEPOST]нашел вот это:
    Код:
    public class ParticleAPI {
        private Class<?> getNMSClass(String nmsClassString) throws ClassNotFoundException {
            String version = Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3] + ".";
            String name = "net.minecraft.server." + version + nmsClassString;
            Class<?> nmsClass = Class.forName(name);
            return nmsClass;
        }
        private Object getConnection(Player player) throws SecurityException, NoSuchMethodException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, InvocationTargetException {
            Method getHandle = player.getClass().getMethod("getHandle");
            Object nmsPlayer = getHandle.invoke(player);
            Field conField = nmsPlayer.getClass().getField("playerConnection");
            Object con = conField.get(nmsPlayer);
            return con;
        }
        public void sendParticles(Player player, String particle, float x, float y, float z, float xOffset, float yOffset, float zOffset, float data, int amount) throws ClassNotFoundException, SecurityException, NoSuchMethodException, IllegalArgumentException, InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchFieldException {
            Class<?> packetClass = this.getNMSClass("PacketPlayOutWorldParticles");
            Constructor<?> packetConstructor = packetClass.getConstructor(String.class, float.class, float.class, float.class, float.class, float.class, float.class, float.class, int.class);
            Object packet = packetConstructor.newInstance(particle, x, y, z, xOffset, yOffset, zOffset, data, amount);
            Method sendPacket = getNMSClass("PlayerConnection").getMethod("sendPacket", this.getNMSClass("Packet"));
            sendPacket.invoke(this.getConnection(player), packet);
        }
    }
    Как я понял, подобное делает ProtocolLib ? поправьте если ошибаюсь.
     
  18. GoodCoder

    GoodCoder Активный участник Пользователь

    Баллы:
    76
    Это тебе не нужно. Можно штатными средствами отправлять и принимать, либо protocollib использовать.
    Но сперва тебе нужно написать мод и как-то установить его своим игрокам.
     
  19. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    без мода, сейчас не могу разобраться, какими именно "штатными средствами" можно отправить игроку стандартный пакет.[DOUBLEPOST=1481112553,1481112520][/DOUBLEPOST]без протоколлибы[DOUBLEPOST=1481112680][/DOUBLEPOST]попытался декомпилировать протоколлиб... лучше бы я этого не делал....5мб весит. декомпилилось около минуты.[DOUBLEPOST=1481112848][/DOUBLEPOST]Скорее всего искал не там, на http://wiki.vg/Protocol
     
  20. Qmaks

    Qmaks Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Qmaks
    Можно сделать панель управления с помощью имен Entity.
     
  21. Автор темы
    Stamorey

    Stamorey Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Stamorey
    А поподробнее суть идеи можно?)
     

Поделиться этой страницей