Игрок: хитбокс 1.45 в шифте и прыжок с места 1.5
- 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 классов.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user