world modules

This commit is contained in:
noil755 2019-11-29 19:31:05 -05:00
parent 2f25168640
commit 88c53cd921
6 changed files with 61 additions and 54 deletions

View File

@ -4,7 +4,7 @@ import me.rigamortis.seppuku.api.event.EventStageable;
import me.rigamortis.seppuku.api.event.network.EventSendPacket;
import me.rigamortis.seppuku.api.event.player.EventPlayerDamageBlock;
import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.value.old.BooleanValue;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.block.state.IBlockState;
@ -25,7 +25,7 @@ import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
*/
public final class AutoToolModule extends Module {
public final BooleanValue silent = new BooleanValue("Silent", new String[]{"Sil"}, true);
public final Value<Boolean> silent = new Value<Boolean>("Silent", new String[]{"Sil"}, "Hold any item and spoof your mining tool.", true);
private boolean send;
@ -136,7 +136,7 @@ public final class AutoToolModule extends Module {
@Listener
public void damageBlock(EventPlayerDamageBlock event) {
final Minecraft mc = Minecraft.getMinecraft();
if (this.silent.getBoolean()) {
if (this.silent.getValue()) {
final int slot = getToolInventory(event.getPos());
if (slot != -1) {
mc.playerController.curBlockDamageMP += blockStrength(event.getPos(), mc.player.inventoryContainer.getSlot(slot).getStack());
@ -162,7 +162,7 @@ public final class AutoToolModule extends Module {
this.send = false;
return;
}
if (event.getPacket() instanceof CPacketPlayerDigging && this.silent.getBoolean()) {
if (event.getPacket() instanceof CPacketPlayerDigging && this.silent.getValue()) {
final CPacketPlayerDigging packet = (CPacketPlayerDigging) event.getPacket();
if (packet.getAction() == CPacketPlayerDigging.Action.STOP_DESTROY_BLOCK) {
this.position = packet.getPosition();

View File

@ -6,8 +6,7 @@ import me.rigamortis.seppuku.api.event.player.EventRightClickBlock;
import me.rigamortis.seppuku.api.event.player.EventUpdateWalkingPlayer;
import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.util.MathUtil;
import me.rigamortis.seppuku.api.value.old.NumberValue;
import me.rigamortis.seppuku.api.value.old.OptionalValue;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.block.Block;
import net.minecraft.block.BlockLiquid;
import net.minecraft.block.state.IBlockState;
@ -24,9 +23,13 @@ import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
*/
public final class NukerModule extends Module {
public final OptionalValue mode = new OptionalValue("Mode", new String[]{"Mode", "M"}, 0, new String[]{"Selection", "All"});
public final Value<Mode> mode = new Value<Mode>("Mode", new String[]{"Mode", "M"}, "The nuker mode to use.", Mode.SELECTION);
public final NumberValue distance = new NumberValue("Distance", new String[]{"Dist", "D"}, 4.5f, Float.class, 0.0f, 5.0f, 0.1f);
private enum Mode {
SELECTION, ALL
}
public final Value<Float> distance = new Value<Float>("Distance", new String[]{"Dist", "D"}, "Maximum distance in blocks the nuker will reach.", 4.5f, 0.0f, 5.0f, 0.1f);
private Block selected;
@ -42,7 +45,7 @@ public final class NukerModule extends Module {
@Override
public String getMetaData() {
return this.mode.getSelectedOption();
return this.mode.getValue().name();
}
@Listener
@ -50,11 +53,11 @@ public final class NukerModule extends Module {
if (event.getStage() == EventStageable.EventStage.PRE) {
BlockPos pos = null;
switch (this.mode.getInt()) {
case 0:
switch (this.mode.getValue()) {
case SELECTION:
pos = this.getClosestBlockSelection();
break;
case 1:
case ALL:
pos = this.getClosestBlockAll();
break;
}
@ -75,7 +78,7 @@ public final class NukerModule extends Module {
@Listener
public void clickBlock(EventRightClickBlock event) {
if (this.mode.getInt() == 0) {
if (this.mode.getValue() == Mode.SELECTION) {
final Block block = Minecraft.getMinecraft().world.getBlockState(event.getPos()).getBlock();
if (block != null && block != this.selected) {
this.selected = block;
@ -94,7 +97,7 @@ public final class NukerModule extends Module {
private BlockPos getClosestBlockAll() {
final Minecraft mc = Minecraft.getMinecraft();
float maxDist = this.distance.getFloat();
float maxDist = this.distance.getValue();
BlockPos ret = null;
@ -118,7 +121,7 @@ public final class NukerModule extends Module {
private BlockPos getClosestBlockSelection() {
final Minecraft mc = Minecraft.getMinecraft();
float maxDist = this.distance.getFloat();
float maxDist = this.distance.getValue();
BlockPos ret = null;

View File

@ -9,8 +9,7 @@ import me.rigamortis.seppuku.api.event.world.EventAddCollisionBox;
import me.rigamortis.seppuku.api.event.world.EventSetOpaqueCube;
import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.util.MathUtil;
import me.rigamortis.seppuku.api.value.old.BooleanValue;
import me.rigamortis.seppuku.api.value.old.OptionalValue;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.item.EntityBoat;
import net.minecraft.network.play.client.CPacketPlayer;
@ -23,9 +22,13 @@ import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
*/
public final class PhaseModule extends Module {
public final OptionalValue mode = new OptionalValue("Mode", new String[]{"Mode", "M"}, 0, new String[]{"Sand", "Packet", "Skip", "NoClip"});
public final Value<Mode> mode = new Value<Mode>("Mode", new String[]{"Mode", "M"}, "The phase mode to use.", Mode.SAND);
public final BooleanValue floor = new BooleanValue("Floor", new String[]{"Fl"}, true);
private enum Mode {
SAND, PACKET, SKIP, NOCLIP
}
public final Value<Boolean> floor = new Value<Boolean>("Floor", new String[]{"Fl"}, "Prevents falling out of the world if enabled.", true);
public PhaseModule() {
super("Phase", new String[]{"NoClip"}, "Allows you to glitch through blocks", "NONE", -1, ModuleType.WORLD);
@ -33,7 +36,7 @@ public final class PhaseModule extends Module {
@Override
public String getMetaData() {
return this.mode.getSelectedOption();
return this.mode.getValue().name();
}
@Listener
@ -72,9 +75,9 @@ public final class PhaseModule extends Module {
if (mc.player != null) {
final boolean floor = this.floor.getBoolean() ? event.getPos().getY() >= 1 : true;
final boolean floor = this.floor.getValue() ? event.getPos().getY() >= 1 : true;
if (this.mode.getInt() == 0) {
if (this.mode.getValue() == Mode.SAND) {
if (mc.player.getRidingEntity() != null && event.getEntity() == mc.player.getRidingEntity()) {
if (mc.gameSettings.keyBindSprint.isKeyDown() && floor) {
event.setCanceled(true);
@ -101,7 +104,7 @@ public final class PhaseModule extends Module {
}
}
if (this.mode.getInt() == 3) {
if (this.mode.getValue() == Mode.NOCLIP) {
if (event.getEntity() == mc.player || mc.player.getRidingEntity() != null && event.getEntity() == mc.player.getRidingEntity()) {
event.setCanceled(true);
}
@ -111,7 +114,7 @@ public final class PhaseModule extends Module {
@Listener
public void sendPacket(EventSendPacket event) {
if (event.getStage() == EventStageable.EventStage.PRE) {
if (this.mode.getInt() == 3) {
if (this.mode.getValue() == Mode.NOCLIP) {
if (event.getPacket() instanceof CPacketPlayer && !(event.getPacket() instanceof CPacketPlayer.Position)) {
event.setCanceled(true);
}
@ -124,7 +127,7 @@ public final class PhaseModule extends Module {
if (event.getStage() == EventStageable.EventStage.PRE) {
final Minecraft mc = Minecraft.getMinecraft();
if (this.mode.getInt() == 3) {
if (this.mode.getValue() == Mode.NOCLIP) {
mc.player.setVelocity(0, 0, 0);
if (mc.gameSettings.keyBindForward.isKeyDown() || mc.gameSettings.keyBindBack.isKeyDown() || mc.gameSettings.keyBindLeft.isKeyDown() || mc.gameSettings.keyBindRight.isKeyDown()) {
final double[] speed = MathUtil.directionSpeed(0.06f);
@ -149,8 +152,7 @@ public final class PhaseModule extends Module {
if (event.getStage() == EventStageable.EventStage.PRE) {
final Minecraft mc = Minecraft.getMinecraft();
if (this.mode.getInt() == 0) {
if (this.mode.getValue() == Mode.SAND) {
if (mc.gameSettings.keyBindJump.isKeyDown()) {
if (mc.player.getRidingEntity() != null && mc.player.getRidingEntity() instanceof EntityBoat) {
final EntityBoat boat = (EntityBoat) mc.player.getRidingEntity();
@ -161,7 +163,7 @@ public final class PhaseModule extends Module {
}
}
if (this.mode.getInt() == 1) {
if (this.mode.getValue() == Mode.PACKET) {
final Vec3d dir = MathUtil.direction(mc.player.rotationYaw);
if (dir != null) {
if (mc.player.onGround && mc.player.collidedHorizontally) {
@ -171,7 +173,7 @@ public final class PhaseModule extends Module {
}
}
if (this.mode.getInt() == 2) {
if (this.mode.getValue() == Mode.SKIP) {
final Vec3d dir = MathUtil.direction(mc.player.rotationYaw);
if (dir != null) {
if (mc.player.onGround && mc.player.collidedHorizontally) {

View File

@ -6,8 +6,7 @@ import me.rigamortis.seppuku.api.event.player.EventPlayerDamageBlock;
import me.rigamortis.seppuku.api.event.player.EventPlayerUpdate;
import me.rigamortis.seppuku.api.event.player.EventResetBlockRemoving;
import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.value.old.BooleanValue;
import me.rigamortis.seppuku.api.value.old.OptionalValue;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
@ -22,10 +21,14 @@ import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
*/
public final class SpeedMineModule extends Module {
public final OptionalValue mode = new OptionalValue("Mode", new String[]{"Mode", "M"}, 0, new String[]{"Packet", "Damage", "Instant"});
public final Value<Mode> mode = new Value<Mode>("Mode", new String[]{"Mode", "M"}, "The speed-mine mode to use.", Mode.PACKET);
public final BooleanValue reset = new BooleanValue("Reset", new String[]{"Res"}, true);
public final BooleanValue doubleBreak = new BooleanValue("DoubleBreak", new String[]{"DoubleBreak", "Double", "DB"}, false);
private enum Mode {
PACKET, DAMAGE, INSTANT
}
public final Value<Boolean> reset = new Value<Boolean>("Reset", new String[]{"Res"}, "Stops current block destroy damage from resetting if enabled.", true);
public final Value<Boolean> doubleBreak = new Value<Boolean>("DoubleBreak", new String[]{"DoubleBreak", "Double", "DB"}, "Mining a block will also mine the block above it, if enabled.", false);
public SpeedMineModule() {
super("SpeedMine", new String[]{"FastMine"}, "Allows you to break blocks faster", "NONE", -1, ModuleType.WORLD);
@ -33,7 +36,7 @@ public final class SpeedMineModule extends Module {
@Override
public String getMetaData() {
return this.mode.getSelectedOption();
return this.mode.getValue().name();
}
@Listener
@ -41,7 +44,7 @@ public final class SpeedMineModule extends Module {
if (event.getStage() == EventStageable.EventStage.PRE) {
Minecraft.getMinecraft().playerController.blockHitDelay = 0;
if (this.reset.getBoolean() && Minecraft.getMinecraft().gameSettings.keyBindUseItem.isKeyDown()) {
if (this.reset.getValue() && Minecraft.getMinecraft().gameSettings.keyBindUseItem.isKeyDown()) {
Minecraft.getMinecraft().playerController.isHittingBlock = false;
}
}
@ -49,14 +52,14 @@ public final class SpeedMineModule extends Module {
@Listener
public void resetBlockDamage(EventResetBlockRemoving event) {
if (this.reset.getBoolean()) {
if (this.reset.getValue()) {
event.setCanceled(true);
}
}
@Listener
public void clickBlock(EventClickBlock event) {
if (this.reset.getBoolean()) {
if (this.reset.getValue()) {
if (Minecraft.getMinecraft().playerController.curBlockDamageMP > 0.1f) {
Minecraft.getMinecraft().playerController.isHittingBlock = true;
}
@ -69,23 +72,23 @@ public final class SpeedMineModule extends Module {
final Minecraft mc = Minecraft.getMinecraft();
if (this.reset.getBoolean()) {
if (this.reset.getValue()) {
mc.playerController.isHittingBlock = false;
}
switch (this.mode.getInt()) {
case 0:
switch (this.mode.getValue()) {
case PACKET:
mc.player.swingArm(EnumHand.MAIN_HAND);
mc.player.connection.sendPacket(new CPacketPlayerDigging(CPacketPlayerDigging.Action.START_DESTROY_BLOCK, event.getPos(), event.getFace()));
mc.player.connection.sendPacket(new CPacketPlayerDigging(CPacketPlayerDigging.Action.STOP_DESTROY_BLOCK, event.getPos(), event.getFace()));
event.setCanceled(true);
break;
case 1:
case DAMAGE:
if (mc.playerController.curBlockDamageMP >= 0.7f) {
mc.playerController.curBlockDamageMP = 1.0f;
}
break;
case 2:
case INSTANT:
mc.player.swingArm(EnumHand.MAIN_HAND);
mc.player.connection.sendPacket(new CPacketPlayerDigging(CPacketPlayerDigging.Action.START_DESTROY_BLOCK, event.getPos(), event.getFace()));
mc.player.connection.sendPacket(new CPacketPlayerDigging(CPacketPlayerDigging.Action.STOP_DESTROY_BLOCK, event.getPos(), event.getFace()));
@ -95,7 +98,7 @@ public final class SpeedMineModule extends Module {
}
}
if (this.doubleBreak.getBoolean()) {
if (this.doubleBreak.getValue()) {
final BlockPos above = event.getPos().add(0, 1, 0);
final Minecraft mc = Minecraft.getMinecraft();

View File

@ -3,7 +3,7 @@ package me.rigamortis.seppuku.impl.module.world;
import me.rigamortis.seppuku.api.event.EventStageable;
import me.rigamortis.seppuku.api.event.player.EventPlayerUpdate;
import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.value.old.NumberValue;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.client.Minecraft;
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
@ -13,7 +13,7 @@ import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
*/
public final class TimerModule extends Module {
public final NumberValue speed = new NumberValue("Speed", new String[]{"Spd"}, 4.0f, Float.class, 0.0f, 10.0f, 0.1f);
public final Value<Float> speed = new Value<Float>("Speed", new String[]{"Spd"}, "Tick-rate multiplier. [(20tps/second) * (this value)]", 4.0f, 0.0f, 10.0f, 0.1f);
public TimerModule() {
super("Timer", new String[] {"Time", "Tmr"}, "Speeds up the client tick rate", "NONE", -1, ModuleType.WORLD);
@ -27,13 +27,13 @@ public final class TimerModule extends Module {
@Override
public String getMetaData() {
return "" + this.speed.getFloat();
return "" + this.speed.getValue();
}
@Listener
public void onUpdate(EventPlayerUpdate event) {
if(event.getStage() == EventStageable.EventStage.PRE) {
Minecraft.getMinecraft().timer.tickLength = 50.0f / speed.getFloat();
Minecraft.getMinecraft().timer.tickLength = 50.0f / speed.getValue();
}
}

View File

@ -6,8 +6,7 @@ import me.rigamortis.seppuku.api.module.Module;
import me.rigamortis.seppuku.api.util.ColorUtil;
import me.rigamortis.seppuku.api.util.GLUProjection;
import me.rigamortis.seppuku.api.util.RenderUtil;
import me.rigamortis.seppuku.api.value.old.BooleanValue;
import me.rigamortis.seppuku.api.value.old.NumberValue;
import me.rigamortis.seppuku.api.value.Value;
import net.minecraft.client.Minecraft;
import team.stiff.pomelo.impl.annotated.handler.annotation.Listener;
@ -19,9 +18,9 @@ import java.text.DecimalFormat;
*/
public final class WaypointsModule extends Module {
public final BooleanValue tracers = new BooleanValue("Tracers", new String[]{"Tracer", "Trace"}, false);
public final Value<Boolean> tracers = new Value<Boolean>("Tracers", new String[]{"Tracer", "Trace"}, "Draws a line from the center of the screen to each waypoint.", false);
public final NumberValue width = new NumberValue("Width", new String[]{"Wid"}, 0.5f, Float.class, 0.0f, 5.0f, 0.1f);
public final Value<Float> width = new Value<Float>("Width", new String[]{"Wid"}, "Pixel width of each tracer line.", 0.5f, 0.0f, 5.0f, 0.1f);
public WaypointsModule() {
super("Waypoints", new String[] {"Wp", "Waypoint"}, "Highlights waypoints", "NONE", -1, ModuleType.WORLD);
@ -45,11 +44,11 @@ public final class WaypointsModule extends Module {
mc.fontRenderer.drawStringWithShadow(name, (float) projection.getX() - mc.fontRenderer.getStringWidth(name) / 2, (float) projection.getY() - mc.fontRenderer.FONT_HEIGHT / 2, waypointData.getColor());
}
if(this.tracers.getBoolean()) {
if (this.tracers.getValue()) {
final GLUProjection.Projection screen = GLUProjection.getInstance().project(waypointData.getX() - mc.getRenderManager().viewerPosX, waypointData.getY() - mc.getRenderManager().viewerPosY, waypointData.getZ() - mc.getRenderManager().viewerPosZ, GLUProjection.ClampMode.NONE, true);
if (screen != null) {
RenderUtil.drawLine((float) screen.getX(), (float) screen.getY(), event.getScaledResolution().getScaledWidth() / 2, event.getScaledResolution().getScaledHeight() / 2, this.width.getFloat(), -1);
RenderUtil.drawLine((float) screen.getX(), (float) screen.getY(), event.getScaledResolution().getScaledWidth() / 2, event.getScaledResolution().getScaledHeight() / 2, this.width.getValue(), -1);
}
}
}