Skip to content

Commit

Permalink
All of the Mixins work as they should now (that sucked)
Browse files Browse the repository at this point in the history
  • Loading branch information
Deftu committed Dec 27, 2024
1 parent af5f5d0 commit 8cd9e19
Show file tree
Hide file tree
Showing 16 changed files with 192 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,18 @@ public abstract class Mixin_ChatReceiveEvent_Fabric {
@Unique
private ChatReceiveEvent ocfg$chatEvent = null;

@Inject(method = "onGameMessage", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/hud/InGameHud;addChatMessage(Lnet/minecraft/network/MessageType;Lnet/minecraft/text/Text;Ljava/util/UUID;)V"), cancellable = true)
@Inject(
method = "onGameMessage",
at = @At(
value = "INVOKE",
//#if MC >= 1.19
//$$ target = "Lnet/minecraft/client/network/message/MessageHandler;onGameMessage(Lnet/minecraft/text/Text;Z)V"
//#else
target = "Lnet/minecraft/client/gui/hud/InGameHud;addChatMessage(Lnet/minecraft/network/MessageType;Lnet/minecraft/text/Text;Ljava/util/UUID;)V"
//#endif
),
cancellable = true
)
private void chatCallback(GameMessageS2CPacket packet, CallbackInfo ci) {
if (ocfg$chatEvent != null && ocfg$chatEvent.cancelled) {
ci.cancel();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,13 @@ public abstract class Mixin_IncludeCommandSuggestions {
}

@Inject(method = m_complete, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayNetworkHandler;sendPacket(Lnet/minecraft/network/Packet;)V"))
private void commands$processAutoComplete(String string, String string2, CallbackInfo ci) {
private void commands$processAutoComplete(
String string,
//#if MC <= 1.8.9
String string2,
//#endif
CallbackInfo ci
) {
ClientCommandHandler.instance.autoComplete(string);
}

Expand Down
2 changes: 2 additions & 0 deletions versions/mappings/fabric-forge-1.16.5.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ net.minecraft.util.profiler.Profiler net.minecraft.profiler.Profiler
net.minecraft.util.registry.RegistryKey net.minecraft.util.RegistryKey

net.minecraft.client.MinecraftClient getWindow() getMainWindow()

net.minecraft.entity.LivingEntity net.minecraft.entity.EntityLiving
1 change: 1 addition & 0 deletions versions/mappings/forge-1.16.5-1.12.2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ net.minecraft.client.renderer.GameRenderer net.minecraft.client.renderer.EntityR
net.minecraft.client.renderer.GameRenderer renderWorld() renderWorldPass()

net.minecraft.entity.LivingEntity net.minecraft.entity.EntityLivingBase
net.minecraft.entity.LivingEntity net.minecraft.entity.EntityLiving

net.minecraft.client.world.ClientWorld net.minecraft.client.multiplayer.WorldClient

Expand Down
4 changes: 4 additions & 0 deletions versions/mappings/forge-1.17.1-1.16.5.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ com.mojang.blaze3d.vertex.Tesselator end() draw()
com.mojang.blaze3d.vertex.Tesselator getBuilder() getBuffer()
com.mojang.blaze3d.vertex.Tesselator net.minecraft.client.renderer.Tessellator

net.minecraft.client.gui.Gui renderIngameGui() render()

net.minecraft.client.Minecraft missTime leftClickCounter

net.minecraft.client.sounds.SoundEngine net.minecraft.client.audio.SoundEngine

net.minecraft.ChatFormatting net.minecraft.util.text.TextFormatting
Expand Down
2 changes: 2 additions & 0 deletions versions/mappings/forge-1.19.4-1.18.2.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ net.minecraftforge.client.event.ScreenOpenEvent getNewScreen() getScreen()
net.minecraftforge.client.event.ScreenEvent$Opening net.minecraftforge.client.event.ScreenOpenEvent

org.joml.Matrix4f com.mojang.math.Matrix4f

net.minecraftforge.client.ForgeHooksClient onMouseButtonPre() onRawMouseClicked()
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
//$$ import net.minecraft.client.gui.hud.InGameHud;
//#endif
//$$
//#if MC >= 1.13
//#if MC >= 1.20
//$$ import net.minecraft.client.gui.DrawContext;
//#elseif MC >= 1.13
//$$ import com.mojang.blaze3d.matrix.MatrixStack;
//#endif
//#endif
Expand All @@ -35,21 +37,29 @@ public class Mixin_HudRenderEvent {
//#if FORGE && MC <= 1.12.2
method = "renderGameOverlay",
//#elseif FORGE
//#if MC >= 1.17
//$$ method = "render",
//#else
//$$ method = "renderIngameGui",
//#endif
//#else
//$$ method = "render",
//#endif
at = @At("TAIL")
)
private void renderHudCallback(
//#if MC >= 1.13
//#if MC >= 1.20
//$$ DrawContext ctx,
//#elseif MC >= 1.13
//$$ MatrixStack matrixStack,
//#endif
float partialTicks,
CallbackInfo ci
) {
UMatrixStack stack =
//#if MC >= 1.13
//#if MC >= 1.20
//$$ new UMatrixStack(ctx.getMatrices());
//#elseif MC >= 1.13
//$$ new UMatrixStack(matrixStack);
//#else
new UMatrixStack();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
public class Mixin_KeyInputEvent {

//#if MC >= 1.16.5
//#if FORGE
//$$ @ModifyVariable(method = "onKeyEvent", at = @At(value = "STORE"), ordinal = 0)
//$$ private boolean keyCallback(boolean original, long windowPointer, int key, int scanCode, int action, int modifiers) {
//$$ EventManager.INSTANCE.post(new KeyInputEvent(key, (char) 0, action));
Expand All @@ -33,6 +34,7 @@ public class Mixin_KeyInputEvent {
//$$ EventManager.INSTANCE.post(new KeyInputEvent(0, key, 1));
//$$ return original;
//$$ }
//#endif
//#else

//@formatter:off
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,11 @@ public class Mixin_MouseInputEvent {
//#endif
//$$ at = @At(
//$$ value = "INVOKE",
//#if MC >= 1.20.4
//$$ target = "Lnet/minecraftforge/client/event/ForgeEventFactoryClient;onMouseButtonPre(III)Z",
//#else
//$$ target = "Lnet/minecraftforge/client/ForgeHooksClient;onRawMouseClicked(III)Z",
//#endif
//$$ remap = false
//$$ ),
//$$ remap = true
Expand All @@ -56,7 +60,18 @@ public class Mixin_MouseInputEvent {

//@formatter:off
//#if FORGE
@Inject(method = "runTick", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/client/ForgeHooksClient;postMouseEvent()Z", remap = false))
@Inject(
//#if MC >= 1.12.2
//$$ method = "runTickMouse",
//#else
method = "runTick",
//#endif
at = @At(
value = "INVOKE",
target = "Lnet/minecraftforge/client/ForgeHooksClient;postMouseEvent()Z",
remap = false
)
)
//#else
//#if MC==10809
//$$ @Inject(method = "tick", at = @At(value = "INVOKE", target = "Lorg/lwjgl/input/Mouse;getEventButton()I", remap = false))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,12 @@ public class Mixin_PlayerInteractEvent_RightAction {
//$$ remap = false
//#endif
//#elseif MC >= 1.12.2
//#if FORGE
//$$ target = "Lnet/minecraft/client/entity/EntityPlayerSP;getHeldItem(Lnet/minecraft/util/EnumHand;)Lnet/minecraft/item/ItemStack;"
//#else
//$$ target = "Lnet/minecraft/entity/player/ClientPlayerEntity;getStackInHand(Lnet/minecraft/util/Hand;)Lnet/minecraft/item/ItemStack;"
//#endif
//#else
target = "Lnet/minecraft/entity/player/InventoryPlayer;getCurrentItem()Lnet/minecraft/item/ItemStack;"
//#endif
),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,16 @@ public class Mixin_PostWorldRenderEvent {
method = "renderWorldPass",
at = @At(
value = "INVOKE",
target = "Lnet/minecraft/profiler/Profiler;endStartSection(Ljava/lang/String;)V",
target = "Lnet/minecraft/profiler/Profiler;endStartSection(Ljava/lang/String;)V"
//#if FABRIC
//$$ ordinal = 1
//#if MC <= 1.12.2
//$$ , ordinal = 1
//#endif
//#else
//#if MC >= 1.16.5
//$$ ordinal = 1
//$$ , ordinal = 1
//#else
ordinal = 2
, ordinal = 2
//#endif
//#endif
),
Expand All @@ -34,7 +36,11 @@ public class Mixin_PostWorldRenderEvent {
//$$ value = "INVOKE",
//#if MC >= 1.17.1
//#if FABRIC
//#if MC >= 1.19.4
//$$ target "Lnet/minecraft/client/render/WorldRenderer;render(Lnet/minecraft/client/util/math/MatrixStack;FJZLnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/GameRenderer;Lnet/minecraft/client/render/LightmapTextureManager;Lorg/joml/Matrix4f;)V"
//#else
//$$ target = "Lnet/minecraft/client/render/WorldRenderer;render(Lnet/minecraft/client/util/math/MatrixStack;FJZLnet/minecraft/client/render/Camera;Lnet/minecraft/client/render/GameRenderer;Lnet/minecraft/client/render/LightmapTextureManager;Lnet/minecraft/util/math/Matrix4f;)V"
//#endif
//#else
//$$ target = "Lnet/minecraft/client/renderer/LevelRenderer;renderLevel(Lcom/mojang/blaze3d/vertex/PoseStack;FJZLnet/minecraft/client/Camera;Lnet/minecraft/client/renderer/GameRenderer;Lnet/minecraft/client/renderer/LightTexture;Lcom/mojang/math/Matrix4f;)V"
//#endif
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,16 @@
import net.minecraft.client.renderer.entity.RendererLivingEntity;
//#endif

//#if MC >= 1.12.2
//#if FORGE
//$$ import net.minecraft.entity.EntityLiving;
//#else
//$$ import net.minecraft.entity.LivingEntity;
//#endif
//#else
import net.minecraft.entity.EntityLivingBase;
//#endif

import net.minecraft.profiler.Profiler;
import org.polyfrost.oneconfig.api.event.v1.EventManager;
import org.polyfrost.oneconfig.api.event.v1.events.RenderLivingEntityEvent;
Expand All @@ -23,7 +32,18 @@
//#else
@Mixin(RendererLivingEntity.class)
//#endif
public class Mixin_RenderLivingEntityEvent<T extends EntityLivingBase> {
public class Mixin_RenderLivingEntityEvent<
T extends
//#if MC >= 1.12.2
//#if FORGE
//$$ EntityLiving
//#else
//$$ LivingEntity
//#endif
//#else
EntityLivingBase
//#endif
> {

@Inject(
//#if MC >= 1.17.1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
package org.polyfrost.oneconfig.internal.mixin.events;

//#if FORGE
//#if MC >= 1.20.4
//$$ import net.minecraft.client.gui.screens.Screen;
//#else
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.fml.common.eventhandler.Event;
//#endif
//#else
//$$ import org.polyfrost.oneconfig.api.event.v1.events.ScreenOpenEvent;
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
Expand All @@ -19,7 +23,31 @@
public class Mixin_ScreenOpenEvent {

//#if FORGE
@ModifyArg(method = "displayGuiScreen", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/common/eventhandler/EventBus;post(Lnet/minecraftforge/fml/common/eventhandler/Event;)Z", remap = false))
@ModifyArg(
method = "displayGuiScreen",
at = @At(
value = "INVOKE",
//#if MC >= 1.20.4
//$$ target = "Lnet/minecraftforge/client/event/ForgeEventFactoryClient;onScreenOpening(Lnet/minecraft/client/gui/screens/Screen;Lnet/minecraft/client/gui/screens/Screen;)Lnet/minecraft/client/gui/screens/Screen;",
//#elseif MC >= 1.16.5
//$$ target = "Lnet/minecraftforge/eventbus/api/IEventBus;post(Lnet/minecraftforge/eventbus/api/Event;)Z",
//#else
target = "Lnet/minecraftforge/fml/common/eventhandler/EventBus;post(Lnet/minecraftforge/fml/common/eventhandler/Event;)Z",
//#endif
remap = false
)
)
//#if MC >= 1.20.4
//$$ private Screen screenOpenCallback(Screen oldScreen, Screen newScreen) {
//$$ org.polyfrost.oneconfig.api.event.v1.events.ScreenOpenEvent event = new org.polyfrost.oneconfig.api.event.v1.events.ScreenOpenEvent(newScreen);
//$$ EventManager.INSTANCE.post(event);
//$$ if (event.cancelled) {
//$$ return oldScreen;
//$$ }
//$$
//$$ return event.getScreen();
//$$ }
//#else
private Event screenOpenCallback(Event a) {
if (a instanceof GuiOpenEvent) {
// w: not imported because 1.18+ they renamed it to be the same (breh)
Expand All @@ -40,6 +68,7 @@ private Event screenOpenCallback(Event a) {
}
return a;
}
//#endif
//#else
//$$ @Inject(method = "openScreen", at = @At(value = "INVOKE", target =
//#if MC >= 1.13
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,43 @@
//#if FORGE && MC <= 1.12.2
package org.polyfrost.oneconfig.internal.mixin.forge;

//#if MC >= 1.12.2
//$$ import org.apache.logging.log4j.Logger;
//#else
import org.apache.logging.log4j.Level;
//#endif

import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
import net.minecraftforge.fml.common.discovery.asm.ASMModParser;
import org.apache.logging.log4j.Level;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;

@Mixin(value = ASMModParser.class, remap = false)
public class Mixin_ASMModParser_IgnoreForgeJava9Spam {

@WrapWithCondition(method = "<init>", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/common/FMLLog;log(Lorg/apache/logging/log4j/Level;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V"))
private boolean ignoreException(Level level, Throwable ex, String format, Object[] data) {
@WrapWithCondition(
method = "<init>",
at = @At(
value = "INVOKE",
//#if MC >= 1.12.2
//$$ target = "Lorg/apache/logging/log4j/Logger;error(Ljava/lang/String;Ljava/lang/Throwable;)V"
//#else
target = "Lnet/minecraftforge/fml/common/FMLLog;log(Lorg/apache/logging/log4j/Level;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V"
//#endif
)
)
private boolean ignoreException(
//#if MC >= 1.12.2
//$$ Logger instance,
//$$ String s,
//$$ Throwable ex
//#else
Level level,
Throwable ex,
String format,
Object[] data
//#endif
) {
return !(ex instanceof IllegalArgumentException);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@
//#if FORGE && MC <= 1.12.2
package org.polyfrost.oneconfig.internal.mixin.forge;

//#if MC >= 1.12.2
//$$ import org.apache.logging.log4j.Logger;
//#else
import org.apache.logging.log4j.Level;
//#endif

import com.llamalad7.mixinextras.injector.v2.WrapWithCondition;
import net.minecraftforge.fml.common.LoaderException;
import net.minecraftforge.fml.common.discovery.JarDiscoverer;
Expand All @@ -37,16 +43,38 @@
@Mixin(value = JarDiscoverer.class, remap = false)
public class Mixin_JarDiscoverer_IgnoreForgeJava9Spam {

@WrapWithCondition(method =
//#if MC <= 1.8.9
"discover"
@WrapWithCondition(
//#if MC > 1.8.9
//$$ method = "findClassesASM",
//#else
method = "discover",
//#endif
at = @At(
value = "INVOKE",
//#if MC > 1.8.9
//$$ target = "Lorg/apache/logging/log4j/Logger;error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V"
//#else
target = "Lnet/minecraftforge/fml/common/FMLLog;log(Lorg/apache/logging/log4j/Level;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V"
//#endif
)
)
private boolean ignoreException(
//#if MC >= 1.12.2
//$$ Logger instance,
//$$ String s,
//$$ Object o1,
//$$ Object o2,
//$$ Object ex
//#else
//$$ "findClassesASM"
Level level,
Throwable ex,
String format,
Object[] data
//#endif
, at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/common/FMLLog;log(Lorg/apache/logging/log4j/Level;Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V"))
private boolean ignoreException(Level level, Throwable ex, String format, Object[] data) {
) {
if (ex instanceof LoaderException) {
return !(ex.getCause() instanceof IllegalArgumentException);
LoaderException loaderException = (LoaderException) ex;
return !(loaderException.getCause() instanceof IllegalArgumentException);
}

return true;
Expand Down
Loading

0 comments on commit 8cd9e19

Please sign in to comment.