9980c1561d
- RsxPlayerTuning: высота при подкрадывании 1.45 (ванилла 1.65), прыжок с места 1.5, в движении ванильные 1.25, высота глаз в шифте 1.37. - RsxPlayer: прыжок по наличию горизонтального ввода, глаза при подкрадывании. - Патч в EntityPlayer.updateSize: высота при подкрадывании из нашего класса. - Импульс прыжка считается обратным счетом по физике ваниллы. AABB: редактор хитбоксов и их отрисовка - Протокол: Hitbox (имя, зона, min/max, поворот), пакеты Hitboxes, HitboxInstances и HitboxesReload. - Сервер: HitboxRegistry читает JSON-файл (world/hitboxes.json, можно указать --hitboxes), перечитывает его по запросу клиента и шлет наборы игрокам. Сломанный файл не стирает рабочие коробки, а объясняет причину. - Клиент: RsxHitboxDebug рисует коробки через RenderGlobal.drawBoundingBox с подписями DebugRenderer, красит зоны (голова красная, тело желтое, ноги синие). Команды: /rsx hitboxes on|off|reload|list|show NAME. - Новый модуль rsx-plugin-api с интерфейсом Hitboxes: плагин может зарегистрировать свои коробки. У сервера появился скрипт сборки. Тесты: протокол 34, сервер 80 (было 74). Форк собирается чисто, 3279 классов.
31 lines
833 B
Java
31 lines
833 B
Java
package net.rustnotmc.api.server;
|
|
|
|
import net.rustnotmc.protocol.Hitbox;
|
|
|
|
/**
|
|
* The boxes of the models, on the server.
|
|
*
|
|
* A plugin that brings its own object says where its boxes are, and the game
|
|
* uses them: for the collision, for the damage, and for the drawing that the
|
|
* editor does.
|
|
*
|
|
* The boxes of our own models are in a file that the server reads, so that
|
|
* they can be changed without touching any code.
|
|
*/
|
|
public interface Hitboxes {
|
|
|
|
/**
|
|
* Says where the boxes of a model are.
|
|
*
|
|
* A model that is already known is replaced, so a plugin may take a
|
|
* model over.
|
|
*/
|
|
void register(String model, Hitbox[] boxes);
|
|
|
|
/** The boxes of a model, or null when it has none. */
|
|
Hitbox[] of(String model);
|
|
|
|
/** True when the model has boxes. */
|
|
boolean has(String model);
|
|
}
|