v4.4
This commit is contained in:
1 parent
47ad2c67c5
commit
8933565e07
9 files changed
+94
-71
No files matched your search
+11
-7
@@ -1,4 +1,4 @@
|
|||||||
# v4.3
|
# v4.4
|
||||||
|
|
||||||
## novedades
|
## novedades
|
||||||
|
|
||||||
@@ -6,15 +6,19 @@
|
|||||||
|
|
||||||
#### módulos nuevos:
|
#### módulos nuevos:
|
||||||
|
|
||||||
- mira plus: personalizaciones a la mira (crosshair)
|
|
||||||
- moro: te permite robar items de cofres más fácilmente
|
|
||||||
|
|
||||||
### arreglos / mejoras
|
### arreglos / mejoras
|
||||||
|
|
||||||
- info. de bloque ahora funciona y tal
|
- brilli brilli ya funciona
|
||||||
- arreglado varios crashes
|
- zoom ya funciona
|
||||||
|
|
||||||
## problemas reconocidos
|
## problemas reconocidos
|
||||||
|
|
||||||
- lo de siempre, +
|
- lo de siempre, además de:
|
||||||
|
- `colocar en aire` no funciona si el bloque está muy cerca, aunque no colisione con el jugador
|
||||||
|
- `delay de paquetes` puede crashear el juego
|
||||||
|
- las cabezas de `chat plus` solo se dibujar en la pantalla del chat, no en el overlay
|
||||||
|
- movimiento laggy en `cámara libre`
|
||||||
|
- `inventario plus` no funciona en creativo
|
||||||
|
- `RPC de Discord` no funciona e incluso puede provocar crashes
|
||||||
|
- `destello de enchants.` no funciona.
|
||||||
|
|
||||||
+1
-1
@@ -10,6 +10,6 @@ discord_rpc_version=1.0.3
|
|||||||
neutrino_version=1.1.0
|
neutrino_version=1.1.0
|
||||||
jdk_version=25
|
jdk_version=25
|
||||||
|
|
||||||
mod_version=4.3
|
mod_version=4.4
|
||||||
maven_group=me.retucio
|
maven_group=me.retucio
|
||||||
archives_base_name=sputnik
|
archives_base_name=sputnik
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
package me.retucio.sputnik.mixin.mixins.render;
|
package me.retucio.sputnik.mixin.mixins.render;
|
||||||
|
|
||||||
|
|
||||||
|
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
|
||||||
import me.retucio.sputnik.event.render.GetFOVEvent;
|
import me.retucio.sputnik.event.render.GetFOVEvent;
|
||||||
import me.retucio.sputnik.module.ModuleManager;
|
import me.retucio.sputnik.module.ModuleManager;
|
||||||
import me.retucio.sputnik.module.modules.camera.Freecam;
|
import me.retucio.sputnik.module.modules.camera.Freecam;
|
||||||
@@ -56,15 +57,16 @@ public abstract class GameRendererMixin {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ModifyExpressionValue(method = "renderLevel", at = @At(value = "INVOKE", target = "Ljava/lang/Math;max(FF)F", ordinal = 0))
|
||||||
|
private float applyCameraTransformationsMathHelperLerpProxy(float original) {
|
||||||
|
return (noRender.isEnabled() && !noRender.nauseaEffect.getValue()) ? 0 : original;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Inject(method = "renderItemInHand", at = @At("HEAD"), cancellable = true)
|
@Inject(method = "renderItemInHand", at = @At("HEAD"), cancellable = true)
|
||||||
private void renderHand(CameraRenderState cameraState, float deltaPartialTick, Matrix4fc modelViewMatrix, CallbackInfo ci) {
|
private void renderHand(CameraRenderState cameraState, float deltaPartialTick, Matrix4fc modelViewMatrix, CallbackInfo ci) {
|
||||||
if ((zoom.isEnabled() && !zoom.showHands.getValue())
|
if ((zoom.isEnabled() && !zoom.showHands.getValue())
|
||||||
|| (freecam.isEnabled() && !freecam.renderHands.getValue()))
|
|| (freecam.isEnabled() && !freecam.renderHands.getValue()))
|
||||||
ci.cancel();
|
ci.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ModifyVariable(method = "renderLevel", at = @At(value = "STORE"), name = "skew")
|
|
||||||
private float noRenderNauseaDistortion(float scaledNauseaEffectFactor) {
|
|
||||||
return (noRender.isEnabled() && !noRender.nauseaEffect.getValue()) ? 0 : scaledNauseaEffectFactor;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
package me.retucio.sputnik.mixin.mixins.render;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.systems.RenderSystem;
|
||||||
|
import com.mojang.blaze3d.textures.GpuTexture;
|
||||||
|
import me.retucio.sputnik.module.ModuleManager;
|
||||||
|
import me.retucio.sputnik.module.modules.camera.Fullbright;
|
||||||
|
import net.minecraft.client.renderer.Lightmap;
|
||||||
|
import net.minecraft.client.renderer.state.LightmapRenderState;
|
||||||
|
import net.minecraft.util.ARGB;
|
||||||
|
import net.minecraft.util.profiling.Profiler;
|
||||||
|
import net.minecraft.util.profiling.ProfilerFiller;
|
||||||
|
import org.spongepowered.asm.mixin.Final;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
|
@Mixin(Lightmap.class)
|
||||||
|
public abstract class LightmapMixin {
|
||||||
|
|
||||||
|
@Shadow @Final
|
||||||
|
private GpuTexture texture;
|
||||||
|
|
||||||
|
@Inject(method = "render", at = @At("HEAD"), cancellable = true)
|
||||||
|
private void makeThingsBright(LightmapRenderState renderState, CallbackInfo ci) {
|
||||||
|
if (ModuleManager.INSTANCE.getModuleByClass(Fullbright.class).isEnabled()
|
||||||
|
&& ModuleManager.INSTANCE.getModuleByClass(Fullbright.class).mode.is(Fullbright.Modes.GAMMA))
|
||||||
|
{
|
||||||
|
ProfilerFiller profiler = Profiler.get();
|
||||||
|
profiler.push("lightmap");
|
||||||
|
|
||||||
|
RenderSystem.getDevice().createCommandEncoder()
|
||||||
|
.clearColorTexture(texture, ARGB.color(255, 255, 255, 255));
|
||||||
|
|
||||||
|
profiler.pop();
|
||||||
|
ci.cancel();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package me.retucio.sputnik.mixin.mixins.render;
|
||||||
|
|
||||||
|
import me.retucio.sputnik.module.ModuleManager;
|
||||||
|
import me.retucio.sputnik.module.modules.camera.Fullbright;
|
||||||
|
import me.retucio.sputnik.module.modules.render.NoRender;
|
||||||
|
import net.minecraft.client.renderer.LightmapRenderStateExtractor;
|
||||||
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.Unique;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
|
|
||||||
|
@Mixin(LightmapRenderStateExtractor.class)
|
||||||
|
public abstract class LightmapRenderStateExtractorMixin {
|
||||||
|
|
||||||
|
@Unique NoRender noRender;
|
||||||
|
|
||||||
|
@Inject(method = "<init>", at = @At("TAIL"))
|
||||||
|
private void getModules(CallbackInfo ci) {
|
||||||
|
noRender = ModuleManager.INSTANCE.getModuleByClass(NoRender.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject(method = "calculateDarknessScale", at = @At("HEAD"), cancellable = true)
|
||||||
|
private void noRenderDarkness(LivingEntity camera, float darknessGamma, float partialTickTime, CallbackInfoReturnable<Float> cir) {
|
||||||
|
if (noRender.isEnabled() && !noRender.darknessEffect.getValue()) cir.setReturnValue(0f);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
package me.retucio.sputnik.mixin.mixins.render;
|
|
||||||
|
|
||||||
import com.llamalad7.mixinextras.sugar.Local;
|
|
||||||
import com.mojang.blaze3d.systems.RenderSystem;
|
|
||||||
import me.retucio.sputnik.module.ModuleManager;
|
|
||||||
import me.retucio.sputnik.module.modules.camera.Fullbright;
|
|
||||||
import me.retucio.sputnik.module.modules.render.NoRender;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.client.renderer.LightmapRenderStateExtractor;
|
|
||||||
import net.minecraft.client.renderer.state.LightmapRenderState;
|
|
||||||
import net.minecraft.util.ARGB;
|
|
||||||
import net.minecraft.util.profiling.ProfilerFiller;
|
|
||||||
import net.minecraft.world.entity.LivingEntity;
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
|
||||||
import org.spongepowered.asm.mixin.Unique;
|
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
|
||||||
|
|
||||||
|
|
||||||
@Mixin(LightmapRenderStateExtractor.class)
|
|
||||||
public abstract class LightmapTextureManagerMixin {
|
|
||||||
|
|
||||||
@Unique Fullbright fullbright;
|
|
||||||
@Unique NoRender noRender;
|
|
||||||
|
|
||||||
@Inject(method = "<init>", at = @At("TAIL"))
|
|
||||||
private void getModules(CallbackInfo ci) {
|
|
||||||
fullbright = ModuleManager.INSTANCE.getModuleByClass(Fullbright.class);
|
|
||||||
noRender = ModuleManager.INSTANCE.getModuleByClass(NoRender.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Inject(method = "extract", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/profiling/ProfilerFiller;push(Ljava/lang/String;)V", shift = At.Shift.AFTER), cancellable = true)
|
|
||||||
private void update(LightmapRenderState renderState, float partialTicks, CallbackInfo ci, @Local(name = "profiler") ProfilerFiller profiler) {
|
|
||||||
if (fullbright.isEnabled() && fullbright.mode.is(Fullbright.Modes.GAMMA)) {
|
|
||||||
RenderSystem.getDevice().createCommandEncoder().clearColorTexture(Minecraft.getInstance().gameRenderer.lightmap().texture(),
|
|
||||||
ARGB.color(
|
|
||||||
fullbright.color.getA(),
|
|
||||||
fullbright.color.getR(),
|
|
||||||
fullbright.color.getG(),
|
|
||||||
fullbright.color.getB()
|
|
||||||
)
|
|
||||||
);
|
|
||||||
profiler.pop();
|
|
||||||
ci.cancel();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Inject(method = "calculateDarknessScale", at = @At("HEAD"), cancellable = true)
|
|
||||||
private void noRenderDarkness(LivingEntity camera, float darknessGamma, float partialTickTime, CallbackInfoReturnable<Float> cir) {
|
|
||||||
if (noRender.isEnabled() && !noRender.darknessEffect.getValue()) cir.setReturnValue(0f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package me.retucio.sputnik.module.modules.camera;
|
package me.retucio.sputnik.module.modules.camera;
|
||||||
|
|
||||||
import me.retucio.sputnik.mixin.accessors.MobEffectInstanceAccessor;
|
import me.retucio.sputnik.mixin.accessors.MobEffectInstanceAccessor;
|
||||||
import me.retucio.sputnik.mixin.mixins.render.LightmapTextureManagerMixin;
|
import me.retucio.sputnik.mixin.mixins.render.LightmapRenderStateExtractorMixin;
|
||||||
import me.retucio.sputnik.module.Category;
|
import me.retucio.sputnik.module.Category;
|
||||||
import me.retucio.sputnik.module.Module;
|
import me.retucio.sputnik.module.Module;
|
||||||
import me.retucio.sputnik.module.setting.settings.ColorSetting;
|
import me.retucio.sputnik.module.setting.settings.ColorSetting;
|
||||||
@@ -14,7 +14,7 @@ import org.lwjgl.glfw.GLFW;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
/** continúa en:
|
/** continúa en:
|
||||||
* @see LightmapTextureManagerMixin
|
* @see LightmapRenderStateExtractorMixin
|
||||||
*
|
*
|
||||||
* @author retucio
|
* @author retucio
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ public class ModuleButton extends Button {
|
|||||||
ClickGUI.INSTANCE.closeSettingsFrame(module);
|
ClickGUI.INSTANCE.closeSettingsFrame(module);
|
||||||
else
|
else
|
||||||
ClickGUI.INSTANCE.openSettingsFrame(module,
|
ClickGUI.INSTANCE.openSettingsFrame(module,
|
||||||
parent.getX() + parent.getW() + 120, parent.getY() + offset);
|
parent.getX() + parent.getW() + 120, parent.getRenderY() + offset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,8 @@
|
|||||||
"mixins.render.ItemFeatureRendererMixin",
|
"mixins.render.ItemFeatureRendererMixin",
|
||||||
"mixins.render.ItemInHandRendererMixin",
|
"mixins.render.ItemInHandRendererMixin",
|
||||||
"mixins.render.LevelRendererMixin",
|
"mixins.render.LevelRendererMixin",
|
||||||
"mixins.render.LightmapTextureManagerMixin",
|
"mixins.render.LightmapMixin",
|
||||||
|
"mixins.render.LightmapRenderStateExtractorMixin",
|
||||||
"mixins.render.LivingEntityRendererMixin",
|
"mixins.render.LivingEntityRendererMixin",
|
||||||
"mixins.render.MobEffectFogEnvironmentMixin",
|
"mixins.render.MobEffectFogEnvironmentMixin",
|
||||||
"mixins.render.OverlayTextureMixin",
|
"mixins.render.OverlayTextureMixin",
|
||||||
|
|||||||
Reference in new issue
Block a user