Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

В разработке OfflinePlayerUtils

Shevchik

Старожил
Пользователь
Баллы
173
Имя в Minecraft
_Shevchik_
Сейчас разрабатываю плагин-API который позволит взаимодействовать с инвентарём, а также местоположением и другими данными игрока оффлайн.
https://github.com/Shevchik/OfflinePlayerUtils
Принимаю ваши предложения по API.
 
Последнее редактирование:
Телепортация оффлайн игрока уже реализована, частично...
Баккит хранит UUID в качестве идентефикатора мира, а значит чтобы узнать имя мира придётся пробежаться по всем мирам и вытащить оттуда имя мира, при этом надо учесть что у mcpc+ свой способ хранения миров.
А ещё надо накатать кучу кода для поддержки 1.6.4
 
Еще кстати нет никакого смысла в регистрации этой библиотеки как плагина.
 
У меня от этой либы будут зависеть сразу несколько плагинов, поэтому я предпочту зарегать её как плагин, чтобы потом не импортить в каждый лишний раз.
А кому надо вполне выдернут сырцы и заюзают как библиотеку.
Таки добился того чтобы UUID мира резолвился в имя, правда обратный конвертер (имя->uuid) решил не делать, ну его к чёрту.
Сделал совместимость со всеми версиями с которыми я хотел, теперь оталось только добавить изменение гейммода. Также добавить yaw и pitch в locationinfo.
 
Установка жизни , уровень и сытость.
 
Проверка пермов для оффлайновых игроков
 
Интересно, буду следить и топтать.
Надеюсь рефракторнг проводится.

Что должно быть обязательно:
  1. телепортация как в пределах мира, так и между
  2. установка здоровья/голода
  3. установка опыты
  4. снятие эффектов
Что хотелось бы видеть
  1. работа с инвентарём
  2. установка эффектов
  3. удаление/обнуление игрока (иногда надо, когда битые вещи в инвентарь попадают)
  4. копирование из игрока, копирование в игрока (т.е. одеть шкуру игрока, поправить что-то, и перенести в игрока всё это)

Проверка пермов для оффлайновых игроков
А разве у PEX нельзя пермы проверить по имени игрока? Вроде тут всё равно имя или просто строка подаётся, если PermissionUser существует, то он будет возвращён.
Java:
public static PermissionUser getUser(String name) {
  return getPermissionManager().getUser(name);
  }
 
Интересно, буду следить и топтать.
Надеюсь рефракторнг проводится.

Что должно быть обязательно:
  1. телепортация как в пределах мира, так и между
  2. установка здоровья/голода
  3. установка опыты
  4. снятие эффектов
Что хотелось бы видеть
  1. работа с инвентарём
  2. установка эффектов
  3. удаление/обнуление игрока (иногда надо, когда битые вещи в инвентарь попадают)
  4. копирование из игрока, копирование в игрока (т.е. одеть шкуру игрока, поправить что-то, и перенести в игрока всё это)


А разве у PEX нельзя пермы проверить по имени игрока? Вроде тут всё равно имя или просто строка подаётся, если PermissionUser существует, то он будет возвращён.
Java:
public static PermissionUser getUser(String name) {
  return getPermissionManager().getUser(name);
  }

Я не пользуюсь PEX, мне больше нравиться GroupManager, но суть не в этом.
Стандартный баккитовский метод hasPermission возвращает false, если игрок не на сервере. Хотя сейчас появилось подозрение что я словил в своё время какой-то баг, судя по JavaDoc's
 
Я не пользуюсь PEX, мне больше нравиться GroupManager, но суть не в этом.
Стандартный баккитовский метод hasPermission возвращает false, если игрок не на сервере. Хотя сейчас появилось подозрение что я словил в своё время какой-то баг, судя по JavaDoc's
Это не баг.
Стандартный баккитовский метод всегда будет возврашать false для оффлайн игрока.
Причина этого явления в том что собственно пермишен плагины могут аттачить пермишены к игроку только он онлайн (собственно плагины могут аттачить пермишены которые как раз этот метод и проверяет только к классу Player)
Переименовал плагин в OfflinePlayerUtils
Добавил поддержку 1.7.9.
Теперь перед редактированием данных требуется начать сессию редактирования, и не забыть её закончить после окончания редактирования данных. Пока сессия активн игрок не сможет зайти на сервер.
Добавил возможность получать и менять GameMode
Ап со дна
 
Последнее редактирование:
А может таки запечатать либу в 1 здоровенный класс?
Мне кажется удобнее будет o.o
 
Заметка к коммиту "Use my own NBT read implementation..."
Я однажды использовал эту штуку: https://github.com/Evil-Co/NBT-Lib, мне показалось удачным решением.
Я взял для примера несколько либ и написал свою потому что некоторые моменты тех либ мн не нравятся. Впрочем и своей либе тоже пару косякой есть.
 
Можно добавить обработку некоторых функций плагина Essentials?
Например:
1. Полет (вкл/выкл)
2. Режим бога (вкл/выкл)
3. Работа с точками дома, получение координат, удаление.
 
Нет. Для этого есть API самого essentials, его и используйте.
 

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

Назад
Верх