Начинающий
- Статус
- Оффлайн
- Регистрация
- 18 Апр 2025
- Сообщения
- 112
- Реакции
- 1
Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:
- бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
- маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
- приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
- обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.
Спасибо!
Шаг 1: Создаём класс AspectRatio
- Перейдите в src/im/expensive/modules/impl/render (или ваш путь)
- Создайте файл AspectRatio.java.
- Вставьте код:
-
AspectRatio:
package expensive.modules.impl.visuals; import com.google.common.eventbus.Subscribe; import expensive.events.EventDisplay; import expensive.modules.api.Category; import expensive.modules.api.Function; import expensive.modules.api.FunctionRegister; import expensive.modules.api.impl.ModeSetting; import expensive.modules.api.impl.SliderSetting; import net.minecraft.client.Minecraft; import org.lwjgl.opengl.GL11; @FunctionRegister(name = "AspectRatio", type = Category.Visuals) public class AspectRatio extends Function { public ModeSetting aspectMode = new ModeSetting("Режим", "16:9", "16:9", "16:10", "4:3", "5:4", "3:2", "1:1", "21:9", "32:9", "Custom"); public SliderSetting customWidth = new SliderSetting("Кастомная ширина", 1, 0.6f, 2.5f, 0.1f) .setVisible(() -> aspectMode.get().equals("Custom")); public AspectRatio() { addSettings(aspectMode, customWidth); } public float getAspectRatio() { switch (aspectMode.get()) { case "16:9": return 16.0f / 9.0f; case "16:10": return 16.0f / 10.0f; case "4:3": return 4.0f / 3.0f; case "5:4": return 5.0f / 4.0f; case "3:2": return 3.0f / 2.0f; case "1:1": return 1.0f / 1.0f; case "21:9": return 21.0f / 9.0f; case "32:9": return 32.0f / 9.0f; case "Custom": return customWidth.get().floatValue(); default: return 16.0f / 9.0f; } } [USER=1367676]@override[/USER] public void onEnable() { super.onEnable(); } [USER=1367676]@override[/USER] public void onDisable() { super.onDisable(); } }
Шаг 2: Изменяем метод в классе GameRenderer- Перейдите в net.minecraft.client.renderer.
- Откройте файл GameRenderer.java.
- Найдите метод getProjectionMatrix (примерно строки 599–602).
- Замените старый код:
-
Пример getProjectionMatrix:
public Matrix4f getProjectionMatrix(ActiveRenderInfo activeRenderInfoIn, float partialTicks, boolean useFovSetting) { // внутри код должене быть это пример по названию }
на новый:
getProjectionMatrix:public Matrix4f getProjectionMatrix(ActiveRenderInfo activeRenderInfoIn, float partialTicks, boolean useFovSetting) { FunctionRegistry moduleRepository = Expensive.getInstance().getFunctionRegistry(); AspectRatio aspectRatio = moduleRepository.getAspectRatio(); MatrixStack matrixstack = new MatrixStack(); matrixstack.getLast().getMatrix().setIdentity(); if (Config.isShaders() && Shaders.isRenderingFirstPersonHand()) { Shaders.applyHandDepth(matrixstack); } this.clipDistance = this.farPlaneDistance * 2.0F; if (this.clipDistance < 173.0F) { this.clipDistance = 173.0F; } if (this.cameraZoom != 1.0F) { matrixstack.translate((double) this.cameraYaw, (double) (-this.cameraPitch), 0.0D); matrixstack.scale(this.cameraZoom, this.cameraZoom, 1.0F); } matrixstack.getLast().getMatrix() .mul(Matrix4f.perspective(this.getFOVModifier(activeRenderInfoIn, partialTicks, useFovSetting), aspectRatio.isState() ? aspectRatio.getAspectRatio() : (float)this.mc.getMainWindow().getFramebufferWidth() / (float)this.mc.getMainWindow().getFramebufferHeight(), 0.05f, this.clipDistance)); return matrixstack.getLast().getMatrix(); }
Готово!