a6587d55ce
Игрок: - RsxPlayer extends EntityPlayerSP: наш игрок с нашими числами движения. - RsxMovementInput extends MovementInputFromOptions: отменяет ванильный множитель подкрадывания 0.3 и ставит наш. - RsxPlayerTuning: подкрадывание 1.5 блока/с (было ~1.3), прыжок 1.35 блока (было 1.25). Прыжок считается по высоте: v = 0.42 * sqrt(h / 1.25) = 0.43713. Правило пользователя: значение меньше заданного не принимается, остаётся 1.5. Переопределяется из командной строки: -Drsx.sneakSpeed, -Drsx.jumpHeight. - Мобы прыгают как в ванилле: переопределение в RsxPlayer, а не в EntityLivingBase. - Три строки патчей в ванильное дерево: PlayerControllerMP создаёт RsxPlayer, Minecraft создаёт RsxMovementInput. Вся логика в нашем коде. - Форк собирается чисто, 3278 классов. Каталог: - tools/catalog-remake.py собирает assets/rustex/CATALOG.md и catalog.json. - Что нашли у ремейка: 218 предметов (46 одежды, 44 ресурса, 33 оружия, 31 медицина, 21 инструмент, 17 построек, 11 боеприпасов, 11 разных, 4 ловушки), 91 объект nextgen (бочки, ящики, двери, верстаки, печи, руда, модели монументов), 553 модели .obj (384 оружия с перезарядкой, 128 деталей постройки, 36 мебели, 4 руды), 133 иконки предметов, 2004 звука, текстуры монументов и животных, скины игрока (9 файлов 256x256 плюс 9 с моргающими глазами) в assets/rustex/player/. - Скины игрока - текстуры ремейка, модель тела ванильная. Декомпил ремейка лежит на диске: G:\src-decoded (5207 файлов, строки расшифрованы). Поведение клиента можно читать, а не угадывать: конфиг оружия с отдачей, схема viewmodel, формат данных. Значения же приходят с сервера, в клиенте только схема и значения по умолчанию. План дополнен разделами 2.8 (игрок) и 2.9 (декомпил).
31 lines
974 B
Java
31 lines
974 B
Java
package net.rustnotmc.client;
|
|
|
|
import net.minecraft.client.settings.GameSettings;
|
|
import net.minecraft.util.MovementInputFromOptions;
|
|
|
|
/**
|
|
* The movement input with our crouch.
|
|
*
|
|
* The vanilla already slows the movement down by a third while the crouch key
|
|
* is down. We undo that and apply our own factor, so the crouch is a little
|
|
* faster than the vanilla one and the number itself lives in
|
|
* {@link RsxPlayerTuning}.
|
|
*/
|
|
public class RsxMovementInput extends MovementInputFromOptions {
|
|
|
|
public RsxMovementInput(GameSettings settings) {
|
|
super(settings);
|
|
}
|
|
|
|
@Override
|
|
public void updatePlayerMoveState() {
|
|
super.updatePlayerMoveState();
|
|
if (!this.sneak) {
|
|
return;
|
|
}
|
|
float correction = RsxPlayerTuning.sneakCorrection();
|
|
this.moveStrafe = (float) ((double) this.moveStrafe * (double) correction);
|
|
this.moveForward = (float) ((double) this.moveForward * (double) correction);
|
|
}
|
|
}
|