Исходник TriggerBot FT I 1.20.1 I expensive 4.0 ready

Начинающий
Статус
Оффлайн
Регистрация
5 Мар 2024
Сообщения
5
Реакции[?]
0
Поинты[?]
0

Перед прочтением основного контента ниже, пожалуйста, обратите внимание на обновление внутри секции Майна на нашем форуме. У нас появились:

  • бесплатные читы для Майнкрафт — любое использование на свой страх и риск;
  • маркетплейс Майнкрафт — абсолютно любая коммерция, связанная с игрой, за исключением продажи читов (аккаунты, предоставления услуг, поиск кодеров читов и так далее);
  • приватные читы для Minecraft — в этом разделе только платные хаки для игры, покупайте группу "Продавец" и выставляйте на продажу свой софт;
  • обсуждения и гайды — всё тот же раздел с вопросами, но теперь модернизированный: поиск нужных хаков, пати с игроками-читерами и другая полезная информация.

Спасибо!

Доброй ночи, новый тригер под фт.
Пол часа тестов, после тестов бегал 15 минут меня не забанило.
ss - не нужен
UPD 14:20: я добавил проверку на меч в руке, и немного изменил систему деактивации и активации.
package ru.expensive.implement.features.modules.combat;

import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.registry.tag.FluidTags;
import net.minecraft.util.hit.EntityHitResult;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import ru.expensive.api.feature.module.Module;
import ru.expensive.api.feature.module.ModuleCategory;
import ru.expensive.api.feature.module.setting.implement.BooleanSetting;

public class TriggerBot extends Module {

private final BooleanSetting onlyCrits = new BooleanSetting("Only crits", "Activated only crits");
private final MinecraftClient mc = MinecraftClient.getInstance();

private LivingEntity target;

public TriggerBot() {
super("TriggerBot", ModuleCategory.COMBAT);
setup(onlyCrits);
ClientTickEvents.END_CLIENT_TICK.register(client -> this.onTick());
}

public void onTick() {
if (mc.world == null || mc.player == null || mc.crosshairTarget == null) {
return;
}

if (mc.crosshairTarget instanceof EntityHitResult hitResult) {
if (hitResult.getEntity() instanceof LivingEntity target && target != mc.player && canAttack(target)) {
performAttack(target);
}
}
}

public boolean canAttack(LivingEntity target) {
if (target == null || target == mc.player || !target.isAttackable() || target.isDead()) {
return false;
}

if (!isSwordInHand()) {
return false;
}

if (mc.player.getAttackCooldownProgress(0.5F) < 0.93F) {
return false;
}

boolean reasonForAttack = mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
|| mc.player.isClimbing()
|| (mc.player.isTouchingWater() && mc.player.isSubmergedIn(FluidTags.WATER))
|| mc.player.hasVehicle()
|| mc.player.getAbilities().flying
|| mc.player.isFallFlying();

if (!reasonForAttack && onlyCrits.get()) {
return !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
}

return !reasonForAttack;
}

private boolean isSwordInHand() {
ItemStack mainHandItem = mc.player.getMainHandStack();
return mainHandItem.getItem() == Items.WOODEN_SWORD || mainHandItem.getItem() == Items.STONE_SWORD
|| mainHandItem.getItem() == Items.IRON_SWORD || mainHandItem.getItem() == Items.GOLDEN_SWORD
|| mainHandItem.getItem() == Items.DIAMOND_SWORD || mainHandItem.getItem() == Items.NETHERITE_SWORD;
}

private void performAttack(LivingEntity target) {
if (mc.interactionManager != null && mc.player != null) {
mc.interactionManager.attackEntity(mc.player, target);
mc.player.swingHand(mc.player.getActiveHand());
}
}

@Override
public void deactivate() {
target = null;
super.deactivate();
}

@Override
public boolean isEnabled() {
target = mc.player;
return false;
}
}



Я ИСКРЕННЕ ИЗВИНЯЮСЬ ЗА ТАКОЙ КАЛИЧНЫЙ КОД(ТИПО ЕГО НЕЛЬЗЯ СКОПИРОВАТЬ, Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ!)
Я ИСКРЕННЕ ИЗВИНЯЮСЬ ЗА ТАКОЙ КАЛИЧНЫЙ КОД(ТИПО ЕГО НЕЛЬЗЯ СКОПИРОВАТЬ, Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ!)
Я ИСКРЕННЕ ИЗВИНЯЮСЬ ЗА ТАКОЙ КАЛИЧНЫЙ КОД(ТИПО ЕГО НЕЛЬЗЯ СКОПИРОВАТЬ, Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ!)
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
26 Янв 2023
Сообщения
193
Реакции[?]
1
Поинты[?]
1K
Норм код:
package ru.expensive.implement.features.modules.combat;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.tag.FluidTags;
import net.minecraft.util.hit.EntityHitResult;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import ru.expensive.api.feature.module.Module;
import ru.expensive.api.feature.module.ModuleCategory;
import ru.expensive.api.feature.module.setting.implement.BooleanSetting;
public class TriggerBot extends Module {
private final BooleanSetting onlyCrits = new BooleanSetting("Only crits", "Activated only crits");
private final MinecraftClient mc = MinecraftClient.getInstance();
private boolean toggled;
public TriggerBot() {
super("TriggerBot", ModuleCategory.COMBAT);
setup(onlyCrits);
ClientTickEvents.END_CLIENT_TICK.register(client -> this.onTick());
}
public void onTick() {
if (mc.world == null || mc.player == null || mc.crosshairTarget == null) {
return;
}
if (mc.crosshairTarget instanceof EntityHitResult hitResult) {
if (hitResult.getEntity() instanceof LivingEntity target && target != mc.player && canAttack(target)) {
performAttack(target);
}
}
}
public boolean canAttack(LivingEntity target) {
if (target == null || target == mc.player || !target.isAttackable() || target.isDead()) {
return false;
}
if (mc.player.getAttackCooldownProgress(0.5F) < 0.93F) {
return false;
}
boolean reasonForAttack = mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
|| mc.player.isClimbing()
|| (mc.player.isTouchingWater() && mc.player.isSubmergedIn(FluidTags.WATER))
|| mc.player.hasVehicle()
|| mc.player.getAbilities().flying
|| mc.player.isFallFlying();
if (!reasonForAttack && onlyCrits.get()) {
return !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
}
return !reasonForAttack;
}
private void performAttack(LivingEntity target) {
if (mc.interactionManager != null && mc.player != null) {
mc.interactionManager.attackEntity(mc.player, target);
mc.player.swingHand(mc.player.getActiveHand());
}
}
@Override
public boolean isEnabled() {
return this.toggled;
}
public void toggle() {
this.toggled = !this.toggled;
}
}
 
Начинающий
Статус
Оффлайн
Регистрация
5 Мар 2024
Сообщения
5
Реакции[?]
0
Поинты[?]
0
Норм код:
package ru.expensive.implement.features.modules.combat;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.tag.FluidTags;
import net.minecraft.util.hit.EntityHitResult;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import ru.expensive.api.feature.module.Module;
import ru.expensive.api.feature.module.ModuleCategory;
import ru.expensive.api.feature.module.setting.implement.BooleanSetting;
public class TriggerBot extends Module {
private final BooleanSetting onlyCrits = new BooleanSetting("Only crits", "Activated only crits");
private final MinecraftClient mc = MinecraftClient.getInstance();
private boolean toggled;
public TriggerBot() {
super("TriggerBot", ModuleCategory.COMBAT);
setup(onlyCrits);
ClientTickEvents.END_CLIENT_TICK.register(client -> this.onTick());
}
public void onTick() {
if (mc.world == null || mc.player == null || mc.crosshairTarget == null) {
return;
}
if (mc.crosshairTarget instanceof EntityHitResult hitResult) {
if (hitResult.getEntity() instanceof LivingEntity target && target != mc.player && canAttack(target)) {
performAttack(target);
}
}
}
public boolean canAttack(LivingEntity target) {
if (target == null || target == mc.player || !target.isAttackable() || target.isDead()) {
return false;
}
if (mc.player.getAttackCooldownProgress(0.5F) < 0.93F) {
return false;
}
boolean reasonForAttack = mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
|| mc.player.isClimbing()
|| (mc.player.isTouchingWater() && mc.player.isSubmergedIn(FluidTags.WATER))
|| mc.player.hasVehicle()
|| mc.player.getAbilities().flying
|| mc.player.isFallFlying();
if (!reasonForAttack && onlyCrits.get()) {
return !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
}
return !reasonForAttack;
}
private void performAttack(LivingEntity target) {
if (mc.interactionManager != null && mc.player != null) {
mc.interactionManager.attackEntity(mc.player, target);
mc.player.swingHand(mc.player.getActiveHand());
}
}
@Override
public boolean isEnabled() {
return this.toggled;
}
public void toggle() {
this.toggled = !this.toggled;
}
}
спасибо
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июн 2023
Сообщения
321
Реакции[?]
2
Поинты[?]
0
Доброй ночи, новый тригер под фт.
Пол часа тестов, после тестов бегал 15 минут меня не забанило.
ss - не нужен

package ru.expensive.implement.features.modules.combat;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.effect.StatusEffects;
import net.minecraft.registry.tag.FluidTags;
import net.minecraft.util.hit.EntityHitResult;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import ru.expensive.api.feature.module.Module;
import ru.expensive.api.feature.module.ModuleCategory;
import ru.expensive.api.feature.module.setting.implement.BooleanSetting;
public class TriggerBot extends Module {
private final BooleanSetting onlyCrits = new BooleanSetting("Only crits", "Activated only crits");
private final MinecraftClient mc = MinecraftClient.getInstance();
private boolean toggled;
public TriggerBot() {
super("TriggerBot", ModuleCategory.COMBAT);
setup(onlyCrits);
ClientTickEvents.END_CLIENT_TICK.register(client -> this.onTick());
}
public void onTick() {
if (mc.world == null || mc.player == null || mc.crosshairTarget == null) {
return;
}
if (mc.crosshairTarget instanceof EntityHitResult hitResult) {
if (hitResult.getEntity() instanceof LivingEntity target && target != mc.player && canAttack(target)) {
performAttack(target);
}
}
}
public boolean canAttack(LivingEntity target) {
if (target == null || target == mc.player || !target.isAttackable() || target.isDead()) {
return false;
}
if (mc.player.getAttackCooldownProgress(0.5F) < 0.93F) {
return false;
}
boolean reasonForAttack = mc.player.hasStatusEffect(StatusEffects.BLINDNESS)
|| mc.player.isClimbing()
|| (mc.player.isTouchingWater() && mc.player.isSubmergedIn(FluidTags.WATER))
|| mc.player.hasVehicle()
|| mc.player.getAbilities().flying
|| mc.player.isFallFlying();
if (!reasonForAttack && onlyCrits.get()) {
return !mc.player.isOnGround() && mc.player.fallDistance > 0.0F;
}
return !reasonForAttack;
}
private void performAttack(LivingEntity target) {
if (mc.interactionManager != null && mc.player != null) {
mc.interactionManager.attackEntity(mc.player, target);
mc.player.swingHand(mc.player.getActiveHand());
}
}
@Override
public boolean isEnabled() {
return this.toggled;
}
public void toggle() {
this.toggled = !this.toggled;
}
}

Я ИСКРЕННЕ ИЗВИНЯЮСЬ ЗА ТАКОЙ КАЛИЧНЫЙ КОД(ТИПО ЕГО НЕЛЬЗЯ СКОПИРОВАТЬ, Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ!)
Я ИСКРЕННЕ ИЗВИНЯЮСЬ ЗА ТАКОЙ КАЛИЧНЫЙ КОД(ТИПО ЕГО НЕЛЬЗЯ СКОПИРОВАТЬ, Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ!)
Я ИСКРЕННЕ ИЗВИНЯЮСЬ ЗА ТАКОЙ КАЛИЧНЫЙ КОД(ТИПО ЕГО НЕЛЬЗЯ СКОПИРОВАТЬ, Я НЕ ЗНАЮ КАК ЭТО СДЕЛАТЬ!)
Годно + rep
 
Сверху Снизу