-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
0.8.2 AutoTitles module added + .autovaultclip added
**0.8.2** - Added the AutoTitles module which can display text (such as advertisements) across the screen of all the individuals who are online on a server at the time. Requires OP status. Credits to [ogmur](https://www.youtube.com/@Ogmur) for figuring out these commands, and to etianl for writing a module for it. - Added AutoVaultClip command which is accessable by doing .autovaultclip and choosing either up, down, or highest. The highest option will tp you to the highest possible block above you. Credits to [agreed31579](https://github.com/agreed31579) who based it off of the .autovclip command and Meteor Client's vclip command. - Fixed a bug with BetterAutoSign where it was spamming a chain of hanging signs when trying to place one with the "Both Sides" option enabled. - Fixed BetterAutoSign sometimes not writing the backside of hanging signs. - Added an error message to BetterAutoSign mentioning a bug when using SignAura and holding a hanging sign. - Added a message to CrashCommand telling you what player you are crashing when you run it. - Made the "/fill Around All Other Players" option in HandOfGod actually /fill all the players on a server, instead of just the ones within render distance. A new option has been added if you just want to do the players within render. - Added a "Max Targets" option for LavaAura instead of just targeting every entity within range. - Order priority for targeting entities with LavaAura is now ordered from closest to furthest. - Fixed the math in LavaAura used for checking for obstructions when picking up the lava
- Loading branch information
Showing
11 changed files
with
509 additions
and
146 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
208 changes: 104 additions & 104 deletions
208
src/main/java/pwn/noobs/trouserstreak/commands/AutoVaultClipCommand.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,104 +1,104 @@ | ||
package pwn.noobs.trouserstreak.commands; | ||
|
||
import com.mojang.brigadier.builder.LiteralArgumentBuilder; | ||
import meteordevelopment.meteorclient.commands.Command; | ||
import net.minecraft.block.Blocks; | ||
import net.minecraft.client.network.ClientPlayerEntity; | ||
import net.minecraft.command.CommandSource; | ||
import net.minecraft.entity.Entity; | ||
import net.minecraft.util.math.BlockPos; | ||
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; | ||
import net.minecraft.network.packet.c2s.play.VehicleMoveC2SPacket; | ||
|
||
import static com.mojang.brigadier.Command.SINGLE_SUCCESS; | ||
import static meteordevelopment.meteorclient.MeteorClient.mc; | ||
|
||
public class AutoVaultClipCommand extends Command { | ||
public AutoVaultClipCommand() { | ||
super("autovaultclip", "Lets you clip through blocks vertically automatically, with vault clip bypass implemented. Works on Paper, Spigot, but not always on Vanilla."); | ||
} | ||
@Override | ||
public void build(LiteralArgumentBuilder<CommandSource> builder) { | ||
builder.executes(ctx -> { | ||
error("Choose Up, Down or Highest"); | ||
return SINGLE_SUCCESS; | ||
}); | ||
builder.then(literal("up").executes(ctx -> { | ||
ClientPlayerEntity player = mc.player; | ||
assert player != null; | ||
for (int i = 0; i < 199; i++) { | ||
BlockPos isopenair1 = (player.getBlockPos().add(0,i+2,0)); | ||
BlockPos isopenair2 = (player.getBlockPos().add(0,i+3,0)); | ||
if (mc.world.getBlockState(isopenair1).isReplaceable() && mc.world.getFluidState(isopenair1).isEmpty() && !mc.world.getBlockState(isopenair1).isOf(Blocks.POWDER_SNOW) && mc.world.getBlockState(isopenair2).isReplaceable() && mc.world.getFluidState(isopenair2).isEmpty() && !mc.world.getBlockState(isopenair2).isOf(Blocks.POWDER_SNOW)){ | ||
int packetsRequired = 20; | ||
if (player.hasVehicle()) { | ||
Entity vehicle = player.getVehicle(); | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new VehicleMoveC2SPacket(mc.player.getVehicle())); | ||
} | ||
vehicle.setPosition(vehicle.getX(), isopenair1.getY(), vehicle.getZ()); | ||
} | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(true)); | ||
} | ||
player.setPosition(player.getX(), isopenair1.getY(), player.getZ()); | ||
return SINGLE_SUCCESS; | ||
} | ||
} | ||
error("No gap found to vclip into"); | ||
return SINGLE_SUCCESS; | ||
})); | ||
builder.then(literal("down").executes(ctx -> { | ||
ClientPlayerEntity player = mc.player; | ||
assert player != null; | ||
for (int i = 0; i > -199; i--) { | ||
BlockPos isopenair1 = (player.getBlockPos().add(0,i,0)); | ||
BlockPos isopenair2 = (player.getBlockPos().add(0,i-1,0)); | ||
if (mc.world.getBlockState(isopenair1).isReplaceable() && mc.world.getFluidState(isopenair1).isEmpty() && !mc.world.getBlockState(isopenair1).isOf(Blocks.POWDER_SNOW) && mc.world.getBlockState(isopenair2).isReplaceable() && mc.world.getFluidState(isopenair2).isEmpty() && !mc.world.getBlockState(isopenair2).isOf(Blocks.POWDER_SNOW)){ | ||
int packetsRequired = 20; | ||
if (player.hasVehicle()) { | ||
Entity vehicle = player.getVehicle(); | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new VehicleMoveC2SPacket(mc.player.getVehicle())); | ||
} | ||
vehicle.setPosition(vehicle.getX(), isopenair2.getY(), vehicle.getZ()); | ||
} | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(true)); | ||
} | ||
player.setPosition(player.getX(), isopenair2.getY(), player.getZ()); | ||
return SINGLE_SUCCESS; | ||
} | ||
} | ||
error("No gap found to vclip into"); | ||
return SINGLE_SUCCESS; | ||
})); | ||
builder.then(literal("highest").executes(ctx -> { | ||
ClientPlayerEntity player = mc.player; | ||
assert player != null; | ||
|
||
for (int i = 199; i > 0; i--) { | ||
BlockPos isopenair1 = (player.getBlockPos().add(0,i,0)); | ||
BlockPos newopenair2 = isopenair1.up(1); | ||
if (!mc.world.getBlockState(isopenair1).isReplaceable() && !mc.world.getBlockState(isopenair1).isOf(Blocks.POWDER_SNOW) && mc.world.getFluidState(isopenair1).isEmpty()) { | ||
int packetsRequired = 20; | ||
if (player.hasVehicle()) { | ||
Entity vehicle = player.getVehicle(); | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new VehicleMoveC2SPacket(mc.player.getVehicle())); | ||
} | ||
|
||
vehicle.setPosition(vehicle.getX(), newopenair2.getY(), vehicle.getZ()); | ||
} | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(true)); | ||
} | ||
player.setPosition(player.getX(), newopenair2.getY(), player.getZ()); | ||
return SINGLE_SUCCESS; | ||
} | ||
} | ||
error("No blocks above you found!"); | ||
return SINGLE_SUCCESS; | ||
})); | ||
} | ||
} | ||
package pwn.noobs.trouserstreak.commands; | ||
|
||
import com.mojang.brigadier.builder.LiteralArgumentBuilder; | ||
import meteordevelopment.meteorclient.commands.Command; | ||
import net.minecraft.block.Blocks; | ||
import net.minecraft.client.network.ClientPlayerEntity; | ||
import net.minecraft.command.CommandSource; | ||
import net.minecraft.entity.Entity; | ||
import net.minecraft.util.math.BlockPos; | ||
import net.minecraft.network.packet.c2s.play.PlayerMoveC2SPacket; | ||
import net.minecraft.network.packet.c2s.play.VehicleMoveC2SPacket; | ||
|
||
import static com.mojang.brigadier.Command.SINGLE_SUCCESS; | ||
import static meteordevelopment.meteorclient.MeteorClient.mc; | ||
|
||
public class AutoVaultClipCommand extends Command { | ||
public AutoVaultClipCommand() { | ||
super("autovaultclip", "Lets you clip through blocks vertically automatically, with vault clip bypass implemented. Works on Paper, Spigot, but not always on Vanilla."); | ||
} | ||
@Override | ||
public void build(LiteralArgumentBuilder<CommandSource> builder) { | ||
builder.executes(ctx -> { | ||
error("Choose Up, Down or Highest"); | ||
return SINGLE_SUCCESS; | ||
}); | ||
builder.then(literal("up").executes(ctx -> { | ||
ClientPlayerEntity player = mc.player; | ||
assert player != null; | ||
for (int i = 0; i < 199; i++) { | ||
BlockPos isopenair1 = (player.getBlockPos().add(0,i+2,0)); | ||
BlockPos isopenair2 = (player.getBlockPos().add(0,i+3,0)); | ||
if (mc.world.getBlockState(isopenair1).isReplaceable() && mc.world.getFluidState(isopenair1).isEmpty() && !mc.world.getBlockState(isopenair1).isOf(Blocks.POWDER_SNOW) && mc.world.getBlockState(isopenair2).isReplaceable() && mc.world.getFluidState(isopenair2).isEmpty() && !mc.world.getBlockState(isopenair2).isOf(Blocks.POWDER_SNOW)){ | ||
int packetsRequired = 20; | ||
if (player.hasVehicle()) { | ||
Entity vehicle = player.getVehicle(); | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new VehicleMoveC2SPacket(mc.player.getVehicle())); | ||
} | ||
vehicle.setPosition(vehicle.getX(), isopenair1.getY(), vehicle.getZ()); | ||
} | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(true)); | ||
} | ||
player.setPosition(player.getX(), isopenair1.getY(), player.getZ()); | ||
return SINGLE_SUCCESS; | ||
} | ||
} | ||
error("No gap found to vclip into"); | ||
return SINGLE_SUCCESS; | ||
})); | ||
builder.then(literal("down").executes(ctx -> { | ||
ClientPlayerEntity player = mc.player; | ||
assert player != null; | ||
for (int i = 0; i > -199; i--) { | ||
BlockPos isopenair1 = (player.getBlockPos().add(0,i,0)); | ||
BlockPos isopenair2 = (player.getBlockPos().add(0,i-1,0)); | ||
if (mc.world.getBlockState(isopenair1).isReplaceable() && mc.world.getFluidState(isopenair1).isEmpty() && !mc.world.getBlockState(isopenair1).isOf(Blocks.POWDER_SNOW) && mc.world.getBlockState(isopenair2).isReplaceable() && mc.world.getFluidState(isopenair2).isEmpty() && !mc.world.getBlockState(isopenair2).isOf(Blocks.POWDER_SNOW)){ | ||
int packetsRequired = 20; | ||
if (player.hasVehicle()) { | ||
Entity vehicle = player.getVehicle(); | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new VehicleMoveC2SPacket(mc.player.getVehicle())); | ||
} | ||
vehicle.setPosition(vehicle.getX(), isopenair2.getY(), vehicle.getZ()); | ||
} | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(true)); | ||
} | ||
player.setPosition(player.getX(), isopenair2.getY(), player.getZ()); | ||
return SINGLE_SUCCESS; | ||
} | ||
} | ||
error("No gap found to vclip into"); | ||
return SINGLE_SUCCESS; | ||
})); | ||
builder.then(literal("highest").executes(ctx -> { | ||
ClientPlayerEntity player = mc.player; | ||
assert player != null; | ||
|
||
for (int i = 199; i > 0; i--) { | ||
BlockPos isopenair1 = (player.getBlockPos().add(0,i,0)); | ||
BlockPos newopenair2 = isopenair1.up(1); | ||
if (!mc.world.getBlockState(isopenair1).isReplaceable() && !mc.world.getBlockState(isopenair1).isOf(Blocks.POWDER_SNOW) && mc.world.getFluidState(isopenair1).isEmpty()) { | ||
int packetsRequired = 20; | ||
if (player.hasVehicle()) { | ||
Entity vehicle = player.getVehicle(); | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new VehicleMoveC2SPacket(mc.player.getVehicle())); | ||
} | ||
|
||
vehicle.setPosition(vehicle.getX(), newopenair2.getY(), vehicle.getZ()); | ||
} | ||
for (int packetNumber = 0; packetNumber < (packetsRequired - 1); packetNumber++) { | ||
mc.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.OnGroundOnly(true)); | ||
} | ||
player.setPosition(player.getX(), newopenair2.getY(), player.getZ()); | ||
return SINGLE_SUCCESS; | ||
} | ||
} | ||
error("No blocks above you found!"); | ||
return SINGLE_SUCCESS; | ||
})); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -58,4 +58,4 @@ public void build(LiteralArgumentBuilder<CommandSource> builder) { | |
return SINGLE_SUCCESS; | ||
})); | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.