-
-
Notifications
You must be signed in to change notification settings - Fork 102
/
Copy pathClientPlayerInteractionManagerMixin.java
25 lines (22 loc) · 1.19 KB
/
ClientPlayerInteractionManagerMixin.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package de.hysky.skyblocker.mixins;
import de.hysky.skyblocker.utils.Utils;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerInteractionManager;
import net.minecraft.client.toast.SystemToast;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.screen.slot.SlotActionType;
import net.minecraft.text.Text;
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.CallbackInfo;
@Mixin(ClientPlayerInteractionManager.class)
public class ClientPlayerInteractionManagerMixin {
@Inject(method = "clickSlot", at = @At("HEAD"), cancellable = true)
private void kickPreventer9000Version2GimmeGameBreaker(int syncId, int slotId, int button, SlotActionType actionType, PlayerEntity player, CallbackInfo ci) {
if (Utils.isOnSkyblock() && slotId == -1) {
MinecraftClient.getInstance().getToastManager().add(new SystemToast(SystemToast.Type.PERIODIC_NOTIFICATION, Text.literal("Slot -1 click prevented!"), Text.literal("Hypixel would have probably kicked you for that! Can you believe it?")));
ci.cancel();
}
}
}