package com.example.autoblock;
import net.minecraft.client.Minecraft;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.util.math.BlockPos;
import net.minecraftforge.fml.client.registry.ClientRegistry;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.common.gameevent.TickEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import org.lwjgl.input.Keyboard;
@Mod(modid = "autoblock", name = "AutoBlock", version = "1.0")
public class AutoBlockMod {
private static final KeyBinding JUMP_KEY = new KeyBinding("key.jump", Keyboard.KEY_SPACE, "key.categories.gameplay");
private boolean isRunning = false;
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
ClientRegistry.registerKeyBinding(JUMP_KEY);
}
@SubscribeEvent
public void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase == TickEvent.Phase.START && event.player == Minecraft.getMinecraft().player) {
if (isRunning) {
// Заставляем игрока прыгать
Minecraft.getMinecraft().player.jump();
// Получаем позицию игрока
BlockPos playerPos = event.player.getPosition();
// Ставим блок под игрока
BlockPos blockBelowPos = playerPos.down();
Minecraft.getMinecraft().world.setBlockState(blockBelowPos, net.minecraft.init.Blocks.STONE.getDefaultState());
// Ставим блок перед игроком
BlockPos blockFrontPos = playerPos.offset(event.player.getHorizontalFacing());
Minecraft.getMinecraft().world.setBlockState(blockFrontPos, net.minecraft.init.Blocks.STONE.getDefaultState());
}
}
}
@SubscribeEvent
public void onKeyInput(TickEvent.ClientTickEvent event) {
if (event.phase == TickEvent.Phase.START) {
// Проверяем, нажата ли клавиша для активации
if (JUMP_KEY.isPressed()) {
isRunning = !isRunning; // Переключаем состояние
}
}
}
}