Skip to content

Commit 9273da0

Browse files
committed
auto respawning
1 parent bb5d22a commit 9273da0

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

src/main/java/nekiplay/protrainer/features/commands/TrainerCommand.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
77
import meteordevelopment.meteorclient.MeteorClient;
88
import meteordevelopment.meteorclient.commands.Command;
9+
import meteordevelopment.meteorclient.events.entity.player.PlayerMoveEvent;
910
import meteordevelopment.meteorclient.events.packets.PacketEvent;
1011
import meteordevelopment.meteorclient.events.world.BlockUpdateEvent;
1112
import meteordevelopment.orbit.EventHandler;
@@ -244,6 +245,26 @@ public List<BlockPos> collectBlocksBetween(World world, BlockPos start, BlockPos
244245
return blocks;
245246
}
246247

248+
@EventHandler
249+
private void onPlayerMove(PlayerMoveEvent event) {
250+
BlockPos pos = mc.player.getBlockPos();
251+
BlockPos pos_down = pos.down();
252+
253+
BlockState state = mc.world.getBlockState(pos);
254+
BlockState state_down = mc.world.getBlockState(pos_down);
255+
256+
if (started) {
257+
var module = ProTrainerAddon.getInstance().module;
258+
259+
if (module.respawnBlocks.get().contains(state.getBlock())) {
260+
mc.player.setPos(start_position.x, start_position.y, start_position.z);
261+
}
262+
if (module.respawnBlocks.get().contains(state_down.getBlock())) {
263+
mc.player.setPos(start_position.x, start_position.y, start_position.z);
264+
}
265+
}
266+
}
267+
247268
@EventHandler
248269
private void onBlockUpdate(BlockUpdateEvent event) {
249270
BlockPosition position = new BlockPosition(event.pos);

src/main/java/nekiplay/protrainer/features/modules/ProTrainerModule.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,23 @@
11
package nekiplay.protrainer.features.modules;
22

3+
import meteordevelopment.meteorclient.settings.BlockListSetting;
34
import meteordevelopment.meteorclient.settings.IntSetting;
45
import meteordevelopment.meteorclient.settings.Setting;
56
import meteordevelopment.meteorclient.settings.SettingGroup;
67
import meteordevelopment.meteorclient.systems.modules.Categories;
78
import meteordevelopment.meteorclient.systems.modules.Module;
9+
import net.minecraft.block.Block;
10+
import net.minecraft.block.Blocks;
11+
12+
import java.util.List;
813

914
public class ProTrainerModule extends Module {
1015
public ProTrainerModule() {
1116
super(Categories.World, "pro-trainer", "Settings for trainer command");
1217
}
1318

1419
private final SettingGroup defaultGroup = settings.getDefaultGroup();
20+
private final SettingGroup respawnGroup = settings.createGroup("Respawning");
1521

1622
public final Setting<Integer> loadingSpeed = defaultGroup.add(new IntSetting.Builder()
1723
.name("loading-speed")
@@ -23,5 +29,10 @@ public ProTrainerModule() {
2329
.sliderMax(512)
2430
.build()
2531
);
26-
32+
public final Setting<List<Block>> respawnBlocks = respawnGroup.add(new BlockListSetting.Builder()
33+
.name("respawn-blocks")
34+
.description("The blocks you don't want to mine.")
35+
.defaultValue(List.of(Blocks.LAVA))
36+
.build()
37+
);
2738
}

0 commit comments

Comments
 (0)