Skip to content

Commit

Permalink
Forge is really and truly evil and shouldn't exist :)
Browse files Browse the repository at this point in the history
  • Loading branch information
Deftu committed Dec 25, 2024
1 parent 7c47aa8 commit f7a03b3
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 4 deletions.
1 change: 1 addition & 0 deletions versions/mappings/forge-1.12.2-1.8.9.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ net.minecraft.util.text.TextFormatting net.minecraft.util.EnumChatFormatting
net.minecraft.client.renderer.entity.RenderLiving net.minecraft.client.renderer.entity.RendererLivingEntity

net.minecraft.util.math.RayTraceResult net.minecraft.util.MovingObjectPosition
net.minecraft.util.math.RayTraceResult$Type net.minecraft.util.MovingObjectPosition$MovingObjectType

org.objectweb.asm.commons.ClassRemapper org.objectweb.asm.commons.RemappingClassAdapter
7 changes: 7 additions & 0 deletions versions/mappings/forge-1.17.1-1.16.5.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
net.minecraft.client.Minecraft hitResult objectMouseOver
net.minecraft.client.Minecraft startAttack() clickMouse()
net.minecraft.client.Minecraft continueAttack() sendClickBlockToController()
net.minecraft.client.Minecraft startUseItem() rightClickMouse()

net.minecraft.world.phys.HitResult net.minecraft.util.math.RayTraceResult

com.mojang.blaze3d.pipeline.RenderTarget blitToScreen() framebufferRender()
com.mojang.blaze3d.pipeline.RenderTarget net.minecraft.client.shader.Framebuffer

Expand Down
2 changes: 2 additions & 0 deletions versions/mappings/forge-1.18.2-1.17.1.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
net.minecraft.client.Minecraft missTime leftClickCounter

net.minecraftforge.client.event.ClientPlayerNetworkEvent getConnection() getNetworkManager()

net.minecraftforge.client.event.ScreenOpenEvent getScreen() getGui()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
package org.polyfrost.oneconfig.internal.mixin;

//#if MC >= 1.18.2
//$$ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
//#endif

import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.util.MovingObjectPosition;
Expand Down Expand Up @@ -34,15 +38,27 @@ public class Mixin_PlayerInteractEvent_LeftAction {
),
cancellable = true
)
private void onPlayerAttackCallback(CallbackInfo ci) {
private void onPlayerAttackCallback(
//#if MC >= 1.18.2
//$$ CallbackInfoReturnable<Boolean> cir
//#else
CallbackInfo ci
//#endif
) {
if (this.leftClickCounter > 0) {
return;
}

MovingObjectPosition rayCastedObject = this.objectMouseOver;
PlayerInteractEvent.Type type = PlayerInteractEvent.Type.AIR;
if (rayCastedObject != null) {
switch (rayCastedObject.typeOfHit) {
MovingObjectPosition.MovingObjectType typeOfHit =
//#if MC >= 1.16.5
//$$ rayCastedObject.getType();
//#else
rayCastedObject.typeOfHit;
//#endif
switch (typeOfHit) {
case BLOCK:
type = PlayerInteractEvent.Type.BLOCK;
break;
Expand All @@ -55,7 +71,11 @@ private void onPlayerAttackCallback(CallbackInfo ci) {
lastAttackEvent = new PlayerInteractEvent(this.thePlayer, PlayerInteractEvent.Action.LEFT, type);
EventManager.INSTANCE.post(lastAttackEvent);
if (lastAttackEvent.cancelled) {
//#if MC >= 1.18.2
//$$ cir.setReturnValue(false);
//#else
ci.cancel();
//#endif
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,22 @@ public class Mixin_PlayerInteractEvent_RightAction {
method = "rightClickMouse",
at = @At(
value = "INVOKE",
//#if MC >= 1.12.2
//#if MC >= 1.16.5
//#if FABRIC
//$$ target = "Lnet/minecraft/client/network/ClientPlayerEntity;getStackInHand(Lnet/minecraft/util/Hand;)Lnet/minecraft/item/ItemStack;"
//#else
//#if MC >= 1.19.4
//$$ target = "Lnet/minecraftforge/client/ForgeHooksClient;onClickInput(ILnet/minecraft/client/KeyMapping;Lnet/minecraft/world/InteractionHand;)Lnet/minecraftforge/client/event/InputEvent$InteractionKeyMappingTriggered;",
//#elseif MC >= 1.18.2
//$$ target = "Lnet/minecraftforge/client/ForgeHooksClient;onClickInput(ILnet/minecraft/client/KeyMapping;Lnet/minecraft/world/InteractionHand;)Lnet/minecraftforge/client/event/InputEvent$ClickInputEvent;",
//#elseif MC >= 1.17.1
//$$ target = "Lnet/minecraftforge/client/ForgeHooksClient;onClickInput(ILnet/minecraft/client/KeyMapping;Lnet/minecraft/world/InteractionHand;)Lnet/minecraftforge/client/event/InputEvent$ClickInputEvent;",
//#else
//$$ target = "Lnet/minecraftforge/client/ForgeHooksClient;onClickInput(ILnet/minecraft/client/settings/KeyBinding;Lnet/minecraft/util/Hand;)Lnet/minecraftforge/client/event/InputEvent$ClickInputEvent;",
//#endif
//$$ remap = false
//#endif
//#elseif MC >= 1.12.2
//$$ target = "Lnet/minecraft/client/entity/EntityPlayerSP;getHeldItem(Lnet/minecraft/util/EnumHand;)Lnet/minecraft/item/ItemStack;"
//#else
target = "Lnet/minecraft/entity/player/InventoryPlayer;getCurrentItem()Lnet/minecraft/item/ItemStack;"
Expand All @@ -33,7 +48,13 @@ private void onPlayerInteractCallback(CallbackInfo ci) {
MovingObjectPosition rayCastedObject = this.objectMouseOver;
PlayerInteractEvent.Type type = PlayerInteractEvent.Type.AIR;
if (rayCastedObject != null) {
switch (rayCastedObject.typeOfHit) {
MovingObjectPosition.MovingObjectType typeOfHit =
//#if MC >= 1.16.5
//$$ rayCastedObject.getType();
//#else
rayCastedObject.typeOfHit;
//#endif
switch (typeOfHit) {
case BLOCK:
type = PlayerInteractEvent.Type.BLOCK;
break;
Expand Down

0 comments on commit f7a03b3

Please sign in to comment.