diff --git a/README.md b/README.md new file mode 100644 index 0000000..5838706 --- /dev/null +++ b/README.md @@ -0,0 +1,105 @@ +# Shadow +reuploaded shadow client source code + +# Differences between this and Saturn's source code release +## Removal of the Backdoor feature +Only in Shadow-Actual/src/main/java/net/shadow/client/feature/gui: backdoor +diff Shadow-Actual/src/main/java/net/shadow/client/feature/module/impl/grief/ControlPanel.java Shadow-SourceRelease/src/main/java/net/shadow/client/feature/module/impl/grief/ControlPanel.java +```diff +8d7 +< import net.shadow.client.feature.gui.backdoor.BackdoorScreen; +25c24 +< client.setScreen(new BackdoorScreen()); +--- +> //removed! +``` +## Rework on ClickTP +diff Shadow-Actual/src/main/java/net/shadow/client/feature/module/impl/movement/ClickTP.java Shadow-SourceRelease/src/main/java/net/shadow/client/feature/module/impl/movement/ClickTP.java +```diff +16a17 +> import net.shadow.client.feature.gui.notifications.Notification; +21a23 +> import net.shadow.client.helper.event.events.PacketEvent; +26a29,33 +> +> boolean rddthreadsuspender = false; +> BlockPos originblock = new BlockPos(0,0,0); +> Vec3d movings = new Vec3d(0,0,0); +> +40a48,52 +> private static int lengthToN(BlockPos p, Vec3d origin) { +> Vec3d v = new Vec3d(p.getX(), p.getY(), p.getZ()); +> return (int) roundToN(v.distanceTo(origin), 0); +> } +> +65a78,87 +> @EventListener(type=EventType.PACKET_SEND) +> void onSendPacket(PacketEvent pe){ +> if(pe.getPacket() instanceof PlayerMoveC2SPacket p){ +> Vec3d origin = new Vec3d(p.getX(0), p.getY(0), p.getZ(0)); +> if(lengthToN(originblock, origin) < 3){ +> pe.cancel(); +> } +> } +> } +> +101a124 +> originblock = client.player.getBlockPos(); +122,138c145,170 +< case Experimental -> new Thread(() -> { +< int rdd = lengthTo(ray.getBlockPos()); +< BlockPos destt = new BlockPos(blockHitResult.getBlockPos()); +< client.player.jump(); +< ClientPlayerEntity player = client.player; +< Vec3d playerpos = player.getPos(); +< double xn = destt.getX() - playerpos.x; +< double yn = destt.getY() - playerpos.y; +< double zn = destt.getZ() - playerpos.z; +< double x = xn / rdd; +< double y = yn / rdd; +< double z = zn / rdd; +< for (int i = 0; i < rdd; i++) { +< client.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(player.getX() + x, player.getY() + y, player.getZ() + z, true)); +< try { +< Thread.sleep(10); +< } catch (Exception ignored) { +--- +> case Experimental -> { +> new Thread(() -> { +> originblock = client.player.getBlockPos(); +> BlockHitResult ray3 = (BlockHitResult) client.player.raycast(200, client.getTickDelta(), true); +> int rd3 = lengthTo(ray3.getBlockPos()); +> int raycastdistance3 = rd3 / 7; +> BlockHitResult blockHitResult3 = (BlockHitResult) client.player.raycast(200, client.getTickDelta(), true); +> BlockPos d3 = new BlockPos(blockHitResult3.getBlockPos()); +> BlockPos dest3 = new BlockPos(d3.getX() + 0.5, d3.getY(), d3.getZ() + 0.5); +> dest3 = dest3.offset(Direction.UP, 1); +> ClientPlayerEntity player = client.player; +> Vec3d playerpos = player.getPos(); +> double xn = dest3.getX() - playerpos.x; +> double yn = dest3.getY() - playerpos.y; +> double zn = dest3.getZ() - playerpos.z; +> double x = xn / raycastdistance3; +> double y = yn / raycastdistance3; +> double z = zn / raycastdistance3; +> for (int i = 0; i < raycastdistance3; i++) { +> client.player.networkHandler.sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(player.getX() + x, player.getY() + y, player.getZ() + z, true)); +> try { +> Thread.sleep(100); +> } catch (Exception ignored) { +> } +> client.player.setVelocity(0, 0, 0); +> movings = new Vec3d(player.getX() + x, player.getY() + y, player.getZ() + z); +140,142c172,173 +< client.player.setVelocity(0, 0, 0); +< } +< }).start(); +--- +> }).start(); +> } +150a182,185 +> if(mode.getValue() == Mode.Experimental){ +> Renderer.R3D.renderFilled(new Vec3d(originblock.getX(), originblock.getY(), originblock.getZ()), new Vec3d(1, 1, 1), Utils.getCurrentRGB(), matrices); +> Renderer.R3D.renderFilled(new Vec3d(movings.getX(), movings.getY(), movings.getZ()), new Vec3d(1, 1, 1), Utils.getCurrentRGB(), matrices); +> } +```