Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Часть функционала TpLoot For Dick

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
6 Июн 2024
Сообщения
22
Реакции
0
Выберите загрузчик игры
  1. Прочие моды
Пожалуйста, авторизуйтесь для просмотра ссылки.


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
 
Пожалуйста, авторизуйтесь для просмотра ссылки.


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
а нахуй?
 
Пожалуйста, авторизуйтесь для просмотра ссылки.


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
и что оно обходит?
 
допустим
только вот что оно обходит? кроме ваниллы и копии фт с 5 онлайном
на лонике работает прекрасно, но этот тплут настолько дерьмовый что тебя выебут пока ты будешь тепаться
 
Пожалуйста, авторизуйтесь для просмотра ссылки.


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
Вырви роутер из розетки,удали интелку,не заходи на сайт нейронки которая это написала
 
Пожалуйста, авторизуйтесь для просмотра ссылки.


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
1765712289414.png

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


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
так гпт еще никто не унижал...
 
Пожалуйста, авторизуйтесь для просмотра ссылки.


TpLoot:
Expand Collapse Copy
package DickRecode.functions.impl.movement;

import DickRecode.events.EventTarget;
import DickRecode.events.EventUpdate;
import DickRecode.functions.api.Category;
import DickRecode.functions.api.Function;
import DickRecode.functions.api.FunctionRegister;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.minecraft.entity.item.ItemEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.vector.Vector3d;

@FunctionRegister(
        name = "TPloot", description = "лутает ресы", type = Category.Movement)
public class TPloot extends Function {

    private Vector3d initialPosition = null;
    private Vector3d deathPosition = null;

    private static final Set<Item> VALUABLE_ITEMS;

    public TPloot() {}

    @EventTarget
    public void onUpdate(EventUpdate event) {
        if (mc.player == null || mc.world == null) return;

        // Запомнить позицию смерти
        if (mc.player.getHealth() <= 0) {
            deathPosition = mc.player.getPositionVec();
        }

        // После респавна: телепорт к позиции смерти один раз
        if (deathPosition != null && mc.player.getHealth() > 0) {
            mc.player.setPosition(deathPosition.x, deathPosition.y, deathPosition.z);
            deathPosition = null;
        }

        // Запомнить стартовую позицию
        if (initialPosition == null) {
            initialPosition = mc.player.getPositionVec();
        }

        pickUpLoot();
    }

    private void pickUpLoot() {
        double radius = 100.0;
        Vector3d playerPos = mc.player.getPositionVec();
        AxisAlignedBB searchBox = new AxisAlignedBB(
                playerPos.x - radius, playerPos.y - radius, playerPos.z - radius,
                playerPos.x + radius, playerPos.y + radius, playerPos.z + radius
        );

        List<ItemEntity> nearbyItems = mc.world.getEntitiesWithinAABB(
                ItemEntity.class,
                searchBox,
                entity -> {
                    if (entity == null) return false;
                    ItemStack stack = entity.getItem();
                    if (stack == null) return false;
                    Item item = stack.getItem();
                    if (item == Items.GOLDEN_APPLE) {
                        // Loot golden apples only if exactly 12 were dropped in this stack
                        return stack.getCount() == 12;
                    }
                    return VALUABLE_ITEMS.contains(item);
                }
        );

        if (nearbyItems.isEmpty() && initialPosition != null) {
            mc.player.setPosition(initialPosition.x, initialPosition.y, initialPosition.z);
            initialPosition = null;
        } else {
            for (ItemEntity item : nearbyItems) {
                mc.player.moveForward = 1.0F;
                mc.player.setPosition(item.getPosX(), item.getPosY(), item.getPosZ());
                applyKnockbackToNearbyPlayers(item.getPosX(), item.getPosY(), item.getPosZ());
                break;
            }
        }
    }

    private void applyKnockbackToNearbyPlayers(double itemX, double itemY, double itemZ) {
        double knockbackRadius = 3.0;
        AxisAlignedBB box = new AxisAlignedBB(
                itemX - knockbackRadius, itemY - knockbackRadius, itemZ - knockbackRadius,
                itemX + knockbackRadius, itemY + knockbackRadius, itemZ + knockbackRadius
        );
        List<PlayerEntity> nearbyPlayers = mc.world.getEntitiesWithinAABB(PlayerEntity.class, box);

        for (PlayerEntity player : nearbyPlayers) {
            if (player != mc.player) {
                Vector3d direction = player.getPositionVec().subtract(itemX, itemY, itemZ).normalize();
                player.addVelocity(direction.x * 1.5, direction.y * 1.5, direction.z * 1.5);
            }
        }
    }

    static {
        // тут предметы на которые будет лететь
        VALUABLE_ITEMS = new HashSet<>(Arrays.asList(
                Items.TOTEM_OF_UNDYING,
                Items.NETHERITE_HELMET,
                Items.NETHERITE_CHESTPLATE,
                Items.NETHERITE_LEGGINGS,
                Items.NETHERITE_BOOTS,
                Items.NETHERITE_SWORD,
                Items.NETHERITE_PICKAXE,
                Items.GOLDEN_APPLE,
                Items.ENCHANTED_GOLDEN_APPLE,
                Items.PLAYER_HEAD,
                Items.SHULKER_BOX,
                Items.NETHERITE_INGOT,
                Items.SPLASH_POTION,
                Items.ELYTRA,
                Items.FIREWORK_ROCKET
        ));
    }
}
блять я не понимаю. В чём прикол слива TPLoot который проверяют в одиночке, и не будет он работать на серваках. Ну я вот реально не понимаю, может я тупой или хз. И когда люди научаться убирать // Запомнить позицию смерти
 
Назад
Сверху Снизу