@Mixin(Minecraft.class) public class MixinMinecraft @Redirect(method = "runTick", at = @At(value = "FIELD", target = "Lnet/minecraft/client/Minecraft;rightClickDelayTimer:I")) public int onRightClickDelay(Minecraft mc, int value) if (Config.fastPlaceEnabled) return 0; return value;
// Vanilla Behavior public void rightClickMouse() if (this.rightClickDelayTimer == 0) // Perform action this.playerController.onPlayerRightClick(...); this.rightClickDelayTimer = 4; // Reset to 4 ticks fast block place mod 1.8.9
In 1.8.9, the server-side PlayerInteractionManager (actually NetHandlerPlayServer on the server, and PlayerControllerMP on client) controls click delay. But the is the client’s rightClickDelayTimer in Minecraft.getMinecraft().rightClickDelayTimer . @Mixin(Minecraft
: Use Command + Space and type ~/Library/Application Support/minecraft/mods . Use Forge’s PlayerInteractEvent
Use Forge’s PlayerInteractEvent.RightClickBlock with @SubscribeEvent(priority = EventPriority.HIGHEST) and cancel vanilla behavior, then manually trigger block placement logic without cooldown.
In vanilla 1.8.9, block placement is governed by:
public class Config public static boolean fastPlaceEnabled = true; public static boolean fastBreakEnabled = false;