diff --git a/README.md b/README.md
index 5d4c4b2..8d4e984 100644
--- a/README.md
+++ b/README.md
@@ -54,6 +54,7 @@ algunos módulos tienen teclas asignadas por defecto, asígnales `ESC` para desa
+
## contibuciones
diff --git a/build.gradle b/build.gradle
index 5a9eea2..86e83cb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -24,7 +24,7 @@ dependencies {
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
- modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
+ modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
}
diff --git a/cambios.md b/cambios.md
index 22d8216..2492d03 100644
--- a/cambios.md
+++ b/cambios.md
@@ -1,28 +1,29 @@
-# v2.0
+# v2.1 (roto)
## novedades
+- actualizado a la 1.21.11 (maomeno)
+
### adiciones
-- ajuste de opción: similar a enumsetting, pero abre un marco de selección, igual que listsetting.
+- categorías de módulos: ahora puedes buscar "cámara", "jugador", "mundo", "renderizado", "red", "cliente" o "misc" para que se filtren los módulos de esas categorías, respectivamente
#### módulos nuevos:
-- resaltado de bloques: resalta bloques de cierto tipo renderizando una caja con su forma, visible a través de paredes
-- delay de paquetes: simula un ping alto añadiendo delay a los paquetes
-- inventario plus: te permite mover items a cualquier slot del inventario mediante teclas (ej.: d + tecla para slot 4);
-- progreso de minado: muestra el progreso de minado de un bloque de una manera más visual, mediante cajas de color
-- mano secundaria: equipa de manera automática un ítem en tu mano secundaria
-- moverse en interfaz: te permite utilizar las teclas de movimiento con ciertas interfaces abiertas (configurable)
+- muletas: hace te no te caigas (de bloques), como cuando estás agachado, pero sin agacharte
### arreglos / mejoras
-- ahora se pueden mostrar también las coordenadas del nether en el elemento del hud para coordenadas
-- ahora ChatPlus utilizará los corchetes [] para mostrar la hora (antes era <>), además de también detectar cuando un jugador se une a la hora de dibujar las cabezas
-- ahora puedes elegir el sonido en aviso de baja dur., junto a la altura y volumen de este
-- ya no se pueden abrir interfaces del mod estando en pantallas donde se suele escribir (chat, carteles, etc.)
-- arreglado algunos problemas con las configuraciones
+- ahora ya puedes escribir espacios en la barra de búsqueda
+- ahora se ignoran las tildes al buscar en la barra de búsqueda
+- aviso de baja dur. ya no te avisa al reparar objetos dañados por debajo del límite
+- creo que cielo custom ya funciona por completo (las fases lunares)
## problemas reconocidos
-- muchos, pero repórtalos en la página de problemas si quieres para que queden bien registrados
\ No newline at end of file
+- muchos, pero repórtalos en la página de problemas si quieres para que queden bien registrados
+- de esta actualización:
+ - superposición de daño no funciona porque no lo he podido actualizar porque han cambiado cosas relacionadas a la renderización
+ - la renderización de líneas (no rellenos) está rota, por el mismo motivo
+ - por el mismo motivo, destello de enchants no funciona
+ - minar sin interrupción no funciona
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 0644fc4..77318f0 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -1,13 +1,13 @@
org.gradle.jvmargs=-Xmx1G
org.gradle.parallel=true
-minecraft_version=1.21.10
-yarn_mappings=1.21.10+build.2
-loader_version=0.17.3
-loom_version=1.11-SNAPSHOT
+minecraft_version=1.21.11
+yarn_mappings=1.21.11+build.3
+loader_version=0.18.4
+loom_version=1.13-SNAPSHOT
+
+fabric_api_version=0.140.2+1.21.11
mod_version=2.1
maven_group=me.retucio
-archives_base_name=camtweaks
-
-fabric_version=0.135.0+1.21.10
\ No newline at end of file
+archives_base_name=camtweaks
\ No newline at end of file
diff --git a/screenshots/colorpicker.png b/screenshots/colorpicker.png
new file mode 100644
index 0000000..6ee3f08
Binary files /dev/null and b/screenshots/colorpicker.png differ
diff --git a/src/main/java/me/retucio/camtweaks/CameraTweaks.java b/src/main/java/me/retucio/camtweaks/CameraTweaks.java
index 4d2e943..8a35169 100644
--- a/src/main/java/me/retucio/camtweaks/CameraTweaks.java
+++ b/src/main/java/me/retucio/camtweaks/CameraTweaks.java
@@ -16,7 +16,7 @@ import me.retucio.camtweaks.event.events.camtweaks.LoadModuleManagerEvent;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.screen.ClickGUI;
import me.retucio.camtweaks.ui.hud.HudEditorScreen;
import me.retucio.camtweaks.ui.hud.HudRenderer;
diff --git a/src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java b/src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java
index a53b4f4..5f8b7db 100644
--- a/src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java
+++ b/src/main/java/me/retucio/camtweaks/command/commands/CopyScreenshotCommand.java
@@ -3,7 +3,7 @@ package me.retucio.camtweaks.command.commands;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import me.retucio.camtweaks.command.Command;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ScreenshotPlus;
+import me.retucio.camtweaks.module.modules.misc.ScreenshotPlus;
import net.minecraft.command.CommandSource;
// se usa principalmente para el módulo ScreenshotPlus, pero también se puede usar sin él supongo
diff --git a/src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java b/src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java
index 2e210b7..464fe24 100644
--- a/src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java
+++ b/src/main/java/me/retucio/camtweaks/command/commands/SaveScreenshotCommand.java
@@ -3,7 +3,7 @@ package me.retucio.camtweaks.command.commands;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
import me.retucio.camtweaks.command.Command;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ScreenshotPlus;
+import me.retucio.camtweaks.module.modules.misc.ScreenshotPlus;
import me.retucio.camtweaks.util.ChatUtil;
import net.minecraft.command.CommandSource;
diff --git a/src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java b/src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java
index b2e62c5..cc95d24 100644
--- a/src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java
+++ b/src/main/java/me/retucio/camtweaks/event/events/ClientClickEvent.java
@@ -1,10 +1,11 @@
package me.retucio.camtweaks.event.events;
+import me.retucio.camtweaks.module.modules.misc.ChatPlus;
import net.minecraft.text.ClickEvent;
/** este evento es solo para asegurarse de que comandos del mod se puedan ejecutar solo desde el lado del cliente
- * @see me.retucio.camtweaks.module.modules.ChatPlus#getSendButton
+ * @see ChatPlus#getSendButton
*/
public class ClientClickEvent implements ClickEvent {
diff --git a/src/main/java/me/retucio/camtweaks/event/events/ClipAtLedgeEvent.java b/src/main/java/me/retucio/camtweaks/event/events/ClipAtLedgeEvent.java
new file mode 100644
index 0000000..f8c954b
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/event/events/ClipAtLedgeEvent.java
@@ -0,0 +1,20 @@
+package me.retucio.camtweaks.event.events;
+
+import me.retucio.camtweaks.event.Event;
+
+public class ClipAtLedgeEvent extends Event {
+
+ private boolean clipping;
+
+ public ClipAtLedgeEvent(boolean clipping) {
+ this.clipping = clipping;
+ }
+
+ public boolean isClipping() {
+ return clipping;
+ }
+
+ public void setClipping(boolean clipping) {
+ this.clipping = clipping;
+ }
+}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java b/src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java
index da6e8dc..02d743d 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/CameraMixin.java
@@ -1,12 +1,12 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freelook;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.module.modules.PerspectivePlus;
+import me.retucio.camtweaks.module.modules.camera.Freelook;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.camera.PerspectivePlus;
import net.minecraft.client.render.Camera;
import net.minecraft.entity.Entity;
-import net.minecraft.world.BlockView;
+import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
@@ -44,7 +44,7 @@ public abstract class CameraMixin {
}
@Inject(method = "update", at = @At("HEAD"))
- private void onUpdateHead(BlockView area, Entity focusedEntity, boolean thirdPerson, boolean inverseView, float tickDelta, CallbackInfo info) {
+ private void onUpdateHead(World area, Entity focusedEntity, boolean thirdPerson, boolean inverseView, float tickDelta, CallbackInfo ci) {
this.tickDelta = tickDelta;
}
@@ -67,7 +67,7 @@ public abstract class CameraMixin {
// cámara libre
@Inject(method = "update", at = @At("TAIL"))
- private void onUpdateTail(BlockView area, Entity focusedEntity, boolean thirdPerson, boolean inverseView, float tickDelta, CallbackInfo info) {
+ private void onUpdateTail(World area, Entity focusedEntity, boolean thirdPerson, boolean inverseView, float tickProgress, CallbackInfo ci) {
if (freecam.isEnabled())
this.thirdPerson = true;
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java
index feb20e4..b97c329 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ChatHudMixin.java
@@ -1,18 +1,15 @@
package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
-import com.llamalad7.mixinextras.injector.ModifyReceiver;
import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.camtweaks.event.events.ReceiveMessageEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ChatPlus;
+import me.retucio.camtweaks.module.modules.misc.ChatPlus;
import me.retucio.camtweaks.util.interfaces.IChatHud;
import me.retucio.camtweaks.util.interfaces.IChatHudLine;
import me.retucio.camtweaks.util.interfaces.IChatHudLineVisible;
import me.retucio.camtweaks.util.interfaces.IMessageHandler;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.font.TextRenderer;
-import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.hud.ChatHud;
import net.minecraft.client.gui.hud.ChatHudLine;
import net.minecraft.client.gui.hud.MessageIndicator;
@@ -71,12 +68,12 @@ public abstract class ChatHudMixin implements IChatHud {
nextId = 0;
}
- @Inject(method = "addVisibleMessage", at = @At(value = "INVOKE", target = "Ljava/util/List;add(ILjava/lang/Object;)V", shift = At.Shift.AFTER))
+ @Inject(method = "addVisibleMessage", at = @At(value = "INVOKE", target = "Ljava/util/List;addFirst(Ljava/lang/Object;)V", shift = At.Shift.AFTER))
private void onAddMessageAfterNewChatHudLineVisible(ChatHudLine message, CallbackInfo ci) {
((IChatHudLine) (Object) visibleMessages.getFirst()).smegma$setId(nextId);
}
- @Inject(method = "addMessage(Lnet/minecraft/client/gui/hud/ChatHudLine;)V", at = @At(value = "INVOKE", target = "Ljava/util/List;add(ILjava/lang/Object;)V", shift = At.Shift.AFTER))
+ @Inject(method = "addMessage(Lnet/minecraft/client/gui/hud/ChatHudLine;)V", at = @At(value = "INVOKE", target = "Ljava/util/List;addFirst(Ljava/lang/Object;)V", shift = At.Shift.AFTER))
private void onAddMessageAfterNewChatHudLine(ChatHudLine message, CallbackInfo ci) {
((IChatHudLine) (Object) messages.getFirst()).smegma$setId(nextId);
}
@@ -144,23 +141,11 @@ public abstract class ChatHudMixin implements IChatHud {
// cabezas
- @ModifyExpressionValue(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/MathHelper;ceil(F)I"))
+ @ModifyExpressionValue(method = "render(Lnet/minecraft/client/gui/hud/ChatHud$Backend;IIZ)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/MathHelper;ceil(F)I"))
private int onRender_modifyWidth(int width) {
return (chatPlus.isEnabled() && chatPlus.showHeads.isEnabled()) ? width + 10 : width;
}
- @ModifyReceiver(method = "method_71991", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/DrawContext;drawTextWithShadow(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/text/OrderedText;III)V"))
- private DrawContext onRender_beforeDrawTextWithShadow(DrawContext context, TextRenderer textRenderer, OrderedText text, int x, int y, int color, @Local(argsOnly = true) ChatHudLine.Visible line) {
- chatPlus.beforeDrawMessage(context, line, y, color);
- return context;
- }
-
- @Inject(method = "method_71991", at = @At("TAIL"))
- private void onRender_afterDrawTextWithShadow(int i, DrawContext context, float f, int j, int k, int l, ChatHudLine.Visible visible, int m, float g, CallbackInfo info) {
- chatPlus.afterDrawMessage(context);
- }
-
-
// historial (registro) del chat
@@ -181,7 +166,7 @@ public abstract class ChatHudMixin implements IChatHud {
chatPlus.lines.addFirst(list.size());
}
- @Inject(method = "addMessage(Lnet/minecraft/client/gui/hud/ChatHudLine;)V", at = @At(value = "INVOKE", target = "Ljava/util/List;remove(I)Ljava/lang/Object;"))
+ @Inject(method = "addMessage(Lnet/minecraft/client/gui/hud/ChatHudLine;)V", at = @At(value = "INVOKE", target = "Ljava/util/List;removeLast()Ljava/lang/Object;"))
private void onRemoveMessage(ChatHudLine message, CallbackInfo ci) {
int extra = chatPlus.chatHistoryExtraLength.getIntValue();
int size = chatPlus.lines.size();
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java
index 9a27213..72e8ed3 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ChatScreenMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ChatPlus;
+import me.retucio.camtweaks.module.modules.misc.ChatPlus;
import net.minecraft.client.gui.screen.ChatScreen;
import net.minecraft.client.gui.widget.TextFieldWidget;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java
index fde5a83..6df8189 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ChunkBorderDebugRendererMixin.java
@@ -1,18 +1,15 @@
package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
-import me.retucio.camtweaks.CameraTweaks;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.debug.ChunkBorderDebugRenderer;
-import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.ChunkSectionPos;
import net.minecraft.util.math.MathHelper;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(ChunkBorderDebugRenderer.class)
@@ -21,14 +18,16 @@ public abstract class ChunkBorderDebugRendererMixin {
@Shadow @Final
private MinecraftClient client;
- @ModifyExpressionValue(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;getChunkPos()Lnet/minecraft/util/math/ChunkPos;"))
- private ChunkPos getChunkPos(ChunkPos chunkPos) {
+ @ModifyExpressionValue(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/ChunkSectionPos;from(Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/ChunkSectionPos;"))
+ private ChunkSectionPos getChunkPos(ChunkSectionPos chunkPos) {
Freecam freecam = ModuleManager.INSTANCE.getModuleByClass(Freecam.class);
if (!freecam.isEnabled()) return chunkPos;
float delta = client.getRenderTickCounter().getTickProgress(true);
- return new ChunkPos(
+ return ChunkSectionPos.from(
ChunkSectionPos.getSectionCoord(MathHelper.floor(freecam.getX(delta))),
- ChunkSectionPos.getSectionCoord(MathHelper.floor(freecam.getZ(delta))));
+ ChunkSectionPos.getSectionCoord(MathHelper.floor(freecam.getY(delta))),
+ ChunkSectionPos.getSectionCoord(MathHelper.floor(freecam.getZ(delta)))
+ );
}
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java
index 4651ea6..58cc9e5 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ClientCommonNetworkHandlerMixin.java
@@ -3,7 +3,7 @@ package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.mixin.accessor.ConfirmServerResourcePackScreenAccessor;
import me.retucio.camtweaks.mixin.accessor.PackAccessor;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.RPackBypass;
+import me.retucio.camtweaks.module.modules.network.RPackBypass;
import me.retucio.camtweaks.util.interfaces.IConfirmScreen;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java
index fff10cc..4ab20f9 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ClientPlayNetworkHandlerMixin.java
@@ -4,12 +4,11 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException;
import me.retucio.camtweaks.command.CommandManager;
import me.retucio.camtweaks.event.events.SendMessageEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import me.retucio.camtweaks.util.ChatUtil;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.item.ItemStack;
-import net.minecraft.item.Items;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java
index 56b4040..5ab5775 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerEntityMixin.java
@@ -1,19 +1,38 @@
package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
+import com.llamalad7.mixinextras.injector.ModifyReturnValue;
+import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.PortalGUI;
+import me.retucio.camtweaks.module.modules.world.NoMiningInterruptions;
+import me.retucio.camtweaks.module.modules.player.PortalGUI;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.network.ClientPlayerEntity;
+import net.minecraft.util.hit.EntityHitResult;
+import net.minecraft.util.hit.HitResult;
+import org.objectweb.asm.Opcodes;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
@Mixin(ClientPlayerEntity.class)
public abstract class ClientPlayerEntityMixin {
- @ModifyExpressionValue(method = "tickNausea", at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;"))
+ @ModifyExpressionValue(method = "tickNausea", at = @At(value = "FIELD", target = "Lnet/minecraft/client/MinecraftClient;currentScreen:Lnet/minecraft/client/gui/screen/Screen;", opcode = Opcodes.GETFIELD))
private Screen allowScreensInPortals(Screen original) {
if (ModuleManager.INSTANCE.getModuleByClass(PortalGUI.class).isEnabled()) return null;
return original;
}
+
+ @ModifyReturnValue(method = "getCrosshairTarget(FLnet/minecraft/entity/Entity;)Lnet/minecraft/util/hit/HitResult;", at = @At("RETURN"))
+ private static HitResult onGetCrosshairTarget(HitResult original, @Local HitResult hitResult) {
+ NoMiningInterruptions nmi = ModuleManager.INSTANCE.getModuleByClass(NoMiningInterruptions.class);
+ if (original instanceof EntityHitResult ehr) {
+ if (nmi.shouldIgnoreEntity(ehr.getEntity())
+ && hitResult.getType() == HitResult.Type.BLOCK) {
+ return hitResult;
+ }
+ }
+
+ return original;
+ }
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java
index 9968904..43489c9 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ClientPlayerInteractionManagerMixin.java
@@ -1,14 +1,11 @@
package me.retucio.camtweaks.mixin;
-import com.llamalad7.mixinextras.injector.ModifyReturnValue;
-import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.camtweaks.event.events.AttackEntityEvent;
import me.retucio.camtweaks.event.events.BreakBlockEvent;
import me.retucio.camtweaks.event.events.InteractEntityEvent;
import me.retucio.camtweaks.event.events.PlaceBlockEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.util.ChatUtil;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayNetworkHandler;
import net.minecraft.client.network.ClientPlayerEntity;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java
index e897cc2..4c25534 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ClientWorldPropertiesMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.TimeChanger;
+import me.retucio.camtweaks.module.modules.world.TimeChanger;
import net.minecraft.client.world.ClientWorld;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java
index 43f6947..04155bf 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ConfirmScreenMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.RPackBypass;
+import me.retucio.camtweaks.module.modules.network.RPackBypass;
import me.retucio.camtweaks.util.interfaces.IConfirmScreen;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.Screen;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java b/src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java
index 1ce146c..47efdb9 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/DamageParticleMixin.java
@@ -2,15 +2,13 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.CritsPlus;
+import me.retucio.camtweaks.module.modules.render.CritsPlus;
import net.minecraft.client.particle.BillboardParticle;
import net.minecraft.client.particle.DamageParticle;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.ModifyVariable;
-import java.awt.*;
-
@Mixin(DamageParticle.class)
public abstract class DamageParticleMixin {
diff --git a/src/main/java/me/retucio/camtweaks/mixin/DimensionTypeMixin.java b/src/main/java/me/retucio/camtweaks/mixin/DimensionTypeMixin.java
deleted file mode 100644
index 3487f03..0000000
--- a/src/main/java/me/retucio/camtweaks/mixin/DimensionTypeMixin.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package me.retucio.camtweaks.mixin;
-
-import com.llamalad7.mixinextras.injector.ModifyReturnValue;
-import com.llamalad7.mixinextras.sugar.Local;
-import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.TimeChanger;
-import me.retucio.camtweaks.util.ChatUtil;
-import net.minecraft.world.dimension.DimensionType;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.injection.At;
-
-import static me.retucio.camtweaks.CameraTweaks.mc;
-
-@Mixin(DimensionType.class)
-public abstract class DimensionTypeMixin {
-
- // no consigo arreglar lo de que la fase lunar por defecto siempre sea luna llena
- @ModifyReturnValue(method = "getMoonPhase", at = @At("RETURN"))
- private int overrideMoonPhase(int original, @Local(argsOnly = true) long time) {
- TimeChanger timeChanger = ModuleManager.INSTANCE.getModuleByClass(TimeChanger.class);
- if (timeChanger == null || !timeChanger.isEnabled() || mc.world == null) {
- return original;
- }
-
- if (timeChanger.moonPhase.is(TimeChanger.MoonPhases.DEFAULT))
- return (int) (time / 24000L % 8L + 8L) % 8;
-
- return timeChanger.getMoonPhase();
- }
-}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java b/src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java
index 0529758..647b0b5 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/DisconnectedScreenMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Reconnect;
+import me.retucio.camtweaks.module.modules.network.Reconnect;
import net.minecraft.client.gui.screen.DisconnectedScreen;
import net.minecraft.client.gui.widget.ButtonWidget;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java b/src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java
index 94860d1..dab1099 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/EntityMixin.java
@@ -3,7 +3,11 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.event.events.ChangeRotationEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.*;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.camera.Freelook;
+import me.retucio.camtweaks.module.modules.camera.Rotations;
+import me.retucio.camtweaks.module.modules.misc.AntiInvis;
+import me.retucio.camtweaks.module.modules.render.Nametags;
import net.minecraft.entity.*;
import net.minecraft.entity.passive.TameableEntity;
import net.minecraft.entity.player.PlayerEntity;
@@ -31,10 +35,14 @@ public abstract class EntityMixin {
@Shadow private float yaw;
@Shadow private float pitch;
- @Unique Freecam freecam;
- @Unique Freelook freelook;
- @Unique Nametags nametags;
- @Unique Rotations rotations;
+ @Unique
+ Freecam freecam;
+ @Unique
+ Freelook freelook;
+ @Unique
+ Nametags nametags;
+ @Unique
+ Rotations rotations;
@SuppressWarnings("rawtypes")
@Inject(method = "", at = @At("TAIL"))
diff --git a/src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java
index ea48368..32e47e7 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/EquipmentRendererMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.GlintPlus;
+import me.retucio.camtweaks.module.modules.render.GlintPlus;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.entity.equipment.EquipmentRenderer;
import org.spongepowered.asm.mixin.Mixin;
@@ -11,7 +11,7 @@ import org.spongepowered.asm.mixin.injection.Redirect;
@Mixin(EquipmentRenderer.class)
public abstract class EquipmentRendererMixin {
- @Redirect(method = "render(Lnet/minecraft/client/render/entity/equipment/EquipmentModel$LayerType;Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;ILnet/minecraft/util/Identifier;II)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayer;getArmorEntityGlint()Lnet/minecraft/client/render/RenderLayer;"))
+ @Redirect(method = "render(Lnet/minecraft/client/render/entity/equipment/EquipmentModel$LayerType;Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/client/model/Model;Ljava/lang/Object;Lnet/minecraft/item/ItemStack;Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/command/OrderedRenderCommandQueue;ILnet/minecraft/util/Identifier;II)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayers;armorEntityGlint()Lnet/minecraft/client/render/RenderLayer;"))
private RenderLayer redirectArmorEntityGlint() {
GlintPlus glintPlus = ModuleManager.INSTANCE.getModuleByClass(GlintPlus.class);
return glintPlus.getArmorEntityGlint();
diff --git a/src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java
index a27c09c..9b62bc4 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/FogRendererMixin.java
@@ -3,7 +3,7 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.block.enums.CameraSubmersionType;
import net.minecraft.client.render.Camera;
import net.minecraft.client.render.fog.FogModifier;
@@ -28,7 +28,7 @@ public abstract class FogRendererMixin {
noRender = ModuleManager.INSTANCE.getModuleByClass(NoRender.class);
}
- @Redirect(method = "applyFog(Lnet/minecraft/client/render/Camera;IZLnet/minecraft/client/render/RenderTickCounter;FLnet/minecraft/client/world/ClientWorld;)Lorg/joml/Vector4f;", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/fog/FogModifier;shouldApply(Lnet/minecraft/block/enums/CameraSubmersionType;Lnet/minecraft/entity/Entity;)Z"))
+ @Redirect(method = "applyFog(Lnet/minecraft/client/render/Camera;ILnet/minecraft/client/render/RenderTickCounter;FLnet/minecraft/client/world/ClientWorld;)Lorg/joml/Vector4f;", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/fog/FogModifier;shouldApply(Lnet/minecraft/block/enums/CameraSubmersionType;Lnet/minecraft/entity/Entity;)Z"))
private boolean noRenderFogs(FogModifier instance, CameraSubmersionType cameraSubmersionType, Entity entity) {
if (!noRender.isEnabled()) return instance.shouldApply(cameraSubmersionType, entity);
String className = instance.getClass().getSimpleName();
diff --git a/src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java b/src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java
index 9515e5b..fd51ee9 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/GameOptionsMixin.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.event.events.PerspectiveChangeEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
import net.minecraft.client.option.GameOptions;
import net.minecraft.client.option.Perspective;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java
index fbabdff..4dd909b 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/GameRendererMixin.java
@@ -1,13 +1,11 @@
package me.retucio.camtweaks.mixin;
-import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.camtweaks.event.events.GetFOVEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.module.modules.NoMiningInterruptions;
-import me.retucio.camtweaks.module.modules.NoRender;
-import me.retucio.camtweaks.module.modules.Zoom;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.render.NoRender;
+import me.retucio.camtweaks.module.modules.camera.Zoom;
import me.retucio.camtweaks.util.interfaces.IVec3d;
import net.minecraft.client.MinecraftClient;
@@ -17,8 +15,6 @@ import net.minecraft.client.render.block.BlockRenderManager;
import net.minecraft.client.render.item.HeldItemRenderer;
import net.minecraft.entity.Entity;
-import net.minecraft.util.hit.EntityHitResult;
-import net.minecraft.util.hit.HitResult;
import org.joml.Matrix4f;
import org.joml.Vector3d;
@@ -123,15 +119,4 @@ public abstract class GameRendererMixin {
private float noRenderNauseaDistortion(float scaledNauseaEffectFactor) {
return (noRender.isEnabled() && !noRender.nauseaEffect.isEnabled()) ? 0 : scaledNauseaEffectFactor;
}
-
- @ModifyReturnValue(method = "findCrosshairTarget", at = @At("RETURN"))
- private HitResult onTargetEntity(HitResult original, @Local HitResult hitResult) {
- NoMiningInterruptions nmi = ModuleManager.INSTANCE.getModuleByClass(NoMiningInterruptions.class);
-
- Entity entity = original instanceof EntityHitResult result ? result.getEntity() : null;
- if (nmi.shouldIgnoreEntity(entity) && hitResult.getType() == HitResult.Type.BLOCK)
- return hitResult;
-
- return original;
- }
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java b/src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java
index bb53c73..0b666ab 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/HandshakeC2SPacketMixin.java
@@ -5,7 +5,7 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import me.retucio.camtweaks.CameraTweaks;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.BungeecordSpoofer;
+import me.retucio.camtweaks.module.modules.network.BungeecordSpoofer;
import net.minecraft.network.packet.c2s.handshake.ConnectionIntent;
import net.minecraft.network.packet.c2s.handshake.HandshakeC2SPacket;
import org.spongepowered.asm.mixin.*;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java
index c668814..191704a 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/HeldItemRendererMixin.java
@@ -4,15 +4,13 @@ import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.event.events.RenderHeldItemEvent;
import me.retucio.camtweaks.event.events.RenderArmEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.HandView;
+import me.retucio.camtweaks.module.modules.player.HandView;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.item.ItemModelManager;
import net.minecraft.client.network.AbstractClientPlayerEntity;
-import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.command.OrderedRenderCommandQueue;
import net.minecraft.client.render.entity.EntityRenderManager;
import net.minecraft.client.render.item.HeldItemRenderer;
-import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.ItemStack;
@@ -50,7 +48,7 @@ public abstract class HeldItemRendererMixin {
protected abstract boolean shouldSkipHandAnimationOnSwap(ItemStack from, ItemStack to);
@Inject(method = "", at = @At("TAIL"))
- private void getModules(MinecraftClient client, EntityRenderManager entityRenderDispatcher, ItemRenderer itemRenderer, ItemModelManager itemModelManager, CallbackInfo ci) {
+ private void getModules(MinecraftClient client, EntityRenderManager entityRenderDispatcher, ItemModelManager itemModelManager, CallbackInfo ci) {
handView = ModuleManager.INSTANCE.getModuleByClass(HandView.class);
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java b/src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java
index 599e6ea..e1ba41f 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/InGameHudMixin.java
@@ -2,9 +2,9 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ChatPlus;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.misc.ChatPlus;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import me.retucio.camtweaks.ui.hud.HudRenderer;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java
index 06b2709..7d7e25c 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/InGameOverlayRendererMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.hud.InGameOverlayRenderer;
import net.minecraft.client.render.VertexConsumerProvider;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java
index 21fc6c2..49baf66 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ItemEntityMixin.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Nametags;
+import me.retucio.camtweaks.module.modules.render.Nametags;
import net.minecraft.entity.ItemEntity;
import net.minecraft.item.ItemStack;
import net.minecraft.text.MutableText;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java
index 71828c9..82f3499 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ItemMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ShulkerPeek;
+import me.retucio.camtweaks.module.modules.misc.ShulkerPeek;
import net.minecraft.block.ShulkerBoxBlock;
import net.minecraft.component.type.TooltipDisplayComponent;
import net.minecraft.item.BlockItem;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java
index 14d7a57..9d622a5 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ItemRendererMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.GlintPlus;
+import me.retucio.camtweaks.module.modules.render.GlintPlus;
import net.minecraft.client.render.RenderLayer;
import net.minecraft.client.render.item.ItemRenderer;
import org.spongepowered.asm.mixin.Mixin;
@@ -22,12 +22,12 @@ public abstract class ItemRendererMixin {
glintPlus = ModuleManager.INSTANCE.getModuleByClass(GlintPlus.class);
}
- @Redirect(method = "getItemGlintConsumer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayer;getGlint()Lnet/minecraft/client/render/RenderLayer;"))
+ @Redirect(method = "getItemGlintConsumer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayers;glint()Lnet/minecraft/client/render/RenderLayer;"))
private static RenderLayer getGlint() {
return glintPlus.getGlint();
}
- @Redirect(method = "getItemGlintConsumer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayer;getEntityGlint()Lnet/minecraft/client/render/RenderLayer;"))
+ @Redirect(method = "getItemGlintConsumer", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/RenderLayers;entityGlint()Lnet/minecraft/client/render/RenderLayer;"))
private static RenderLayer getEntityGlint() {
return glintPlus.getEntityGlint();
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java b/src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java
index 26ef5c2..08433b7 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/KeyInputMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
import net.minecraft.client.input.Input;
import net.minecraft.client.input.KeyboardInput;
import net.minecraft.util.PlayerInput;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java b/src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java
index 5f19870..36d2870 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/LightmapTextureManagerMixin.java
@@ -4,8 +4,8 @@ import com.llamalad7.mixinextras.sugar.Local;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.textures.GpuTexture;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Fullbright;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.camera.Fullbright;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.render.GameRenderer;
import net.minecraft.client.render.LightmapTextureManager;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java
index 7d2332f..d2f18c5 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/LivingEntityRendererMixin.java
@@ -4,8 +4,8 @@ import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.module.modules.Nametags;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.render.Nametags;
import net.minecraft.client.render.entity.EntityRendererFactory;
import net.minecraft.client.render.entity.LivingEntityRenderer;
import net.minecraft.client.render.entity.model.EntityModel;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java b/src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java
index 90f930e..46f4ea2 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/MinecraftClientMixin.java
@@ -1,7 +1,5 @@
package me.retucio.camtweaks.mixin;
-import com.ibm.icu.util.CodePointTrie;
-import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import com.llamalad7.mixinextras.sugar.Local;
import me.retucio.camtweaks.CameraTweaks;
import me.retucio.camtweaks.event.JoinWorldEvent;
@@ -10,7 +8,7 @@ import me.retucio.camtweaks.event.events.ShutdownEvent;
import me.retucio.camtweaks.event.events.TickEvent;
import me.retucio.camtweaks.event.events.UseItemEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.FastUse;
+import me.retucio.camtweaks.module.modules.player.FastUse;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.world.ClientWorld;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java b/src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java
index 85f42db..380ecb9 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/OverlayTextureMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.DamageOverlay;
+import me.retucio.camtweaks.module.modules.render.DamageOverlay;
import net.minecraft.client.render.OverlayTexture;
import net.minecraft.client.texture.NativeImageBackedTexture;
import org.spongepowered.asm.mixin.Final;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java
index e932db2..e3ec3ce 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ParticleManagerMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.particle.ParticleManager;
import net.minecraft.particle.ParticleEffect;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java b/src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java
index bf4df58..f61f904 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/PlayerEntityMixin.java
@@ -1,8 +1,10 @@
package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
+import me.retucio.camtweaks.CameraTweaks;
+import me.retucio.camtweaks.event.events.ClipAtLedgeEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Nametags;
+import me.retucio.camtweaks.module.modules.render.Nametags;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
@@ -11,6 +13,8 @@ import net.minecraft.util.Formatting;
import net.minecraft.world.World;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(PlayerEntity.class)
public abstract class PlayerEntityMixin extends LivingEntity {
@@ -49,4 +53,11 @@ public abstract class PlayerEntityMixin extends LivingEntity {
return original.copy().append(text);
}
+
+ @Inject(method = "clipAtLedge", at = @At("HEAD"), cancellable = true)
+ private void clipAtLedge(CallbackInfoReturnable cir) {
+ if (!getEntityWorld().isClient()) return;
+ ClipAtLedgeEvent event = CameraTweaks.EVENT_BUS.post(new ClipAtLedgeEvent(isSneaking()));
+ cir.setReturnValue(event.isClipping());
+ }
}
\ No newline at end of file
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java
index 1c47c00..1b2023f 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ResourcePackPolicyMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.RPackBypass;
+import me.retucio.camtweaks.module.modules.network.RPackBypass;
import net.minecraft.client.network.ServerInfo;
import net.minecraft.text.Text;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java
index 9605869..5fc0035 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ScreenshotRecorderMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ScreenshotPlus;
+import me.retucio.camtweaks.module.modules.misc.ScreenshotPlus;
import net.minecraft.client.texture.NativeImage;
import net.minecraft.client.util.ScreenshotRecorder;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java
index 59cdf07..b614e9e 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ServerConnectorMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.RPackBypass;
+import me.retucio.camtweaks.module.modules.network.RPackBypass;
import net.minecraft.client.network.ServerInfo;
import net.minecraft.client.resource.server.ServerResourcePackManager;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java b/src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java
index ca36a93..121c049 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/ServerInfoMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.RPackBypass;
+import me.retucio.camtweaks.module.modules.network.RPackBypass;
import net.minecraft.client.network.ServerInfo;
import net.minecraft.nbt.NbtCompound;
import org.spongepowered.asm.mixin.Mixin;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java
index dba3c65..a8146d6 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/SkyRendererMixin.java
@@ -1,20 +1,17 @@
package me.retucio.camtweaks.mixin;
-import com.mojang.blaze3d.buffers.GpuBuffer;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
-import me.retucio.camtweaks.module.modules.PerspectivePlus;
-import me.retucio.camtweaks.module.modules.TimeChanger;
-import me.retucio.camtweaks.util.ChatUtil;
+import me.retucio.camtweaks.module.modules.render.NoRender;
+import me.retucio.camtweaks.module.modules.world.TimeChanger;
import net.minecraft.client.render.SkyRendering;
-import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.util.math.MatrixStack;
+import net.minecraft.world.MoonPhase;
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.ModifyArg;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(SkyRendering.class)
public abstract class SkyRendererMixin {
@@ -33,8 +30,17 @@ public abstract class SkyRendererMixin {
}
@Inject(method = "renderMoon", at = @At("HEAD"), cancellable = true)
- private void onRenderMoon(int phase, float alpha, MatrixStack matrixStack, CallbackInfo ci) {
- if (timeChanger.isEnabled() && !timeChanger.renderMoon.isEnabled()) ci.cancel();
+ private void onRenderMoon(MoonPhase moonPhase, float alpha, MatrixStack matrices, CallbackInfo ci) {
+ if (!timeChanger.isEnabled()) return;
+ if (!timeChanger.renderMoon.isEnabled()) ci.cancel();
+ }
+
+ @ModifyArg(method = "renderCelestialBodies", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/SkyRendering;renderMoon(Lnet/minecraft/world/MoonPhase;FLnet/minecraft/client/util/math/MatrixStack;)V"))
+ private MoonPhase timeChangerMoonPhase(MoonPhase original) {
+ if (!timeChanger.isEnabled() || timeChanger.moonPhase.is(TimeChanger.MoonPhases.DEFAULT)) return original;
+ int phase = timeChanger.moonPhase.getIndex();
+ if (timeChanger.moonPhase.is(TimeChanger.MoonPhases.DEFAULT)) phase = original.getIndex();
+ return MoonPhase.values()[phase];
}
@Inject(method = "renderStars", at = @At("HEAD"), cancellable = true)
diff --git a/src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java b/src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java
index ce159ef..fd0e50c 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/StatusEffectFogModifierMixin.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.render.fog.StatusEffectFogModifier;
import net.minecraft.entity.effect.StatusEffect;
import net.minecraft.entity.effect.StatusEffects;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java b/src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java
index 3a130b7..b191f50 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/StringHelperMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.ChatPlus;
+import me.retucio.camtweaks.module.modules.misc.ChatPlus;
import net.minecraft.util.StringHelper;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java
index 51f0864..1e71ae9 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/StuckArrowsFeatureRendererMixin.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.render.entity.feature.StuckArrowsFeatureRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java b/src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java
index a1cdcfc..a8df198 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/TextRendererDrawerMixin.java
@@ -1,22 +1,15 @@
package me.retucio.camtweaks.mixin;
-import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
-import com.llamalad7.mixinextras.injector.ModifyReturnValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
-import net.minecraft.client.font.BakedGlyph;
-import net.minecraft.client.font.GlyphProvider;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.font.TextRenderer;
import net.minecraft.text.Style;
import net.minecraft.text.TextColor;
-import net.minecraft.util.math.MathHelper;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.*;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import static me.retucio.camtweaks.CameraTweaks.mc;
-
// falta italics pero no sé dónde se comprueba eso, no es aquí :P
@Mixin(TextRenderer.Drawer.class)
public abstract class TextRendererDrawerMixin {
@@ -24,8 +17,8 @@ public abstract class TextRendererDrawerMixin {
@Unique
NoRender noRender;
- @Inject(method = "(Lnet/minecraft/client/font/TextRenderer;FFIIZ)V", at = @At("TAIL"))
- private void getModules(TextRenderer textRenderer, float x, float y, int color, int backgroundColor, boolean shadow, CallbackInfo ci) {
+ @Inject(method = "(Lnet/minecraft/client/font/TextRenderer;FFIIZZ)V", at = @At("TAIL"))
+ private void getModules(TextRenderer textRenderer, float x, float y, int color, int backgroundColor, boolean shadow, boolean trackEmpty, CallbackInfo ci) {
noRender = ModuleManager.INSTANCE.getModuleByClass(NoRender.class);
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java
index ef779bc..5f74056 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/TextRendererMixin.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.mixin;
import com.llamalad7.mixinextras.injector.ModifyExpressionValue;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.font.TextRenderer;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
diff --git a/src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java b/src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java
index 30a5e47..06628e3 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/WeatherRenderingMixin.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.mixin;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.NoRender;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.render.Camera;
import net.minecraft.client.render.VertexConsumerProvider;
import net.minecraft.client.render.WeatherRendering;
@@ -15,8 +15,6 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-import java.util.List;
-
@Mixin(WeatherRendering.class)
public abstract class WeatherRenderingMixin {
@@ -30,7 +28,7 @@ public abstract class WeatherRenderingMixin {
}
@Inject(method = "addParticlesAndSound", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/world/ClientWorld;addParticleClient(Lnet/minecraft/particle/ParticleEffect;DDDDDD)V"), cancellable = true)
- private void noRainParticles(ClientWorld world, Camera camera, int ticks, ParticlesMode particlesMode, CallbackInfo ci) {
+ private void noRainParticles(ClientWorld world, Camera camera, int ticks, ParticlesMode particlesMode, int weatherRadius, CallbackInfo ci) {
if (noRender.isEnabled() && !noRender.rain.isEnabled()) ci.cancel();
}
diff --git a/src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java b/src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java
index d2c825b..0b5f154 100644
--- a/src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java
+++ b/src/main/java/me/retucio/camtweaks/mixin/WorldRendererMixin.java
@@ -5,19 +5,15 @@ import com.mojang.blaze3d.buffers.GpuBufferSlice;
import me.retucio.camtweaks.CameraTweaks;
import me.retucio.camtweaks.event.events.RenderWorldEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.BlockOutline;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.module.modules.NoRender;
-import me.retucio.camtweaks.util.Colors;
-import net.minecraft.client.MinecraftClient;
+import me.retucio.camtweaks.module.modules.render.BlockOutline;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.render.NoRender;
import net.minecraft.client.render.*;
import net.minecraft.client.render.state.WorldRenderState;
import net.minecraft.client.util.ObjectAllocator;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.util.math.ColorHelper;
-import net.minecraft.util.math.Direction;
import net.minecraft.util.math.RotationAxis;
-import net.minecraft.util.math.Vec3d;
import net.minecraft.util.profiler.Profiler;
import org.joml.Matrix4f;
import org.joml.Vector4f;
@@ -29,15 +25,13 @@ import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
-import java.awt.*;
-
import static me.retucio.camtweaks.CameraTweaks.EVENT_BUS;
import static me.retucio.camtweaks.CameraTweaks.mc;
@Mixin(WorldRenderer.class)
public abstract class WorldRendererMixin {
- @ModifyArg(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;method_74752(Lnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/Frustum;Z)V"), index = 2)
+ @ModifyArg(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/render/WorldRenderer;updateCamera(Lnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/Frustum;Z)V"), index = 2)
private boolean renderSetupTerrainModifyArg(boolean spectator) {
return ModuleManager.INSTANCE.getModuleByClass(Freecam.class).isEnabled() || spectator;
}
@@ -72,10 +66,10 @@ public abstract class WorldRendererMixin {
if (!noRender.blindnessEffect.isEnabled() || !noRender.darknessEffect.isEnabled()) cir.setReturnValue(null);
}
- @Redirect(method = "renderTargetBlockOutline", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/ColorHelper;withAlpha(II)I"))
- private int modifyBlockOutlineColor(int alpha, int rgb) {
+ @Redirect(method = "renderTargetBlockOutline", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/math/ColorHelper;toAlpha(I)I"))
+ private int modifyBlockOutlineColor(int alpha) {
BlockOutline outline = ModuleManager.INSTANCE.getModuleByClass(BlockOutline.class);
- if (!outline.isEnabled()) return ColorHelper.withAlpha(alpha, rgb);
+ if (!outline.isEnabled()) return ColorHelper.toAlpha(alpha);
return outline.color.getRGB();
}
diff --git a/src/main/java/me/retucio/camtweaks/module/Category.java b/src/main/java/me/retucio/camtweaks/module/Category.java
new file mode 100644
index 0000000..0093693
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/module/Category.java
@@ -0,0 +1,19 @@
+package me.retucio.camtweaks.module;
+
+public enum Category {
+
+ PLAYER("jugador"),
+ WORLD("mundo"),
+
+ CAMERA("cámara"),
+ RENDER("renderizado"),
+
+ NETWORK("red"),
+
+ CLIENT("cliente"),
+ MISC("misc.");
+
+ private final String name;
+ Category(String name) { this.name = name; }
+ @Override public String toString() { return name; }
+}
diff --git a/src/main/java/me/retucio/camtweaks/module/Module.java b/src/main/java/me/retucio/camtweaks/module/Module.java
index dee514d..7be92c1 100644
--- a/src/main/java/me/retucio/camtweaks/module/Module.java
+++ b/src/main/java/me/retucio/camtweaks/module/Module.java
@@ -23,6 +23,8 @@ public class Module {
// atributos
private String name;
private String description;
+ private Category category;
+
private boolean enabled;
private boolean saveSettings = true;
private boolean searchMatch = true;
@@ -36,20 +38,23 @@ public class Module {
protected MinecraftClient mc = MinecraftClient.getInstance();
- public Module(String name, String description) {
+ public Module(String name, String description, Category category) {
this.name = name;
this.description = description;
+ this.category = category;
addSettings(bind, keyMode, notify);
}
- public Module(String name, String description, int key) {
+ public Module(String name, String description, Category category, int key) {
this.name = name;
this.description = description;
+ this.category = category;
addSettings(bind, keyMode, notify);
this.bind.setDefaultKey(key);
// puto marcos
- if (ConfigManager.getConfig().settings.get(this.getName() + ":" + bind.getName()) == null)
+ if (ConfigManager.getConfig().settings
+ .get(this.getName() + ":" + bind.getName()) == null)
this.bind.setKey(key);
}
@@ -115,6 +120,14 @@ public class Module {
this.description = description;
}
+ public Category getCategory() {
+ return category;
+ }
+
+ public void setCategory(Category category) {
+ this.category = category;
+ }
+
public boolean isEnabled() {
return enabled;
}
diff --git a/src/main/java/me/retucio/camtweaks/module/ModuleManager.java b/src/main/java/me/retucio/camtweaks/module/ModuleManager.java
index 795a83d..a4abe41 100644
--- a/src/main/java/me/retucio/camtweaks/module/ModuleManager.java
+++ b/src/main/java/me/retucio/camtweaks/module/ModuleManager.java
@@ -1,9 +1,15 @@
package me.retucio.camtweaks.module;
import me.retucio.camtweaks.CameraTweaks;
-import me.retucio.camtweaks.event.EventBus;
import me.retucio.camtweaks.event.SubscribeEvent;
-import me.retucio.camtweaks.module.modules.*;
+import me.retucio.camtweaks.module.modules.camera.*;
+import me.retucio.camtweaks.module.modules.client.HUD;
+import me.retucio.camtweaks.module.modules.misc.*;
+import me.retucio.camtweaks.module.modules.network.*;
+import me.retucio.camtweaks.module.modules.player.*;
+import me.retucio.camtweaks.module.modules.render.*;
+import me.retucio.camtweaks.module.modules.render.CritsPlus;
+import me.retucio.camtweaks.module.modules.world.*;
import java.lang.reflect.Method;
import java.util.ArrayList;
@@ -60,6 +66,7 @@ public class ModuleManager {
modules.add(new Reconnect());
modules.add(new Rotations());
modules.add(new RPackBypass());
+ modules.add(new SafeWalk());
modules.add(new ScreenshotPlus());
modules.add(new ShulkerPeek());
modules.add(new TimeChanger());
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/AntiInvis.java b/src/main/java/me/retucio/camtweaks/module/modules/AntiInvis.java
deleted file mode 100644
index e46c211..0000000
--- a/src/main/java/me/retucio/camtweaks/module/modules/AntiInvis.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package me.retucio.camtweaks.module.modules;
-
-import me.retucio.camtweaks.module.Module;
-
-/** continúa en:
- * @see me.retucio.camtweaks.mixin.EntityMixin
- */
-
-public class AntiInvis extends Module {
-
- public AntiInvis() {
- super("anti invis", "te permite ver a los jugadores invisibles");
- }
-}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Headhitters.java b/src/main/java/me/retucio/camtweaks/module/modules/Headhitters.java
deleted file mode 100644
index a9338ad..0000000
--- a/src/main/java/me/retucio/camtweaks/module/modules/Headhitters.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package me.retucio.camtweaks.module.modules;
-
-import me.retucio.camtweaks.module.Module;
-
-public class Headhitters extends Module {
-
- public Headhitters() {
- super("headhitters", "mantén pulsado el espacio para hacer headhitting sin tener que espamearlo");
- }
-
- @Override
- public void onTick() {
- if (mc.player == null) return;
- mc.player.jumpingCooldown = 0;
- }
-}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/NoMiningInterruptions.java b/src/main/java/me/retucio/camtweaks/module/modules/NoMiningInterruptions.java
deleted file mode 100644
index de688ff..0000000
--- a/src/main/java/me/retucio/camtweaks/module/modules/NoMiningInterruptions.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package me.retucio.camtweaks.module.modules;
-
-import me.retucio.camtweaks.module.Module;
-import me.retucio.camtweaks.module.settings.BooleanSetting;
-import net.minecraft.entity.Entity;
-import net.minecraft.registry.tag.ItemTags;
-
-public class NoMiningInterruptions extends Module {
-
- public BooleanSetting withPickaxeOnly = addSetting(new BooleanSetting("solo con pico", "ignorar entidades solamente cuando se sujeta un pico", false));
-
- public NoMiningInterruptions() {
- super("minar sin interrupción", "te permite minar bloques a través de entidades");
- }
-
- public boolean shouldIgnoreEntity(Entity entity) {
- if (entity == null || !this.isEnabled()) return false;
- if (withPickaxeOnly.isEnabled())
- return (mc.player.getMainHandStack().isIn(ItemTags.PICKAXES) || mc.player.getOffHandStack().isIn(ItemTags.PICKAXES));
- return true;
- }
-
-
-}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/PortalGUI.java b/src/main/java/me/retucio/camtweaks/module/modules/PortalGUI.java
deleted file mode 100644
index 7cc0344..0000000
--- a/src/main/java/me/retucio/camtweaks/module/modules/PortalGUI.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package me.retucio.camtweaks.module.modules;
-
-import me.retucio.camtweaks.module.Module;
-
-/** continúa en:
- * @see me.retucio.camtweaks.mixin.ClientPlayerEntityMixin
- */
-
-public class PortalGUI extends Module {
-
- public PortalGUI() {
- super("interfaz en portales", "te permite abrir interfaces dentro de portales, como el chat o el inventario");
- }
-}
\ No newline at end of file
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Freecam.java b/src/main/java/me/retucio/camtweaks/module/modules/camera/Freecam.java
similarity index 97%
rename from src/main/java/me/retucio/camtweaks/module/modules/Freecam.java
rename to src/main/java/me/retucio/camtweaks/module/modules/camera/Freecam.java
index d6f397f..988f72f 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Freecam.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/camera/Freecam.java
@@ -1,8 +1,9 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.camera;
import me.retucio.camtweaks.event.Stage;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.*;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.KeySetting;
@@ -69,7 +70,11 @@ public class Freecam extends Module {
private float yaw, pitch;
public Freecam() {
- super("cámara libre", "permite a la cámara moverse independientemente del jugador. útil para explorar alrededores", GLFW.GLFW_KEY_V);
+ super("cámara libre",
+ "permite a la cámara moverse independientemente del jugador. útil para explorar alrededores",
+ Category.CAMERA,
+ GLFW.GLFW_KEY_V);
+
speedSetting.onUpdate(newSpeed -> speed = newSpeed);
}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Freelook.java b/src/main/java/me/retucio/camtweaks/module/modules/camera/Freelook.java
similarity index 92%
rename from src/main/java/me/retucio/camtweaks/module/modules/Freelook.java
rename to src/main/java/me/retucio/camtweaks/module/modules/camera/Freelook.java
index 7c35fa4..48ffb52 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Freelook.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/camera/Freelook.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.camera;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -29,7 +30,10 @@ public class Freelook extends Module {
private Perspective prevPerspective;
public Freelook() {
- super("perspectiva libre", "te permite mover la cámara de la perspectiva sin mover la del jugador, o vice versa", GLFW.GLFW_KEY_B);
+ super("perspectiva libre",
+ "te permite mover la cámara de la perspectiva sin mover la del jugador, o vice versa",
+ Category.CAMERA,
+ GLFW.GLFW_KEY_B);
keyMode.setDefaultValue(KeyModes.HOLD);
keyMode.setValue(KeyModes.HOLD);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Fullbright.java b/src/main/java/me/retucio/camtweaks/module/modules/camera/Fullbright.java
similarity index 90%
rename from src/main/java/me/retucio/camtweaks/module/modules/Fullbright.java
rename to src/main/java/me/retucio/camtweaks/module/modules/camera/Fullbright.java
index ee18c74..142b3c6 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Fullbright.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/camera/Fullbright.java
@@ -1,10 +1,10 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.camera;
import me.retucio.camtweaks.mixin.accessor.StatusEffectInstanceAccessor;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.ColorSetting;
import me.retucio.camtweaks.module.settings.EnumSetting;
-import me.retucio.camtweaks.module.settings.NumberSetting;
import net.minecraft.entity.effect.StatusEffectInstance;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.Registries;
@@ -23,7 +23,10 @@ public class Fullbright extends Module {
public ColorSetting color = addSetting(new ColorSetting("filtro", "filtro de color", new Color(255, 255, 255, 255), false));
public Fullbright() {
- super("brilli brilli", "deshabilita la oscuridad (y aplica colores a los shaders)", GLFW.GLFW_KEY_K);
+ super("brilli brilli",
+ "deshabilita la oscuridad (y aplica colores a los shaders)",
+ Category.CAMERA,
+ GLFW.GLFW_KEY_K);
mode.onUpdate(mode -> { if (mode != Modes.POTION) disableNightVision(); });
mode.onUpdate(mode -> {
boolean v = mode.equals(Modes.GAMMA);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/PerspectivePlus.java b/src/main/java/me/retucio/camtweaks/module/modules/camera/PerspectivePlus.java
similarity index 89%
rename from src/main/java/me/retucio/camtweaks/module/modules/PerspectivePlus.java
rename to src/main/java/me/retucio/camtweaks/module/modules/camera/PerspectivePlus.java
index 59a2a8c..4d7005c 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/PerspectivePlus.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/camera/PerspectivePlus.java
@@ -1,8 +1,9 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.camera;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.MouseScrollEvent;
import me.retucio.camtweaks.event.events.PerspectiveChangeEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.*;
import me.retucio.camtweaks.util.KeyUtil;
@@ -28,7 +29,9 @@ public class PerspectivePlus extends Module {
public KeySetting scrollKey = addSetting(new KeySetting("tecla del scroll", "qué tecla mantener para usar la rueda del ratón", GLFW.GLFW_KEY_LEFT_ALT));
public PerspectivePlus() {
- super("perspectiva plus", "añade cositas chulas al cambio de perspectiva");
+ super("perspectiva plus",
+ "añade cositas chulas al cambio de perspectiva",
+ Category.CAMERA);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Rotations.java b/src/main/java/me/retucio/camtweaks/module/modules/camera/Rotations.java
similarity index 88%
rename from src/main/java/me/retucio/camtweaks/module/modules/Rotations.java
rename to src/main/java/me/retucio/camtweaks/module/modules/camera/Rotations.java
index ca4c50e..a5de9c4 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Rotations.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/camera/Rotations.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.camera;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.ChangeRotationEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -16,7 +17,9 @@ public class Rotations extends Module {
public BooleanSetting serverSide = addSetting(new BooleanSetting("serverside", "espamea paquetes de rotación al servidor", false));
public Rotations() {
- super("rotaciones", "te permite forzar una rotación específica");
+ super("rotaciones",
+ "te permite forzar una rotación específica",
+ Category.CAMERA);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Zoom.java b/src/main/java/me/retucio/camtweaks/module/modules/camera/Zoom.java
similarity index 94%
rename from src/main/java/me/retucio/camtweaks/module/modules/Zoom.java
rename to src/main/java/me/retucio/camtweaks/module/modules/camera/Zoom.java
index ebeed93..680ed9d 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Zoom.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/camera/Zoom.java
@@ -1,8 +1,9 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.camera;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.GetFOVEvent;
import me.retucio.camtweaks.event.events.MouseScrollEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.KeySetting;
@@ -36,7 +37,10 @@ public class Zoom extends Module {
private double value;
public Zoom() {
- super("zoom", "lupa", GLFW.GLFW_KEY_F);
+ super("zoom",
+ "lupa",
+ Category.CAMERA,
+ GLFW.GLFW_KEY_F);
keyMode.setDefaultValue(KeyModes.HOLD);
keyMode.setValue(KeyModes.HOLD);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/GUI.java b/src/main/java/me/retucio/camtweaks/module/modules/client/GUI.java
similarity index 92%
rename from src/main/java/me/retucio/camtweaks/module/modules/GUI.java
rename to src/main/java/me/retucio/camtweaks/module/modules/client/GUI.java
index ed693b1..53ae1d6 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/GUI.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/client/GUI.java
@@ -1,4 +1,4 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.client;
import me.retucio.camtweaks.CameraTweaks;
import me.retucio.camtweaks.command.CommandManager;
@@ -6,8 +6,10 @@ import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.TickEvent;
import me.retucio.camtweaks.event.events.camtweaks.LoadClickGUIEvent;
import me.retucio.camtweaks.event.events.camtweaks.LoadCommandManagerEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.ModuleManager;
+import me.retucio.camtweaks.module.modules.misc.ChatPlus;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -42,7 +44,10 @@ public class GUI extends Module {
public BooleanSetting multipleKeybinds = addSetting(new BooleanSetting("teclas multimódulo", "permitir asignar la misma tecla a más de un módulo", false));
public GUI() {
- super("interfaz", "ajustes de la interfaz, y otros misceláneos", GLFW.GLFW_KEY_RIGHT_SHIFT);
+ super("interfaz",
+ "ajustes de la interfaz, y otros misceláneos",
+ Category.CLIENT,
+ GLFW.GLFW_KEY_RIGHT_SHIFT);
CameraTweaks.EVENT_BUS.register(this);
keyMode.setVisible(false);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/HUD.java b/src/main/java/me/retucio/camtweaks/module/modules/client/HUD.java
similarity index 89%
rename from src/main/java/me/retucio/camtweaks/module/modules/HUD.java
rename to src/main/java/me/retucio/camtweaks/module/modules/client/HUD.java
index c4b246e..b844e27 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/HUD.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/client/HUD.java
@@ -1,8 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.client;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.*;
-import me.retucio.camtweaks.ui.hud.CoordsElement;
import me.retucio.camtweaks.ui.hud.HudElement;
import me.retucio.camtweaks.ui.hud.HudRenderer;
import me.retucio.camtweaks.ui.hud.HudEditorScreen;
@@ -34,7 +34,11 @@ public class HUD extends Module {
public EnumSetting coordsMode = addSetting(new EnumSetting<>("modo de coordenadas", "qué coordenadas mostrar", CoordsMode.class, CoordsMode.OVERWORLD));
public HUD() {
- super("HUD", "superposición de la pantalla con info. adicional");
+ super("HUD",
+ "superposición de la pantalla con info. adicional",
+ Category.CLIENT,
+ GLFW.GLFW_KEY_F12
+ );
}
public enum TimeFormat {
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/misc/AntiInvis.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/AntiInvis.java
new file mode 100644
index 0000000..a7d1cac
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/AntiInvis.java
@@ -0,0 +1,17 @@
+package me.retucio.camtweaks.module.modules.misc;
+
+import me.retucio.camtweaks.module.Category;
+import me.retucio.camtweaks.module.Module;
+
+/** continúa en:
+ * @see me.retucio.camtweaks.mixin.EntityMixin
+ */
+
+public class AntiInvis extends Module {
+
+ public AntiInvis() {
+ super("anti invis",
+ "te permite ver a los jugadores invisibles",
+ Category.MISC);
+ }
+}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/AnvilFont.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/AnvilFont.java
similarity index 95%
rename from src/main/java/me/retucio/camtweaks/module/modules/AnvilFont.java
rename to src/main/java/me/retucio/camtweaks/module/modules/misc/AnvilFont.java
index c82051a..d3d7002 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/AnvilFont.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/AnvilFont.java
@@ -1,12 +1,13 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.misc;
import me.retucio.camtweaks.mixin.accessor.AnvilScreenAccessor;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.EnumSetting;
import net.minecraft.client.gui.screen.ingame.AnvilScreen;
import net.minecraft.client.gui.widget.TextFieldWidget;
-import me.retucio.camtweaks.module.modules.AnvilFont.CustomFont.CharMap;
+import me.retucio.camtweaks.module.modules.misc.AnvilFont.CustomFont.CharMap;
import java.util.Arrays;
import java.util.HashMap;
@@ -66,7 +67,9 @@ public class AnvilFont extends Module {
);
public AnvilFont() {
- super("yunques con pluma", "te permite tipografías distintas al renombrar items en un yunque");
+ super("yunques con pluma",
+ "te permite tipografías distintas al renombrar items en un yunque",
+ Category.MISC);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/BossbarStack.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/BossbarStack.java
similarity index 90%
rename from src/main/java/me/retucio/camtweaks/module/modules/BossbarStack.java
rename to src/main/java/me/retucio/camtweaks/module/modules/misc/BossbarStack.java
index 799e162..dfecf6f 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/BossbarStack.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/BossbarStack.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.misc;
import me.retucio.camtweaks.event.events.RenderBossbarEvent;
import me.retucio.camtweaks.event.SubscribeEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -22,7 +23,9 @@ public class BossbarStack extends Module {
private final Map bossBarMap = new WeakHashMap<>();
public BossbarStack() {
- super("apilar bossbars", "apila bossbars para reducir el espacio que ocupan en pantalla");
+ super("apilar bossbars",
+ "apila bossbars para reducir el espacio que ocupan en pantalla",
+ Category.MISC);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/ChatPlus.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/ChatPlus.java
similarity index 98%
rename from src/main/java/me/retucio/camtweaks/module/modules/ChatPlus.java
rename to src/main/java/me/retucio/camtweaks/module/modules/misc/ChatPlus.java
index 9a957cb..904483b 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/ChatPlus.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/ChatPlus.java
@@ -1,4 +1,4 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.misc;
import com.mojang.authlib.GameProfile;
import it.unimi.dsi.fastutil.ints.IntArrayList;
@@ -9,6 +9,7 @@ import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.ClientClickEvent;
import me.retucio.camtweaks.event.events.ReceiveMessageEvent;
import me.retucio.camtweaks.event.events.SendMessageEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -55,7 +56,9 @@ public class ChatPlus extends Module {
0, 0, 1000, 1));
public ChatPlus() {
- super("chat plus", "mejoras para el chat");
+ super("chat plus",
+ "mejoras para el chat",
+ Category.MISC);
updateDateFormat();
updateClientName();
timestamps.onUpdate(v -> timestampSecs.setVisible(v));
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/FakePlayer.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/FakePlayer.java
similarity index 87%
rename from src/main/java/me/retucio/camtweaks/module/modules/FakePlayer.java
rename to src/main/java/me/retucio/camtweaks/module/modules/misc/FakePlayer.java
index 82cee19..2ff2d38 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/FakePlayer.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/FakePlayer.java
@@ -1,6 +1,7 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.misc;
import com.mojang.authlib.GameProfile;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.StringSetting;
import net.minecraft.client.network.OtherClientPlayerEntity;
@@ -16,7 +17,9 @@ public class FakePlayer extends Module {
private OtherClientPlayerEntity player = null;
public FakePlayer() {
- super("jugador falso", "invoca una entidad de jugador falsa por motivos de testeo");
+ super("jugador falso",
+ "invoca una entidad de jugador falsa por motivos de testeo",
+ Category.MISC);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/ScreenshotPlus.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/ScreenshotPlus.java
similarity index 97%
rename from src/main/java/me/retucio/camtweaks/module/modules/ScreenshotPlus.java
rename to src/main/java/me/retucio/camtweaks/module/modules/misc/ScreenshotPlus.java
index 4bbad22..710e2bb 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/ScreenshotPlus.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/ScreenshotPlus.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.misc;
import me.retucio.camtweaks.command.CommandManager;
import me.retucio.camtweaks.event.events.ClientClickEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.EnumSetting;
@@ -41,7 +42,9 @@ public class ScreenshotPlus extends Module {
private File screenshotFile;
public ScreenshotPlus() {
- super("capturas de pantalla", "elige qué hacer tras tomar una captura de pantalla");
+ super("capturas de pantalla",
+ "elige qué hacer tras tomar una captura de pantalla",
+ Category.MISC);
}
public void sendScreenshotMessage() {
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/ShulkerPeek.java b/src/main/java/me/retucio/camtweaks/module/modules/misc/ShulkerPeek.java
similarity index 94%
rename from src/main/java/me/retucio/camtweaks/module/modules/ShulkerPeek.java
rename to src/main/java/me/retucio/camtweaks/module/modules/misc/ShulkerPeek.java
index 419bf21..654cdb3 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/ShulkerPeek.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/misc/ShulkerPeek.java
@@ -1,8 +1,9 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.misc;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.KeyEvent;
import me.retucio.camtweaks.mixin.accessor.HandledScreenAccessor;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.KeySetting;
@@ -11,9 +12,7 @@ import me.retucio.camtweaks.util.ChatUtil;
import me.retucio.camtweaks.util.Colors;
import me.retucio.camtweaks.util.InventoryUtil;
-import me.retucio.camtweaks.util.MiscUtil;
import net.minecraft.block.ShulkerBoxBlock;
-import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.screen.ingame.HandledScreen;
import net.minecraft.component.DataComponentTypes;
import net.minecraft.component.type.ContainerComponent;
@@ -21,7 +20,6 @@ import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
-import net.minecraft.screen.slot.Slot;
import org.lwjgl.glfw.GLFW;
@@ -37,7 +35,9 @@ public class ShulkerPeek extends Module {
public static final HashMap- SHULKER_COLORS = new HashMap<>();
public ShulkerPeek() {
- super("prev. de shulkers", "te permite previsualizar el contenido de shulkers desde el inventario");
+ super("prev. de shulkers",
+ "te permite previsualizar el contenido de shulkers desde el inventario",
+ Category.MISC);
// colores y tal (https://github.com/kgriff0n/shulker-preview)
SHULKER_COLORS.put(Items.SHULKER_BOX, Colors.LAVENDER);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/BungeecordSpoofer.java b/src/main/java/me/retucio/camtweaks/module/modules/network/BungeecordSpoofer.java
similarity index 69%
rename from src/main/java/me/retucio/camtweaks/module/modules/BungeecordSpoofer.java
rename to src/main/java/me/retucio/camtweaks/module/modules/network/BungeecordSpoofer.java
index 70399b7..f383b47 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/BungeecordSpoofer.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/network/BungeecordSpoofer.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.network;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.StringSetting;
import me.retucio.camtweaks.util.ChatUtil;
@@ -9,7 +10,9 @@ public class BungeecordSpoofer extends Module {
public StringSetting address = addSetting(new StringSetting("dirección", "la dirección IP que será enviada al server", "127.0.0.1", 15));
public BungeecordSpoofer() {
- super("spoofer de bungeecord", "te permite conectarte a los servidores backend de un server bungeecord mal configurado");
+ super("spoofer de bungeecord",
+ "te permite conectarte a los servidores backend de un server bungeecord mal configurado",
+ Category.NETWORK);
address.onUpdate(text -> {
if (!text.matches("^[0-9a-f\\\\.:]{0,45}$")) {
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/LogoutSpots.java b/src/main/java/me/retucio/camtweaks/module/modules/network/LogoutSpots.java
similarity index 96%
rename from src/main/java/me/retucio/camtweaks/module/modules/LogoutSpots.java
rename to src/main/java/me/retucio/camtweaks/module/modules/network/LogoutSpots.java
index f89ee8d..7ac1ef3 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/LogoutSpots.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/network/LogoutSpots.java
@@ -1,14 +1,14 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.network;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.AddEntityEvent;
import me.retucio.camtweaks.event.events.RenderWorldEvent;
-import me.retucio.camtweaks.event.events.TickEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.ModuleManager;
+import me.retucio.camtweaks.module.modules.misc.FakePlayer;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
-import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
import me.retucio.camtweaks.util.MiscUtil;
import me.retucio.camtweaks.util.render.RenderUtil;
@@ -21,10 +21,6 @@ import net.minecraft.util.math.Box;
import net.minecraft.world.dimension.DimensionType;
import java.awt.*;
-import java.time.Instant;
-import java.time.LocalTime;
-import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
@@ -52,7 +48,9 @@ public class LogoutSpots extends Module {
private DimensionType lastDimension;
public LogoutSpots() {
- super("puntos de desconexión", "te muestra los puntos donde otros jugadores se desconectan");
+ super("puntos de desconexión",
+ "te muestra los puntos donde otros jugadores se desconectan",
+ Category.NETWORK);
outlines.onUpdate(v -> {
outlineColor.setVisible(v);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/PacketDelay.java b/src/main/java/me/retucio/camtweaks/module/modules/network/PacketDelay.java
similarity index 94%
rename from src/main/java/me/retucio/camtweaks/module/modules/PacketDelay.java
rename to src/main/java/me/retucio/camtweaks/module/modules/network/PacketDelay.java
index aae2408..0c40f29 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/PacketDelay.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/network/PacketDelay.java
@@ -1,9 +1,9 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.network;
import me.retucio.camtweaks.event.JoinWorldEvent;
import me.retucio.camtweaks.event.SubscribeEvent;
-import me.retucio.camtweaks.event.events.DisconnectEvent;
import me.retucio.camtweaks.event.events.PacketEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -12,9 +12,7 @@ import me.retucio.camtweaks.util.NetworkUtil;
import net.minecraft.network.ClientConnection;
import net.minecraft.network.listener.PacketListener;
-import net.minecraft.network.message.SentMessage;
import net.minecraft.network.packet.Packet;
-import net.minecraft.network.packet.c2s.common.CustomPayloadC2SPacket;
import net.minecraft.network.packet.c2s.common.KeepAliveC2SPacket;
import net.minecraft.network.packet.s2c.common.KeepAliveS2CPacket;
@@ -34,7 +32,9 @@ public class PacketDelay extends Module {
private long lastProcessTime = 0;
public PacketDelay() {
- super("delay de paquetes", "aplica un delay a los paquetes");
+ super("delay de paquetes",
+ "aplica un delay a los paquetes",
+ Category.NETWORK);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/RPackBypass.java b/src/main/java/me/retucio/camtweaks/module/modules/network/RPackBypass.java
similarity index 76%
rename from src/main/java/me/retucio/camtweaks/module/modules/RPackBypass.java
rename to src/main/java/me/retucio/camtweaks/module/modules/network/RPackBypass.java
index e3e0f19..4b06fbb 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/RPackBypass.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/network/RPackBypass.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.network;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import net.minecraft.client.network.ServerInfo;
import net.minecraft.text.Text;
@@ -20,7 +21,9 @@ public class RPackBypass extends Module {
public Text BYPASS_TEXT = Text.literal("nuh uh");
public RPackBypass() {
- super("bypassear packs", "te permite omitir packs de recursos forzados por servers");
+ super("bypassear packs",
+ "te permite omitir packs de recursos forzados por servers",
+ Category.NETWORK);
}
public ServerInfo.ResourcePackPolicy getPolicy() {
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Reconnect.java b/src/main/java/me/retucio/camtweaks/module/modules/network/Reconnect.java
similarity index 77%
rename from src/main/java/me/retucio/camtweaks/module/modules/Reconnect.java
rename to src/main/java/me/retucio/camtweaks/module/modules/network/Reconnect.java
index 9125def..7c7f168 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Reconnect.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/network/Reconnect.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.network;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.DisconnectEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import net.minecraft.client.gui.screen.multiplayer.ConnectScreen;
import net.minecraft.client.network.ServerAddress;
@@ -12,7 +13,9 @@ public class Reconnect extends Module {
private ServerInfo lastServer = null;
public Reconnect() {
- super("reconectar", "añade un botón para reconectarse a un servidor tras ser desconectado");
+ super("reconectar",
+ "añade un botón para reconectarse a un servidor tras ser desconectado",
+ Category.NETWORK);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/AttributeSwapper.java b/src/main/java/me/retucio/camtweaks/module/modules/player/AttributeSwapper.java
similarity index 81%
rename from src/main/java/me/retucio/camtweaks/module/modules/AttributeSwapper.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/AttributeSwapper.java
index 28ab3e6..4d2f51d 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/AttributeSwapper.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/AttributeSwapper.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.AttackEntityEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -16,7 +17,9 @@ public class AttributeSwapper extends Module {
private int prevSlot = -1;
public AttributeSwapper() {
- super("attribute-swapper", "utiliza el \"attribute swapping\" entre dos herramientas para negar daño de durabilidad o aplicar encantamientos adicionales a estas");
+ super("attribute-swapper",
+ "utiliza el \"attribute swapping\" entre dos herramientas para negar daño de durabilidad o aplicar encantamientos adicionales a estas",
+ Category.PLAYER);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/FastUse.java b/src/main/java/me/retucio/camtweaks/module/modules/player/FastUse.java
similarity index 84%
rename from src/main/java/me/retucio/camtweaks/module/modules/FastUse.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/FastUse.java
index d8cef34..a44bb1e 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/FastUse.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/FastUse.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -15,7 +16,9 @@ public class FastUse extends Module {
public NumberSetting blockCooldown = addSetting(new NumberSetting("cooldown de bloques", "cooldown para colocar bloques en ticks", 0, 0, 4, 1));
public FastUse() {
- super("precoz", "hace cosas como usar items o colocar bloques más rápido");
+ super("precoz",
+ "hace cosas como usar items o colocar bloques más rápido",
+ Category.PLAYER);
items.onUpdate(v -> itemCooldown.setVisible(v));
blocks.onUpdate(v -> blockCooldown.setVisible(v));
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/HandView.java b/src/main/java/me/retucio/camtweaks/module/modules/player/HandView.java
similarity index 96%
rename from src/main/java/me/retucio/camtweaks/module/modules/HandView.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/HandView.java
index 0b00eb5..2b97ae0 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/HandView.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/HandView.java
@@ -1,8 +1,9 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.RenderHeldItemEvent;
import me.retucio.camtweaks.event.events.RenderArmEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -89,7 +90,9 @@ public class HandView extends Module {
0, -180, 180, 1));
public HandView() {
- super("manos", "modifica la manera en la que se renderizan las manos");
+ super("manos",
+ "modifica la manera en la que se renderizan las manos",
+ Category.PLAYER);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/Headhitters.java b/src/main/java/me/retucio/camtweaks/module/modules/player/Headhitters.java
new file mode 100644
index 0000000..f509f3d
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/Headhitters.java
@@ -0,0 +1,19 @@
+package me.retucio.camtweaks.module.modules.player;
+
+import me.retucio.camtweaks.module.Category;
+import me.retucio.camtweaks.module.Module;
+
+public class Headhitters extends Module {
+
+ public Headhitters() {
+ super("headhitters",
+ "mantén pulsado el espacio para hacer headhitting sin tener que espamearlo",
+ Category.PLAYER);
+ }
+
+ @Override
+ public void onTick() {
+ if (mc.player == null) return;
+ mc.player.jumpingCooldown = 0;
+ }
+}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/InventoryPlus.java b/src/main/java/me/retucio/camtweaks/module/modules/player/InventoryPlus.java
similarity index 92%
rename from src/main/java/me/retucio/camtweaks/module/modules/InventoryPlus.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/InventoryPlus.java
index 6678e28..fc351af 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/InventoryPlus.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/InventoryPlus.java
@@ -1,10 +1,11 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
import me.retucio.camtweaks.event.Event;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.KeyEvent;
import me.retucio.camtweaks.event.events.MouseClickEvent;
import me.retucio.camtweaks.mixin.accessor.HandledScreenAccessor;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.KeySetting;
import me.retucio.camtweaks.util.InventoryUtil;
@@ -20,7 +21,9 @@ public class InventoryPlus extends Module {
public KeySetting row3key = addSetting(new KeySetting("fila 3", "tecla para mover items a la tercera fila", GLFW.GLFW_KEY_D));
public InventoryPlus() {
- super("inventario plus", "mueve ítems del inventario usando solo el teclado");
+ super("inventario plus",
+ "mueve ítems del inventario usando solo el teclado",
+ Category.PLAYER);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Offhand.java b/src/main/java/me/retucio/camtweaks/module/modules/player/Offhand.java
similarity index 93%
rename from src/main/java/me/retucio/camtweaks/module/modules/Offhand.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/Offhand.java
index f98cf08..b6441a5 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Offhand.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/Offhand.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -25,7 +26,9 @@ public class Offhand extends Module {
private boolean holdingItem;
public Offhand() {
- super("mano secundaria", "automáticamente equipa un ítem en la mano secundaria");
+ super("mano secundaria",
+ "automáticamente equipa un ítem en la mano secundaria",
+ Category.PLAYER);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/PortalGUI.java b/src/main/java/me/retucio/camtweaks/module/modules/player/PortalGUI.java
new file mode 100644
index 0000000..8da7ffd
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/PortalGUI.java
@@ -0,0 +1,17 @@
+package me.retucio.camtweaks.module.modules.player;
+
+import me.retucio.camtweaks.module.Category;
+import me.retucio.camtweaks.module.Module;
+
+/** continúa en:
+ * @see me.retucio.camtweaks.mixin.ClientPlayerEntityMixin
+ */
+
+public class PortalGUI extends Module {
+
+ public PortalGUI() {
+ super("interfaz en portales",
+ "te permite abrir interfaces dentro de portales, como el chat o el inventario",
+ Category.PLAYER);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/player/SafeWalk.java b/src/main/java/me/retucio/camtweaks/module/modules/player/SafeWalk.java
new file mode 100644
index 0000000..1461e63
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/SafeWalk.java
@@ -0,0 +1,55 @@
+package me.retucio.camtweaks.module.modules.player;
+
+import me.retucio.camtweaks.event.SubscribeEvent;
+import me.retucio.camtweaks.event.events.ClipAtLedgeEvent;
+import me.retucio.camtweaks.module.Category;
+import me.retucio.camtweaks.module.Module;
+import me.retucio.camtweaks.module.settings.NumberSetting;
+import net.minecraft.util.hit.BlockHitResult;
+import net.minecraft.util.hit.HitResult;
+import net.minecraft.util.math.Vec3d;
+import net.minecraft.world.Heightmap;
+import net.minecraft.world.RaycastContext;
+
+public class SafeWalk extends Module {
+
+ public NumberSetting fallDistance = addSetting(new NumberSetting("distancia de caída", "distancia de caída máxima permitida", 1, 0, 10, 0.1));
+
+ public SafeWalk() {
+ super("muletas",
+ "te ayuda a no caerte de bloques, sin agacharte",
+ Category.PLAYER);
+ }
+
+ @SubscribeEvent
+ public void onClipAtLedge(ClipAtLedgeEvent event) {
+ if (mc.player == null || mc.world == null) return;
+
+ if (fallDistance.getValue() > 1) {
+ int surface = mc.world.getWorldChunk(
+ mc.player.getBlockPos())
+ .getHeightmap(Heightmap.Type.MOTION_BLOCKING)
+ .get(mc.player.getBlockX() & 15, mc.player.getBlockZ() & 15);
+
+ if (mc.player.getBlockY() >= surface)
+ if (mc.player.getBlockY() - surface < fallDistance.getValue()) return;
+
+ else {
+ BlockHitResult raycastResult = mc.world.raycast(new RaycastContext(
+ mc.player.getEntityPos(),
+ new Vec3d(mc.player.getX(),
+ mc.world.getBottomY(),
+ mc.player.getZ()),
+ RaycastContext.ShapeType.COLLIDER,
+ RaycastContext.FluidHandling.WATER,
+ mc.player));
+
+ if (raycastResult.getType() != HitResult.Type.MISS)
+ if ((int) (mc.player.getY() - raycastResult.getBlockPos().up().getY()) < fallDistance.getValue()) return;
+ }
+ }
+
+ if (!mc.player.isSneaking())
+ event.setClipping(true);
+ }
+}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/UIMove.java b/src/main/java/me/retucio/camtweaks/module/modules/player/UIMove.java
similarity index 91%
rename from src/main/java/me/retucio/camtweaks/module/modules/UIMove.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/UIMove.java
index 1fe6f2a..fca1c60 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/UIMove.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/UIMove.java
@@ -1,6 +1,7 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
import me.retucio.camtweaks.mixin.accessor.KeyBindingAccessor;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.ListSetting;
import me.retucio.camtweaks.ui.screen.ClickGUI;
@@ -29,7 +30,10 @@ public class UIMove extends Module {
"camtweaks_clickgui", GenericContainerScreenHandler::createGeneric9x3); // 9x3 porque no importa (creo)
public UIMove() {
- super("moverse en interfaz", "te permite seguir usando las teclas de movimiento aún estando en ciertas interfaces");
+ super("moverse en interfaz",
+ "te permite seguir usando las teclas de movimiento aún estando en ciertas interfaces",
+ Category.PLAYER);
+
screens.addOption(inventoryHandlerType, true, "inventario");
screens.addOption(clickGuiHandlerType, true, "interfaz del mod");
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/WarnLowDurability.java b/src/main/java/me/retucio/camtweaks/module/modules/player/WarnLowDurability.java
similarity index 88%
rename from src/main/java/me/retucio/camtweaks/module/modules/WarnLowDurability.java
rename to src/main/java/me/retucio/camtweaks/module/modules/player/WarnLowDurability.java
index fe0af81..604c066 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/WarnLowDurability.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/player/WarnLowDurability.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.player;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
@@ -32,9 +33,12 @@ public class WarnLowDurability extends Module {
public NumberSetting pitch = addSetting(new NumberSetting("frecuencia", "altura del sonido", 70, 0, 125, 1));
private final List warned = new ArrayList<>();
+ private float prevPercentage = -1;
public WarnLowDurability() {
- super("aviso de baja dur.", "te avisa cuando la herramienta que sostengas sobrepase un límite de durabilidad");
+ super("aviso de baja dur.",
+ "te avisa cuando la herramienta que sostengas sobrepase un límite de durabilidad",
+ Category.PLAYER);
playSound.onUpdate(v -> {
sound.setVisible(v);
@@ -51,7 +55,7 @@ public class WarnLowDurability extends Module {
float percentage = (1 - (float) stack.getDamage() / stack.getMaxDamage()) * 100;
- if (percentage <= limitPercentage.getValue()) {
+ if (percentage <= limitPercentage.getValue() && percentage < prevPercentage) {
if (playSound.isEnabled())
mc.world.playSound(mc.player, mc.player.getBlockPos(),
sound.getValue(),
@@ -71,6 +75,8 @@ public class WarnLowDurability extends Module {
warned.add(stack);
}
+
+ prevPercentage = percentage;
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/BlockESP.java b/src/main/java/me/retucio/camtweaks/module/modules/render/BlockESP.java
similarity index 93%
rename from src/main/java/me/retucio/camtweaks/module/modules/BlockESP.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/BlockESP.java
index 5ab937a..3b15f32 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/BlockESP.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/BlockESP.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.RenderWorldEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
@@ -36,7 +37,9 @@ public class BlockESP extends Module {
public BlockESP() {
- super("resaltado de bloques", "te muestra la posición de cierto tipo de bloque renderizando una caja con su forma");
+ super("resaltado de bloques",
+ "te muestra la posición de cierto tipo de bloque renderizando una caja con su forma",
+ Category.RENDER);
outlines.onUpdate(v -> {
outlineColor.setVisible(v);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/BlockOutline.java b/src/main/java/me/retucio/camtweaks/module/modules/render/BlockOutline.java
similarity index 65%
rename from src/main/java/me/retucio/camtweaks/module/modules/BlockOutline.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/BlockOutline.java
index 9f42e55..49accb9 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/BlockOutline.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/BlockOutline.java
@@ -1,9 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
-import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
-import me.retucio.camtweaks.module.settings.NumberSetting;
import java.awt.*;
@@ -17,6 +16,8 @@ public class BlockOutline extends Module {
new Color(0, 0, 0, 102), true));
public BlockOutline() {
- super("contorno", "customiza el contorno de los bloques");
+ super("contorno",
+ "customiza el contorno de los bloques",
+ Category.RENDER);
}
}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/BreakingProgress.java b/src/main/java/me/retucio/camtweaks/module/modules/render/BreakingProgress.java
similarity index 93%
rename from src/main/java/me/retucio/camtweaks/module/modules/BreakingProgress.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/BreakingProgress.java
index 628a5b7..a218ea8 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/BreakingProgress.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/BreakingProgress.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.RenderWorldEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
@@ -30,7 +31,9 @@ public class BreakingProgress extends Module {
new Color(0, 255, 0, 60), false));
public BreakingProgress() {
- super("progreso de minado", "te muestra el progreso de minado de un bloque de manera más visible");
+ super("progreso de minado",
+ "te muestra el progreso de minado de un bloque de manera más visible",
+ Category.RENDER);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/CritsPlus.java b/src/main/java/me/retucio/camtweaks/module/modules/render/CritsPlus.java
similarity index 85%
rename from src/main/java/me/retucio/camtweaks/module/modules/CritsPlus.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/CritsPlus.java
index 491b78e..4228f9d 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/CritsPlus.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/CritsPlus.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
@@ -24,6 +25,8 @@ public class CritsPlus extends Module {
public BooleanSetting collide = addSetting(new BooleanSetting("colisionar", "colisionar con bloques", false));
public CritsPlus() {
- super("críticos", "cambia la apariencia de los críticos al gusto");
+ super("críticos",
+ "cambia la apariencia de los críticos al gusto",
+ Category.RENDER);
}
}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/DamageOverlay.java b/src/main/java/me/retucio/camtweaks/module/modules/render/DamageOverlay.java
similarity index 75%
rename from src/main/java/me/retucio/camtweaks/module/modules/DamageOverlay.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/DamageOverlay.java
index 7c9d4a3..cc658d0 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/DamageOverlay.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/DamageOverlay.java
@@ -1,10 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
-import com.mojang.blaze3d.systems.RenderSystem;
-import com.mojang.blaze3d.textures.GpuTextureView;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.ColorSetting;
-import me.retucio.camtweaks.module.settings.NumberSetting;
import net.minecraft.client.texture.NativeImage;
import net.minecraft.client.texture.NativeImageBackedTexture;
@@ -21,7 +19,10 @@ public class DamageOverlay extends Module {
private NativeImageBackedTexture texture = null;
public DamageOverlay() {
- super("superposición de daño", "modifica el color en el que se renderiza la superposición de recibir daño");
+ super("superposición de daño",
+ "modifica el color en el que se renderiza la superposición de recibir daño",
+ Category.RENDER);
+
colorSetting.onUpdate(v -> reloadOverlayIfReady());
}
@@ -69,12 +70,12 @@ public class DamageOverlay extends Module {
// resubir las texturas
private void uploadTexture() {
- GpuTextureView overlayTex = RenderSystem.getShaderTexture(33985);
- RenderSystem.setShaderTexture(33985, overlayTex);
-
- texture.upload();
-
- GpuTextureView mainTex = RenderSystem.getShaderTexture(33984);
- RenderSystem.setShaderTexture(33984, mainTex);
+// GpuTextureView overlayTex = RenderSystem.getDevice().getShaderTexture(33985);
+// RenderSystem.setShaderTexture(33985, overlayTex);
+//
+// texture.upload();
+//
+// GpuTextureView mainTex = RenderSystem.getShaderTexture(33984);
+// RenderSystem.setShaderTexture(33984, mainTex);
}
}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/GlintPlus.java b/src/main/java/me/retucio/camtweaks/module/modules/render/GlintPlus.java
similarity index 88%
rename from src/main/java/me/retucio/camtweaks/module/modules/GlintPlus.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/GlintPlus.java
index f7b7ae2..908f566 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/GlintPlus.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/GlintPlus.java
@@ -1,14 +1,14 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.util.render.GlintRenderLayer;
import net.minecraft.client.render.RenderLayer;
+import net.minecraft.client.render.RenderLayers;
import net.minecraft.util.DyeColor;
-import java.awt.*;
-
/** continúa en:
* @see me.retucio.camtweaks.mixin.BufferStorageMixin
* @see me.retucio.camtweaks.mixin.EquipmentRendererMixin
@@ -22,24 +22,26 @@ public class GlintPlus extends Module {
public EnumSetting glintColor = addSetting(new EnumSetting<>("colores", "color del glint", GlintColors.class, GlintColors.PURPLE));
public GlintPlus() {
- super("destello de enchants.", "modifica el color del brillo de los encantamientos");
+ super("destello de enchants.",
+ "modifica el color del brillo de los encantamientos",
+ Category.RENDER);
}
public RenderLayer getGlint() {
int color = getColor();
- if (!isEnabled() || !items.isEnabled()) return RenderLayer.getGlint();
+ if (!isEnabled() || !items.isEnabled()) return RenderLayers.glint();
return GlintRenderLayer.glintColor.get(color);
}
public RenderLayer getEntityGlint() {
int color = getColor();
- if (!isEnabled() || !items.isEnabled()) return RenderLayer.getEntityGlint();
+ if (!isEnabled() || !items.isEnabled()) return RenderLayers.entityGlint();
return GlintRenderLayer.entityGlintColor.get(color);
}
public RenderLayer getArmorEntityGlint() {
int color = getColor();
- if (!isEnabled() || !armor.isEnabled()) return RenderLayer.getArmorEntityGlint();
+ if (!isEnabled() || !armor.isEnabled()) return RenderLayers.armorEntityGlint();
return GlintRenderLayer.armorEntityGlintColor.get(color);
}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Nametags.java b/src/main/java/me/retucio/camtweaks/module/modules/render/Nametags.java
similarity index 96%
rename from src/main/java/me/retucio/camtweaks/module/modules/Nametags.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/Nametags.java
index 83d860f..fc60d5d 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Nametags.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/Nametags.java
@@ -1,14 +1,14 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.module.settings.ListSetting;
import me.retucio.camtweaks.util.Lists;
import net.minecraft.enchantment.EnchantmentHelper;
-import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityType;
import net.minecraft.entity.LazyEntityReference;
import net.minecraft.entity.LivingEntity;
@@ -19,13 +19,10 @@ import net.minecraft.item.Item;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.util.math.MathHelper;
import net.minecraft.world.entity.EntityQueriable;
-import net.minecraft.world.entity.UniquelyIdentifiable;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
-import java.net.URI;
import java.net.URL;
-import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
@@ -62,7 +59,9 @@ public class Nametags extends Module {
private static final ExecutorService executor = Executors.newCachedThreadPool();
public Nametags() {
- super("nametags", "modifica la manera en la que se renderizan los nametags");
+ super("nametags",
+ "modifica la manera en la que se renderizan los nametags",
+ Category.RENDER);
// entidades activadas por defecto
defaultEntities.replace(EntityType.PLAYER, true);
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/NoRender.java b/src/main/java/me/retucio/camtweaks/module/modules/render/NoRender.java
similarity index 95%
rename from src/main/java/me/retucio/camtweaks/module/modules/NoRender.java
rename to src/main/java/me/retucio/camtweaks/module/modules/render/NoRender.java
index b1d6ab7..3cd89f3 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/NoRender.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/render/NoRender.java
@@ -1,10 +1,10 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.render;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.module.settings.ListSetting;
-import me.retucio.camtweaks.module.settings.NumberSetting;
import me.retucio.camtweaks.util.Lists;
import net.minecraft.particle.ParticleType;
import net.minecraft.util.Formatting;
@@ -55,7 +55,9 @@ public class NoRender extends Module {
public BooleanSetting scrambledText = addSetting(new BooleanSetting("garabato", "engarabatar texto (o como se diga) (§kasí§r)", false));
public NoRender() {
- super("no render", "customiza qué se renderiza y qué no");
+ super("no render",
+ "customiza qué se renderiza y qué no",
+ Category.RENDER);
}
public enum Colors {
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/AutoSign.java b/src/main/java/me/retucio/camtweaks/module/modules/world/AutoSign.java
similarity index 87%
rename from src/main/java/me/retucio/camtweaks/module/modules/AutoSign.java
rename to src/main/java/me/retucio/camtweaks/module/modules/world/AutoSign.java
index 13f5eac..88b8bb6 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/AutoSign.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/world/AutoSign.java
@@ -1,9 +1,10 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.world;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.OpenScreenEvent;
import me.retucio.camtweaks.event.events.PacketEvent;
import me.retucio.camtweaks.mixin.accessor.AbstractSignEditScreenAccessor;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.util.ChatUtil;
import net.minecraft.block.entity.SignBlockEntity;
@@ -16,7 +17,9 @@ public class AutoSign extends Module {
public String[] text = null;
public AutoSign() {
- super("autocartel", "te permite colocar carteles con el mismo texto sin tener que escribirlo uno por uno");
+ super("autocartel",
+ "te permite colocar carteles con el mismo texto sin tener que escribirlo uno por uno",
+ Category.WORLD);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/ColoredSigns.java b/src/main/java/me/retucio/camtweaks/module/modules/world/ColoredSigns.java
similarity index 75%
rename from src/main/java/me/retucio/camtweaks/module/modules/ColoredSigns.java
rename to src/main/java/me/retucio/camtweaks/module/modules/world/ColoredSigns.java
index ddb22e2..478a278 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/ColoredSigns.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/world/ColoredSigns.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.world;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.PacketEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.StringSetting;
import net.minecraft.network.packet.c2s.play.UpdateSignC2SPacket;
@@ -11,7 +12,9 @@ public class ColoredSigns extends Module {
public StringSetting symbol = addSetting(new StringSetting("símbolo", "símbolo a reemplazar por \"§\"", "&", 5));
public ColoredSigns() {
- super("carteles gays", "te permite usar un símbolo a elegir como § para añadir formato a estos.");
+ super("carteles gays",
+ "te permite usar un símbolo a elegir como § para añadir formato a estos.",
+ Category.WORLD);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/LightOverlay.java b/src/main/java/me/retucio/camtweaks/module/modules/world/LightOverlay.java
similarity index 93%
rename from src/main/java/me/retucio/camtweaks/module/modules/LightOverlay.java
rename to src/main/java/me/retucio/camtweaks/module/modules/world/LightOverlay.java
index 653bd9d..e1a4ee8 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/LightOverlay.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/world/LightOverlay.java
@@ -1,7 +1,8 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.world;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.RenderWorldEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ColorSetting;
@@ -9,7 +10,6 @@ import me.retucio.camtweaks.module.settings.NumberSetting;
import me.retucio.camtweaks.util.render.RenderUtil;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
-import net.minecraft.world.BlockView;
import net.minecraft.world.LightType;
import java.awt.*;
@@ -36,7 +36,9 @@ public class LightOverlay extends Module {
List blocks = new ArrayList<>();
public LightOverlay() {
- super("superposición de luz", "te muestra el nivel de luz en bloques, para prevenir mob spawns");
+ super("superposición de luz",
+ "te muestra el nivel de luz en bloques, para prevenir mob spawns",
+ Category.WORLD);
}
@SubscribeEvent
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/world/NoMiningInterruptions.java b/src/main/java/me/retucio/camtweaks/module/modules/world/NoMiningInterruptions.java
new file mode 100644
index 0000000..0ed466d
--- /dev/null
+++ b/src/main/java/me/retucio/camtweaks/module/modules/world/NoMiningInterruptions.java
@@ -0,0 +1,35 @@
+package me.retucio.camtweaks.module.modules.world;
+
+import me.retucio.camtweaks.module.Category;
+import me.retucio.camtweaks.module.Module;
+import me.retucio.camtweaks.module.settings.BooleanSetting;
+import me.retucio.camtweaks.module.settings.ListSetting;
+import me.retucio.camtweaks.util.Lists;
+import net.minecraft.entity.Entity;
+import net.minecraft.entity.EntityType;
+import net.minecraft.registry.tag.ItemTags;
+
+public class NoMiningInterruptions extends Module {
+
+ public BooleanSetting withPickaxeOnly = addSetting(new BooleanSetting("solo con pico", "ignorar entidades solamente cuando se sujeta un pico", false));
+ public ListSetting> entities = addSetting(new ListSetting<>("entidades", "entidades a ignorar",
+ Lists.entityList, Lists.allTrue(Lists.entityList), Lists.entityNames));
+
+ public NoMiningInterruptions() {
+ super("minar sin interrupción",
+ "te permite minar bloques a través de entidades",
+ Category.WORLD);
+ }
+
+ public boolean shouldIgnoreEntity(Entity entity) {
+ if (entity == null || !this.isEnabled() || mc.player == null) return false;
+
+ if (withPickaxeOnly.isEnabled())
+ return (mc.player.getMainHandStack().isIn(ItemTags.PICKAXES)
+ || mc.player.getOffHandStack().isIn(ItemTags.PICKAXES));
+
+ return entities.isEnabled(entity.getType());
+ }
+
+
+}
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/Racist.java b/src/main/java/me/retucio/camtweaks/module/modules/world/Racist.java
similarity index 88%
rename from src/main/java/me/retucio/camtweaks/module/modules/Racist.java
rename to src/main/java/me/retucio/camtweaks/module/modules/world/Racist.java
index 8044eca..6c7a279 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/Racist.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/world/Racist.java
@@ -1,5 +1,6 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.world;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.util.EntityUtil;
import net.minecraft.entity.Entity;
@@ -14,7 +15,9 @@ public class Racist extends Module {
private final List lookedEndermen = new ArrayList<>();
public Racist() {
- super("racismo", "amego segarro");
+ super("racismo",
+ "amego segarro",
+ Category.WORLD);
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/module/modules/TimeChanger.java b/src/main/java/me/retucio/camtweaks/module/modules/world/TimeChanger.java
similarity index 75%
rename from src/main/java/me/retucio/camtweaks/module/modules/TimeChanger.java
rename to src/main/java/me/retucio/camtweaks/module/modules/world/TimeChanger.java
index f76c672..370bd7a 100644
--- a/src/main/java/me/retucio/camtweaks/module/modules/TimeChanger.java
+++ b/src/main/java/me/retucio/camtweaks/module/modules/world/TimeChanger.java
@@ -1,12 +1,12 @@
-package me.retucio.camtweaks.module.modules;
+package me.retucio.camtweaks.module.modules.world;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.PacketEvent;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.EnumSetting;
import me.retucio.camtweaks.module.settings.NumberSetting;
-import me.retucio.camtweaks.util.ChatUtil;
import net.minecraft.network.packet.s2c.play.WorldTimeUpdateS2CPacket;
// continúa en ClientWorldPropertiesMixin, DimensionTypeMixin,
@@ -20,7 +20,10 @@ public class TimeChanger extends Module {
public NumberSetting time = addSetting(new NumberSetting("hora", "hora del juego", 0, -20000, 20000, 1));
public TimeChanger() {
- super("cielo custom", "te deja cambiar visualmente el progreso del día");
+ super("cielo custom",
+ "te deja cambiar visualmente el progreso del día, entre otras cosas",
+ Category.WORLD);
+
renderMoon.onUpdate(v -> moonPhase.setVisible(v));
}
@@ -54,32 +57,16 @@ public class TimeChanger extends Module {
mc.world.getLevelProperties().setTimeOfDay(time.getLongValue());
}
- public int getMoonPhase() {
- if (mc.world == null) return -1;
-
- return switch (moonPhase.getValue()) {
- case DEFAULT -> -1;
- case FULL_MOON -> 0;
- case WANING_GIBBOUS -> 1;
- case LAST_QUARTER -> 2;
- case WANING_CRESCENT -> 3;
- case NEW_MOON -> 4;
- case WAXING_CRESCENT -> 5;
- case FIRST_QUARTER -> 6;
- case WAXING_GIBBOUS -> 7;
- };
- }
-
public enum MoonPhases {
- DEFAULT("por defecto"),
FULL_MOON("luna llena"),
WANING_GIBBOUS("menguante gibosa"),
- LAST_QUARTER("cuarto menguante"),
+ THIRD_QUARTER("cuarto menguante"),
WANING_CRESCENT("luna vieja"),
NEW_MOON("luna nueva"),
WAXING_CRESCENT("creciente"),
FIRST_QUARTER("cuarto creciente"),
- WAXING_GIBBOUS("creciente gibosa");
+ WAXING_GIBBOUS("creciente gibosa"),
+ DEFAULT("por defecto");
private final String name;
MoonPhases(String name) { this.name = name; }
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java
index 6ae0bce..ae287cd 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/HudElement.java
@@ -1,6 +1,6 @@
package me.retucio.camtweaks.ui.hud;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.util.Colors;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.DrawContext;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java b/src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java
index cb1beed..bdfb0fb 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/HudRenderer.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.ui.hud;
import me.retucio.camtweaks.config.ConfigManager;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.hud.elements.*;
import net.minecraft.client.MinecraftClient;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java
index 37cf30e..93bd568 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/elements/CoordsElement.java
@@ -1,9 +1,8 @@
package me.retucio.camtweaks.ui.hud;
-import me.retucio.camtweaks.event.events.PacketEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.Freecam;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.camera.Freecam;
+import me.retucio.camtweaks.module.modules.client.HUD;
import net.minecraft.text.Text;
import net.minecraft.util.math.Vec3d;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java
index 54b901e..d4befb3 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/elements/CustomTextElement.java
@@ -3,7 +3,7 @@ package me.retucio.camtweaks.ui.hud.elements;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.camtweaks.UpdateSettingEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.hud.HudElement;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java
index 931c806..2166e88 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/elements/FpsElement.java
@@ -1,6 +1,6 @@
package me.retucio.camtweaks.ui.hud.elements;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.hud.HudElement;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java
index 6143e6f..3bf1b04 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/elements/PingElement.java
@@ -1,6 +1,6 @@
package me.retucio.camtweaks.ui.hud.elements;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.hud.HudElement;
import net.minecraft.client.network.PlayerListEntry;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java
index a745638..93346ab 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/elements/TimeElement.java
@@ -1,6 +1,6 @@
package me.retucio.camtweaks.ui.hud.elements;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.hud.HudElement;
import me.retucio.camtweaks.util.MiscUtil;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java b/src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java
index 55d337b..913afaa 100644
--- a/src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java
+++ b/src/main/java/me/retucio/camtweaks/ui/hud/elements/TpsElement.java
@@ -1,6 +1,6 @@
package me.retucio.camtweaks.ui.hud.elements;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import me.retucio.camtweaks.ui.hud.HudElement;
import me.retucio.camtweaks.util.NetworkUtil;
import net.minecraft.text.Text;
diff --git a/src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java b/src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java
index 76bee52..973d7d6 100644
--- a/src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java
+++ b/src/main/java/me/retucio/camtweaks/ui/screen/ClickGUI.java
@@ -23,6 +23,7 @@ import me.retucio.camtweaks.ui.widgets.misc.ScrollBarWidget;
import me.retucio.camtweaks.ui.widgets.misc.SearchBarWidget;
import me.retucio.camtweaks.util.KeyUtil;
+import me.retucio.camtweaks.util.MiscUtil;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.Click;
import net.minecraft.client.gui.DrawContext;
@@ -206,15 +207,20 @@ public class ClickGUI extends Screen {
continue;
}
- String name = module.getName();
- String description = module.getDescription();
+ String name = MiscUtil.removeAccentMarks(module.getName());
+ String description = MiscUtil.removeAccentMarks(module.getDescription());
+ String category = MiscUtil.removeAccentMarks(module.getCategory().toString());
if (!guiSettings.matchCase.isEnabled()) {
name = name.toLowerCase();
description = description.toLowerCase();
+ category = category.toLowerCase();
}
- module.setSearchMatch(name.contains(searchInput) || description.contains(searchInput));
+ module.setSearchMatch(
+ name.contains(searchInput)
+ || description.contains(searchInput)
+ || category.contains(searchInput));
}
for (SettingsFrame sf : settingsFrames) {
diff --git a/src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java b/src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java
index bed9ad6..c7a5f86 100644
--- a/src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java
+++ b/src/main/java/me/retucio/camtweaks/ui/screen/PreviewScreen.java
@@ -1,7 +1,7 @@
package me.retucio.camtweaks.ui.screen;
import me.retucio.camtweaks.CameraTweaks;
-import me.retucio.camtweaks.module.modules.ShulkerPeek;
+import me.retucio.camtweaks.module.modules.misc.ShulkerPeek;
import me.retucio.camtweaks.ui.widgets.frames.settings.ClientSettingsFrame;
import me.retucio.camtweaks.util.Colors;
import net.minecraft.client.gl.RenderPipelines;
diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java b/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java
index ff9b399..68d93b6 100644
--- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java
+++ b/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ChooseButton.java
@@ -1,5 +1,6 @@
package me.retucio.camtweaks.ui.widgets.buttons.settings;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.OptionSetting;
@@ -25,7 +26,7 @@ public class ChooseButton extends SettingButton> {
this.setting = setting;
// crear un módulo "dummy" (falso)
- dummy = new Module(setting.getName(), setting.getDescription()) {
+ dummy = new Module(setting.getName(), setting.getDescription(), Category.CLIENT) {
@Override public void onEnable() {}
@Override public void onDisable() {}
};
diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java b/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java
index 9b93015..f5d933c 100644
--- a/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java
+++ b/src/main/java/me/retucio/camtweaks/ui/widgets/buttons/settings/ListButton.java
@@ -1,5 +1,6 @@
package me.retucio.camtweaks.ui.widgets.buttons.settings;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.BooleanSetting;
import me.retucio.camtweaks.module.settings.ListSetting;
@@ -26,7 +27,7 @@ public class ListButton extends SettingButton> {
this.setting = setting;
// crear un módulo "dummy" (falso), que se le añade cada entrada en la lista como un BooleanSetting
- dummy = new Module(setting.getName(), setting.getDescription()) {
+ dummy = new Module(setting.getName(), setting.getDescription(), Category.CLIENT) {
@Override public void onEnable() {}
@Override public void onDisable() {}
};
diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java b/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java
index 0f8c15f..5743085 100644
--- a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java
+++ b/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ClientSettingsFrame.java
@@ -2,7 +2,7 @@ package me.retucio.camtweaks.ui.widgets.frames.settings;
import me.retucio.camtweaks.CameraTweaks;
import me.retucio.camtweaks.event.events.camtweaks.GUISettingsFrameEvent;
-import me.retucio.camtweaks.module.modules.GUI;
+import me.retucio.camtweaks.module.modules.client.GUI;
import me.retucio.camtweaks.ui.widgets.frames.SettingsFrame;
import me.retucio.camtweaks.ui.screen.ClickGUI;
import me.retucio.camtweaks.ui.widgets.buttons.SettingButton;
diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java b/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java
index e150552..a9ae6db 100644
--- a/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java
+++ b/src/main/java/me/retucio/camtweaks/ui/widgets/frames/settings/ColorPickerFrame.java
@@ -1,5 +1,6 @@
package me.retucio.camtweaks.ui.widgets.frames.settings;
+import me.retucio.camtweaks.module.Category;
import me.retucio.camtweaks.module.Module;
import me.retucio.camtweaks.module.settings.Setting;
import me.retucio.camtweaks.module.settings.BooleanSetting;
@@ -46,7 +47,7 @@ public class ColorPickerFrame extends SettingsFrame {
this.colorSetting = colorSetting;
this.currentColor = colorSetting.getColor();
- dummyModule = new Module("selector de colores", "elige colores") {
+ dummyModule = new Module("selector de colores", "elige colores", Category.CLIENT) {
@Override public void onEnable() {}
@Override public void onDisable() {}
};
diff --git a/src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java b/src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java
index 5bf893b..e931454 100644
--- a/src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java
+++ b/src/main/java/me/retucio/camtweaks/ui/widgets/misc/SearchBarWidget.java
@@ -83,11 +83,6 @@ public class SearchBarWidget extends Widget {
}
}
- @Override
- public void mouseDragged(int mouseX, int mouseY) {
-
- }
-
@Override
public void onKey(int key, int action) {
if (!ClientSettingsFrame.guiSettings.searchBar.isEnabled()) return;
@@ -99,6 +94,7 @@ public class SearchBarWidget extends Widget {
buffer.setLength(0);
focused = false;
}
+ case GLFW.GLFW_KEY_SPACE -> charTyped(' ');
case GLFW.GLFW_KEY_BACKSPACE -> onBackspace();
default -> {
String c = KeyUtil.getKeyName(key);
diff --git a/src/main/java/me/retucio/camtweaks/util/MiscUtil.java b/src/main/java/me/retucio/camtweaks/util/MiscUtil.java
index 0274684..23eaf54 100644
--- a/src/main/java/me/retucio/camtweaks/util/MiscUtil.java
+++ b/src/main/java/me/retucio/camtweaks/util/MiscUtil.java
@@ -3,7 +3,7 @@ package me.retucio.camtweaks.util;
import me.retucio.camtweaks.event.SubscribeEvent;
import me.retucio.camtweaks.event.events.TickEvent;
import me.retucio.camtweaks.module.ModuleManager;
-import me.retucio.camtweaks.module.modules.HUD;
+import me.retucio.camtweaks.module.modules.client.HUD;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.util.math.Vec3d;
import org.joml.Vector3d;
@@ -52,4 +52,18 @@ public class MiscUtil {
}
}
+ public static String removeAccentMarks(String text) {
+ return text
+ .replace("Á", "A")
+ .replace("É", "E")
+ .replace("Í", "I")
+ .replace("Ó", "O")
+ .replace("Ú", "U")
+ .replace("á", "a")
+ .replace("é", "e")
+ .replace("í", "i")
+ .replace("ó", "o")
+ .replace("ú", "u");
+ }
+
}
diff --git a/src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java b/src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java
index c763d10..01a0f66 100644
--- a/src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java
+++ b/src/main/java/me/retucio/camtweaks/util/render/GlintRenderLayer.java
@@ -1,15 +1,14 @@
package me.retucio.camtweaks.util.render;
+import com.mojang.blaze3d.pipeline.BlendFunction;
import com.mojang.blaze3d.pipeline.RenderPipeline;
+import com.mojang.blaze3d.platform.DepthTestFunction;
import com.mojang.blaze3d.vertex.VertexFormat;
import it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenHashMap;
import me.retucio.camtweaks.CameraTweaks;
-import net.fabricmc.api.EnvType;
-import net.fabricmc.api.Environment;
+import me.retucio.camtweaks.module.modules.render.GlintPlus;
import net.minecraft.client.gl.RenderPipelines;
-import net.minecraft.client.render.BuiltBuffer;
-import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.RenderPhase;
+import net.minecraft.client.render.*;
import net.minecraft.client.util.BufferAllocator;
import net.minecraft.util.DyeColor;
import net.minecraft.util.Identifier;
@@ -19,27 +18,25 @@ import java.util.List;
import java.util.function.Function;
/** clase modificada de RenderLayer para modificar el color del destello de encantamientos
- * @see me.retucio.camtweaks.module.modules.GlintPlus
+ * @see GlintPlus
* yoinkeado de: https://github.com/Pepperoni-Jabroni/NoMorePurple/blob/main/src/main/java/pepjebs/no_more_purple/client/GlintRenderLayer.java
* (y actualizado)
-*/
+ */
public class GlintRenderLayer extends RenderLayer {
public static List glintColor = newRenderList(GlintRenderLayer::buildGlintRenderLayer);
public static List entityGlintColor = newRenderList(GlintRenderLayer::buildEntityGlintRenderLayer);
- public static List armorGlintColor = newRenderList(GlintRenderLayer::buildArmorGlintRenderLayer);
public static List armorEntityGlintColor = newRenderList(GlintRenderLayer::buildArmorEntityGlintRenderLayer);
public static void addGlintTypes(Object2ObjectLinkedOpenHashMap map) {
addGlintTypes(map, glintColor);
addGlintTypes(map, entityGlintColor);
- addGlintTypes(map, armorGlintColor);
addGlintTypes(map, armorEntityGlintColor);
}
public GlintRenderLayer(String name, VertexFormat vertexFormat, VertexFormat.DrawMode drawMode, int expectedBufferSize, boolean hasCrumbling, boolean translucent, Runnable startAction, Runnable endAction) {
- super(name, expectedBufferSize, hasCrumbling, translucent, startAction, endAction);
+ super(name, RenderSetup.builder(RenderPipeline.builder().build()).build());
}
private static List newRenderList(Function func) {
@@ -63,45 +60,61 @@ public class GlintRenderLayer extends RenderLayer {
private static RenderLayer buildGlintRenderLayer(String name) {
final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png");
- return RenderLayer.of("glint_" + name, 256, RenderPipelines.GLINT, MultiPhaseParameters.builder()
- .texturing(RenderPhase.GLINT_TEXTURING)
- .texture(new Texture(res, false))
- .texturing(GLINT_TEXTURING)
- .build(false));
+ return RenderLayer.of("glint_" + name, RenderSetup.builder(
+ RenderPipeline.builder()
+ .withCull(false)
+ .withDepthTestFunction(DepthTestFunction.EQUAL_DEPTH_TEST)
+ .withBlend(BlendFunction.GLINT)
+ .withLocation(RenderPipelines.GLINT.getLocation())
+ .withVertexShader(RenderPipelines.GLINT.getVertexShader())
+ .withFragmentShader(RenderPipelines.GLINT.getFragmentShader())
+ .withVertexFormat(RenderPipelines.GLINT.getVertexFormat(), RenderPipelines.GLINT.getVertexFormatMode())
+ .build())
+ .texture("glint_" + name, res)
+ .textureTransform(TextureTransform.GLINT_TEXTURING)
+ .translucent()
+ .build());
+
}
private static RenderLayer buildEntityGlintRenderLayer(String name) {
final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png");
- return RenderLayer.of("entity_glint_" + name, 256, RenderPipelines.GLINT, MultiPhaseParameters.builder()
- .texturing(RenderPhase.ENTITY_GLINT_TEXTURING)
- .texture(new Texture(res, false))
- .target(ITEM_ENTITY_TARGET)
- .texturing(ENTITY_GLINT_TEXTURING)
- .build(false));
+ return RenderLayer.of("entity_glint_" + name, RenderSetup.builder(
+ RenderPipeline.builder()
+ .withCull(true)
+ .withDepthTestFunction(DepthTestFunction.EQUAL_DEPTH_TEST)
+ .withBlend(BlendFunction.GLINT)
+ .withLocation(RenderPipelines.GLINT.getLocation())
+ .withVertexShader(RenderPipelines.GLINT.getVertexShader())
+ .withFragmentShader(RenderPipelines.GLINT.getFragmentShader())
+ .withVertexFormat(VertexFormats.POSITION_TEXTURE, VertexFormat.DrawMode.QUADS)
+ .build())
+ .texture("entity_glint_" + name, res)
+ .textureTransform(TextureTransform.ENTITY_GLINT_TEXTURING)
+ .outputTarget(OutputTarget.ITEM_ENTITY_TARGET)
+ .translucent()
+ .build());
}
- private static RenderLayer buildArmorGlintRenderLayer(String name) {
- final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png");
-
- return RenderLayer.of("armor_glint_" + name, 256, RenderPipelines.GLINT, MultiPhaseParameters.builder()
- .texturing(RenderPhase.ARMOR_ENTITY_GLINT_TEXTURING)
- .texture(new Texture(res, false))
- .texturing(GLINT_TEXTURING)
- .layering(VIEW_OFFSET_Z_LAYERING)
- .build(false));
- }
-
private static RenderLayer buildArmorEntityGlintRenderLayer(String name) {
final Identifier res = Identifier.of(CameraTweaks.MOD_ID, "textures/misc/glint_" + name.toLowerCase() + ".png");
- return RenderLayer.of("armor_entity_glint_" + name, 256, RenderPipelines.GLINT, MultiPhaseParameters.builder()
- .texturing(RenderPhase.ARMOR_ENTITY_GLINT_TEXTURING)
- .texture(new Texture(res, false))
- .texturing(ENTITY_GLINT_TEXTURING)
- .layering(VIEW_OFFSET_Z_LAYERING)
- .build(false));
+ return RenderLayer.of("armor_glint_" + name, RenderSetup.builder(
+ RenderPipeline.builder()
+ .withCull(false)
+ .withDepthTestFunction(DepthTestFunction.EQUAL_DEPTH_TEST)
+ .withLocation(RenderPipelines.GLINT.getLocation())
+ .withVertexShader(RenderPipelines.GLINT.getVertexShader())
+ .withFragmentShader(RenderPipelines.GLINT.getFragmentShader())
+ .withVertexFormat(RenderPipelines.GLINT.getVertexFormat(), RenderPipelines.GLINT.getVertexFormatMode())
+ .build())
+ .texture("armor_glint_" + name, res)
+ .textureTransform(TextureTransform.ARMOR_ENTITY_GLINT_TEXTURING)
+ .layeringTransform(LayeringTransform.VIEW_OFFSET_Z_LAYERING)
+ .translucent()
+ .build());
}
@Override
diff --git a/src/main/java/me/retucio/camtweaks/util/render/Layers.java b/src/main/java/me/retucio/camtweaks/util/render/Layers.java
index 0955c62..30d8cfb 100644
--- a/src/main/java/me/retucio/camtweaks/util/render/Layers.java
+++ b/src/main/java/me/retucio/camtweaks/util/render/Layers.java
@@ -1,11 +1,7 @@
package me.retucio.camtweaks.util.render;
import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.RenderPhase;
-import net.minecraft.util.Util;
-
-import java.util.OptionalDouble;
-import java.util.function.Function;
+import net.minecraft.client.render.RenderSetup;
import static me.retucio.camtweaks.util.render.Pipelines.GLOBAL_LINES_PIPELINE;
import static me.retucio.camtweaks.util.render.Pipelines.GLOBAL_QUADS_PIPELINE;
@@ -13,30 +9,17 @@ import static me.retucio.camtweaks.util.render.Pipelines.GLOBAL_QUADS_PIPELINE;
public class Layers {
private static final RenderLayer GLOBAL_QUADS;
- private static final Function GLOBAL_LINES;
+ private static final RenderLayer GLOBAL_LINES;
- public static RenderLayer getGlobalLines(double width) {
- return GLOBAL_LINES.apply(width);
+ public static RenderLayer getGlobalLines() {
+ return GLOBAL_LINES;
}
-
public static RenderLayer getGlobalQuads() {
return GLOBAL_QUADS;
}
- private static RenderLayer.MultiPhaseParameters.Builder builder() {
- return RenderLayer.MultiPhaseParameters.builder();
- }
-
- private static RenderLayer.MultiPhaseParameters empty() {
- return builder().build(false);
- }
-
static {
- GLOBAL_QUADS = RenderLayer.of("global_fill", 156, GLOBAL_QUADS_PIPELINE, empty());
-
- GLOBAL_LINES = Util.memoize(l -> {
- RenderPhase.LineWidth width = new RenderPhase.LineWidth(OptionalDouble.of(l));
- return RenderLayer.of("global_lines", 156, GLOBAL_LINES_PIPELINE, builder().lineWidth(width).build(false));
- });
+ GLOBAL_QUADS = RenderLayer.of("global_fill", RenderSetup.builder(GLOBAL_QUADS_PIPELINE).build());
+ GLOBAL_LINES = RenderLayer.of("global_lines", RenderSetup.builder(GLOBAL_LINES_PIPELINE).build());
}
}
\ No newline at end of file
diff --git a/src/main/java/me/retucio/camtweaks/util/render/Pipelines.java b/src/main/java/me/retucio/camtweaks/util/render/Pipelines.java
index 536715f..700d3fc 100644
--- a/src/main/java/me/retucio/camtweaks/util/render/Pipelines.java
+++ b/src/main/java/me/retucio/camtweaks/util/render/Pipelines.java
@@ -6,14 +6,8 @@ import com.mojang.blaze3d.platform.DepthTestFunction;
import com.mojang.blaze3d.vertex.VertexFormat;
import me.retucio.camtweaks.CameraTweaks;
import net.minecraft.client.gl.RenderPipelines;
-import net.minecraft.client.render.RenderLayer;
-import net.minecraft.client.render.RenderPhase;
import net.minecraft.client.render.VertexFormats;
import net.minecraft.util.Identifier;
-import net.minecraft.util.Util;
-
-import java.util.OptionalDouble;
-import java.util.function.Function;
public class Pipelines {
@@ -34,19 +28,4 @@ public class Pipelines {
.withDepthWrite(false)
.withCull(false)
.build();
-
- static final Function GLOBAL_LINES_LAYER = Util.memoize(lineWidth -> {
- RenderPhase.LineWidth lineState = new RenderPhase.LineWidth(OptionalDouble.of(lineWidth));
- RenderLayer.MultiPhaseParameters compositeState = RenderLayer.MultiPhaseParameters.builder()
- .lineWidth(lineState)
- .build(false);
- return RenderLayer.of("global_lines", RenderLayer.DEFAULT_BUFFER_SIZE, GLOBAL_LINES_PIPELINE, compositeState);
- });
-
-
-
-
- public static RenderLayer getGlobalLinesLayer(double lineWidth) {
- return GLOBAL_LINES_LAYER.apply(lineWidth);
- }
}
\ No newline at end of file
diff --git a/src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java b/src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java
index dd28244..f88c6ad 100644
--- a/src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java
+++ b/src/main/java/me/retucio/camtweaks/util/render/RenderUtil.java
@@ -95,7 +95,7 @@ public class RenderUtil {
// expand es para evitar z-fighting
public static void drawBlockFaceFilled(MatrixStack matrices, BlockPos pos, Direction face, Color color, float expand) {
- Vec3d cameraPos = mc.gameRenderer.getCamera().getPos();
+ Vec3d cameraPos = mc.gameRenderer.getCamera().getCameraPos();
float minX = (float) (pos.getX() - cameraPos.x);
float minY = (float) (pos.getY() - cameraPos.y);
@@ -173,28 +173,27 @@ public class RenderUtil {
// cajas
public static void drawOutlineBox(MatrixStack matrices, Box box, Color color, float lineWidth) {
- float r = color.getRed() / 255f;
- float g = color.getGreen() / 255f;
- float b = color.getBlue() / 255f;
- float a = color.getAlpha() / 255f;
+ Camera camera = mc.gameRenderer.getCamera();
+ Vec3d cameraPos = camera.getCameraPos();
- Vec3d cameraPos = mc.gameRenderer.getCamera().getPos();
- float minX = (float) (box.minX - cameraPos.x);
- float minY = (float) (box.minY - cameraPos.y);
- float minZ = (float) (box.minZ - cameraPos.z);
- float maxX = (float) (box.maxX - cameraPos.x);
- float maxY = (float) (box.maxY - cameraPos.y);
- float maxZ = (float) (box.maxZ - cameraPos.z);
+ matrices.multiply(RotationAxis.POSITIVE_X.rotationDegrees(1 / camera.getPitch()));
+ matrices.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(1 / (camera.getYaw() + 180f)));
- BufferBuilder buffer = tesselator.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR_NORMAL);
-
- VertexRendering.drawBox(matrices.peek(), buffer, minX, minY, minZ, maxX, maxY, maxZ, r, g, b, a);
-
- Layers.getGlobalLines(lineWidth).draw(buffer.end());
+ VertexRendering.drawOutline(
+ matrices,
+ mc.getBufferBuilders()
+ .getEntityVertexConsumers()
+ .getBuffer(RenderLayers.lines()),
+ VoxelShapes.cuboid(box),
+ -cameraPos.x,
+ -cameraPos.y,
+ -cameraPos.z,
+ color.getRGB(),
+ lineWidth);
}
public static void drawFilledBox(MatrixStack matrices, Box box, Color color) {
- Vec3d cameraPos = mc.gameRenderer.getCamera().getPos();
+ Vec3d cameraPos = mc.gameRenderer.getCamera().getCameraPos();
float minX = (float) (box.minX - cameraPos.x);
float minY = (float) (box.minY - cameraPos.y);
float minZ = (float) (box.minZ - cameraPos.z);
diff --git a/src/main/resources/camtweaks.accesswidener b/src/main/resources/camtweaks.accesswidener
index 06a31f8..070c71f 100644
--- a/src/main/resources/camtweaks.accesswidener
+++ b/src/main/resources/camtweaks.accesswidener
@@ -1,5 +1,6 @@
accessWidener v2 named
+
accessible method net/minecraft/network/ClientConnection handleQueuedTasks ()V
accessible method net/minecraft/network/ClientConnection sendImmediately (Lnet/minecraft/network/packet/Packet;Lio/netty/channel/ChannelFutureListener;Z)V
accessible field net/minecraft/network/ClientConnection queuedTasks Ljava/util/Queue;
@@ -17,9 +18,8 @@ accessible field net/minecraft/client/particle/Particle gravityStrength F
accessible field net/minecraft/client/particle/Particle collidesWithWorld Z
accessible field net/minecraft/entity/LivingEntity jumpingCooldown I
+accessible method net/minecraft/client/render/RenderLayer (Ljava/lang/String;Lnet/minecraft/client/render/RenderSetup;)V
accessible field net/minecraft/client/render/WorldRenderer worldRenderState Lnet/minecraft/client/render/state/WorldRenderState;
-accessible method net/minecraft/client/render/WorldRenderer method_74752 (Lnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/Frustum;Z)V
accessible method net/minecraft/client/render/GameRenderer getProjectionMatrix (F)Lorg/joml/Matrix4f;
-accessible method net/minecraft/client/render/command/DebugHitboxCommandRenderer renderDebugHitbox (Lnet/minecraft/client/util/math/MatrixStack;Lnet/minecraft/client/render/entity/state/EntityHitboxAndView;Lnet/minecraft/client/render/VertexConsumer;F)V
accessible method net/minecraft/screen/ScreenHandlerType register (Ljava/lang/String;Lnet/minecraft/screen/ScreenHandlerType$Factory;)Lnet/minecraft/screen/ScreenHandlerType;
\ No newline at end of file
diff --git a/src/main/resources/camtweaks.mixins.json b/src/main/resources/camtweaks.mixins.json
index 3bc3fd9..2fbe006 100644
--- a/src/main/resources/camtweaks.mixins.json
+++ b/src/main/resources/camtweaks.mixins.json
@@ -4,7 +4,6 @@
"compatibilityLevel": "JAVA_21",
"mixins": [
"ClientConnectionMixin",
- "DimensionTypeMixin",
"EntityMixin",
"HandshakeC2SPacketMixin",
"ItemEntityMixin",