Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Часть функционала AntiCrashPickaxe aka CrashNotification 1.21.4 fabric

Начинающий
Начинающий
Статус
Онлайн
Регистрация
2 Июл 2025
Сообщения
54
Реакции
1
Выберите загрузчик игры
  1. Fabric
Ну хз чисто для себя наклипал вроде норм

Пожалуйста, авторизуйтесь для просмотра ссылки.


java:
Expand Collapse Copy
package sweetie.evaware.client.features.modules.other;

import net.minecraft.item.ItemStack;
import net.minecraft.item.PickaxeItem;
import net.minecraft.screen.slot.SlotActionType;
import net.minecraft.util.Hand;
import sweetie.evaware.api.event.EventListener;
import sweetie.evaware.api.event.Listener;
import sweetie.evaware.api.event.events.player.world.BlockBreakEvent;
import sweetie.evaware.api.module.Category;
import sweetie.evaware.api.module.Module;
import sweetie.evaware.api.module.ModuleRegister;

@ModuleRegister(name = "CrashNotification", category = Category.OTHER)
public class CrashNotification extends Module {

    @Override
    public void onEvent() {

        EventListener blockBreakEvent = BlockBreakEvent.getInstance().subscribe(
                new Listener<>(1, event -> {

                    ItemStack item = mc.player.getMainHandStack();

                    if (!(item.getItem() instanceof PickaxeItem))
                        return;
                    
                    int remaining = item.getMaxDamage() - item.getDamage();

                    if (remaining < 50) {
                        mc.player.getInventory().selectedSlot = 1;
                        mc.interactionManager.syncSelectedSlot();

                        print("Ломать нельзя кирка щас сломается черт побери");
                    }
                })
        );
        addEvents(blockBreakEvent);
    }

}

MixinClientPlayerInteractionManager:
Expand Collapse Copy
        @Inject(method = "attackBlock", at = @At("HEAD"), cancellable = true)
        public void onAttackBlock(BlockPos pos, Direction direction, CallbackInfoReturnable<Boolean> cir) {

            if (BlockBreakEvent.getInstance().call()) {

                cir.setReturnValue(false);
                cir.cancel();

            }
        }

event:
Expand Collapse Copy
package sweetie.evaware.api.event.events.player.world;

import lombok.Getter;
import sweetie.evaware.api.event.events.Event;

public class BlockBreakEvent extends Event<BlockBreakEvent> {

    @Getter
    private static final BlockBreakEvent instance = new BlockBreakEvent();
}
 
Ну хз чисто для себя наклипал вроде норм

Пожалуйста, авторизуйтесь для просмотра ссылки.


java:
Expand Collapse Copy
package sweetie.evaware.client.features.modules.other;

import net.minecraft.item.ItemStack;
import net.minecraft.item.PickaxeItem;
import net.minecraft.screen.slot.SlotActionType;
import net.minecraft.util.Hand;
import sweetie.evaware.api.event.EventListener;
import sweetie.evaware.api.event.Listener;
import sweetie.evaware.api.event.events.player.world.BlockBreakEvent;
import sweetie.evaware.api.module.Category;
import sweetie.evaware.api.module.Module;
import sweetie.evaware.api.module.ModuleRegister;

@ModuleRegister(name = "CrashNotification", category = Category.OTHER)
public class CrashNotification extends Module {

    @Override
    public void onEvent() {

        EventListener blockBreakEvent = BlockBreakEvent.getInstance().subscribe(
                new Listener<>(1, event -> {

                    ItemStack item = mc.player.getMainHandStack();

                    if (!(item.getItem() instanceof PickaxeItem))
                        return;
                   
                    int remaining = item.getMaxDamage() - item.getDamage();

                    if (remaining < 50) {
                        mc.player.getInventory().selectedSlot = 1;
                        mc.interactionManager.syncSelectedSlot();

                        print("Ломать нельзя кирка щас сломается черт побери");
                    }
                })
        );
        addEvents(blockBreakEvent);
    }

}

MixinClientPlayerInteractionManager:
Expand Collapse Copy
        @Inject(method = "attackBlock", at = @At("HEAD"), cancellable = true)
        public void onAttackBlock(BlockPos pos, Direction direction, CallbackInfoReturnable<Boolean> cir) {

            if (BlockBreakEvent.getInstance().call()) {

                cir.setReturnValue(false);
                cir.cancel();

            }
        }

event:
Expand Collapse Copy
package sweetie.evaware.api.event.events.player.world;

import lombok.Getter;
import sweetie.evaware.api.event.events.Event;

public class BlockBreakEvent extends Event<BlockBreakEvent> {

    @Getter
    private static final BlockBreakEvent instance = new BlockBreakEvent();
}
нахрена? люди разучились следить за прочностью?
 
нахрена? люди разучились следить за прочностью?
1771349570948.png

Asm:
Expand Collapse Copy
 for (String word : banWords) {
                if (message.contains(word)) {
                    print("BanWord |" + TextFormatting.RED + " Обнаружены запрещенные слова. Отправка отменена.");
                    e.cancel();
                    break;
                }
            }
чувак...
/del
 
Ну хз чисто для себя наклипал вроде норм

Пожалуйста, авторизуйтесь для просмотра ссылки.


java:
Expand Collapse Copy
package sweetie.evaware.client.features.modules.other;

import net.minecraft.item.ItemStack;
import net.minecraft.item.PickaxeItem;
import net.minecraft.screen.slot.SlotActionType;
import net.minecraft.util.Hand;
import sweetie.evaware.api.event.EventListener;
import sweetie.evaware.api.event.Listener;
import sweetie.evaware.api.event.events.player.world.BlockBreakEvent;
import sweetie.evaware.api.module.Category;
import sweetie.evaware.api.module.Module;
import sweetie.evaware.api.module.ModuleRegister;

@ModuleRegister(name = "CrashNotification", category = Category.OTHER)
public class CrashNotification extends Module {

    @Override
    public void onEvent() {

        EventListener blockBreakEvent = BlockBreakEvent.getInstance().subscribe(
                new Listener<>(1, event -> {

                    ItemStack item = mc.player.getMainHandStack();

                    if (!(item.getItem() instanceof PickaxeItem))
                        return;
                   
                    int remaining = item.getMaxDamage() - item.getDamage();

                    if (remaining < 50) {
                        mc.player.getInventory().selectedSlot = 1;
                        mc.interactionManager.syncSelectedSlot();

                        print("Ломать нельзя кирка щас сломается черт побери");
                    }
                })
        );
        addEvents(blockBreakEvent);
    }

}

MixinClientPlayerInteractionManager:
Expand Collapse Copy
        @Inject(method = "attackBlock", at = @At("HEAD"), cancellable = true)
        public void onAttackBlock(BlockPos pos, Direction direction, CallbackInfoReturnable<Boolean> cir) {

            if (BlockBreakEvent.getInstance().call()) {

                cir.setReturnValue(false);
                cir.cancel();

            }
        }

event:
Expand Collapse Copy
package sweetie.evaware.api.event.events.player.world;

import lombok.Getter;
import sweetie.evaware.api.event.events.Event;

public class BlockBreakEvent extends Event<BlockBreakEvent> {

    @Getter
    private static final BlockBreakEvent instance = new BlockBreakEvent();
}
Нормик нормик мб сделаю такую же штуку
 
Назад
Сверху Снизу