Начинающий
- Статус
- Оффлайн
- Регистрация
- 18 Дек 2023
- Сообщения
- 18
- Реакции
- 0
Код:
package im.expensive.functions.impl.movement;
import com.google.common.eventbus.Subscribe;
import im.expensive.events.EventUpdate;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.utils.player.MoveUtils;
import net.minecraft.block.Blocks;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@FunctionRegister(name = "Scaffold", type = Category.Movement)
public class Scaffold extends Function {
@Subscribe
public void onUpdate(EventUpdate event) {
PlayerEntity player = mc.player;
World world = mc.world;
if (player != null && world != null) {
BlockPos playerPos = player.getPosition();
BlockPos blockPosBelow = playerPos.down();
// Проверяем, если блок под игроком - воздух
if (world.isAirBlock(blockPosBelow)) {
// Получаем блок из инвентаря (например, булыжник)
int blockSlot = getBlockFromInventory();
if (blockSlot != -1) {
// Ставим блок под игроком
world.setBlockState(blockPosBelow, Blocks.COBBLESTONE.getDefaultState());
// Переключаем слот обратно на основной
player.inventory.currentItem = blockSlot;
}
}
}
}
private int getBlockFromInventory() {
PlayerEntity player = mc.player;
// Ищем первый доступный блок в инвентаре
for (int i = 0; i < player.inventory.getSizeInventory(); i++) {
if (player.inventory.getStackInSlot(i).getItem() == Blocks.COBBLESTONE.asItem()) {
return i; // Возвращаем индекс слота с булыжником
}
}
return -1; // Если не нашли, возвращаем -1
}
}