mirror of
https://github.com/Miasmusa/Shadow.git
synced 2024-11-14 19:04:54 -05:00
the format
This commit is contained in:
parent
f081006aca
commit
ded843d309
21 changed files with 154 additions and 161 deletions
|
@ -12,7 +12,6 @@ public class Test extends Command {
|
|||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onExecute(String[] args) {
|
||||
}
|
||||
|
|
|
@ -50,10 +50,10 @@ public class ProxyManagerScreen extends ClientScreen {
|
|||
port = new RoundTextFieldWidget(sourceX, sourceY + yOffset, wWidth, 20, "Port");
|
||||
|
||||
yOffset += port.getHeight() + padding();
|
||||
user = new RoundTextFieldWidget(sourceX, sourceY+yOffset,wWidth,20,"Username (opt.)");
|
||||
yOffset += user.getHeight()+padding();
|
||||
pass = new RoundTextFieldWidget(sourceX,sourceY+yOffset,wWidth,20,"Password (opt.)");
|
||||
yOffset += pass.getHeight()+padding();
|
||||
user = new RoundTextFieldWidget(sourceX, sourceY + yOffset, wWidth, 20, "Username (opt.)");
|
||||
yOffset += user.getHeight() + padding();
|
||||
pass = new RoundTextFieldWidget(sourceX, sourceY + yOffset, wWidth, 20, "Password (opt.)");
|
||||
yOffset += pass.getHeight() + padding();
|
||||
if (currentProxy != null) {
|
||||
ip.setText(currentProxy.address);
|
||||
port.setText(currentProxy.port + "");
|
||||
|
@ -118,11 +118,11 @@ public class ProxyManagerScreen extends ClientScreen {
|
|||
port.setY(sourceY + yOffset);
|
||||
yOffset += port.getHeight() + padding();
|
||||
user.setX(sourceX);
|
||||
user.setY(sourceY+yOffset);
|
||||
yOffset += user.getHeight()+padding();
|
||||
user.setY(sourceY + yOffset);
|
||||
yOffset += user.getHeight() + padding();
|
||||
pass.setX(sourceX);
|
||||
pass.setY(sourceY+yOffset);
|
||||
yOffset += pass.getHeight()+padding();
|
||||
pass.setY(sourceY + yOffset);
|
||||
yOffset += pass.getHeight() + padding();
|
||||
type.setX(sourceX);
|
||||
type.setY(sourceY + yOffset);
|
||||
yOffset += 20 + padding();
|
||||
|
|
|
@ -6,7 +6,8 @@ package net.shadow.client.feature.module;
|
|||
|
||||
|
||||
import net.shadow.client.feature.module.impl.combat.*;
|
||||
import net.shadow.client.feature.module.impl.crash.*;
|
||||
import net.shadow.client.feature.module.impl.crash.AnimationCrash;
|
||||
import net.shadow.client.feature.module.impl.crash.BookInflator;
|
||||
import net.shadow.client.feature.module.impl.exploit.*;
|
||||
import net.shadow.client.feature.module.impl.grief.*;
|
||||
import net.shadow.client.feature.module.impl.misc.*;
|
||||
|
|
|
@ -5,8 +5,6 @@
|
|||
package net.shadow.client.feature.module;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
|
||||
public class Template extends Module {
|
||||
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
|
||||
package net.shadow.client.feature.module.impl.crash;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.network.packet.c2s.play.HandSwingC2SPacket;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.world.World;
|
||||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.config.DoubleSetting;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.minecraft.network.packet.c2s.play.HandSwingC2SPacket;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class AnimationCrash extends Module {
|
||||
|
||||
|
||||
static World w;
|
||||
final DoubleSetting power = this.config.create(new DoubleSetting.Builder(3000).min(2000).max(10000).name("Power").description("the amount of packets to send to the server").get());
|
||||
|
||||
|
@ -30,11 +30,11 @@ public class AnimationCrash extends Module {
|
|||
this.setEnabled(false);
|
||||
return;
|
||||
}
|
||||
try{
|
||||
try {
|
||||
for (int i = 0; i < power.getValue(); i++) {
|
||||
Objects.requireNonNull(ShadowMain.client.player.networkHandler).sendPacket(new HandSwingC2SPacket(Hand.MAIN_HAND));
|
||||
}
|
||||
}catch(NullPointerException e){
|
||||
} catch (NullPointerException e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,14 +18,15 @@ import org.apache.commons.lang3.RandomStringUtils;
|
|||
|
||||
public class BookInflator extends Module {
|
||||
int slot = 5;
|
||||
|
||||
public BookInflator() {
|
||||
super("BookInflater", "Writes a book thats big", ModuleType.CRASH);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
for(int i = 0; i < 5; i++){
|
||||
if(slot > 36 + 9){
|
||||
for (int i = 0; i < 5; i++) {
|
||||
if (slot > 36 + 9) {
|
||||
slot = 0;
|
||||
return;
|
||||
}
|
||||
|
@ -34,7 +35,7 @@ public class BookInflator extends Module {
|
|||
NbtCompound tag = new NbtCompound();
|
||||
NbtList list = new NbtList();
|
||||
for (int j = 0; j < 99; j++) {
|
||||
list.add(NbtString.of("{\"text\":"+ RandomStringUtils.randomAlphabetic(200) + "\"}"));
|
||||
list.add(NbtString.of("{\"text\":" + RandomStringUtils.randomAlphabetic(200) + "\"}"));
|
||||
}
|
||||
tag.put("author", NbtString.of(RandomStringUtils.randomAlphabetic(9000)));
|
||||
tag.put("title", NbtString.of(RandomStringUtils.randomAlphabetic(25564)));
|
||||
|
|
|
@ -4,15 +4,9 @@
|
|||
|
||||
package net.shadow.client.feature.module.impl.grief;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.config.DoubleSetting;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.shadow.client.helper.render.Renderer;
|
||||
import net.shadow.client.helper.util.Utils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.nbt.StringNbtReader;
|
||||
|
@ -23,23 +17,40 @@ import net.minecraft.util.hit.BlockHitResult;
|
|||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.config.DoubleSetting;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.shadow.client.helper.render.Renderer;
|
||||
import net.shadow.client.helper.util.Utils;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AutoFireball extends Module {
|
||||
|
||||
final DoubleSetting radius = this.config.create(new DoubleSetting.Builder(15).max(100).min(10).name("Radius").description("The radius to search in").get());
|
||||
final Block[] blocks = new Block[]{Blocks.COBBLESTONE, Blocks.GLASS, Blocks.GLASS_PANE, Blocks.OAK_DOOR, Blocks.IRON_DOOR, Blocks.BRICKS, Blocks.OAK_PLANKS, Blocks.DARK_OAK_PLANKS, Blocks.WHITE_WOOL, Blocks.BLACK_WOOL, Blocks.BARREL, Blocks.CHEST, Blocks.CRAFTING_TABLE, Blocks.FURNACE};
|
||||
BlockPos walkman = new BlockPos(0, 0, 0);
|
||||
List<BlockPos> targets = new ArrayList<>();
|
||||
final DoubleSetting radius = this.config.create(new DoubleSetting.Builder(15).max(100).min(10).name("Radius").description("The radius to search in").get());
|
||||
|
||||
final Block[] blocks = new Block[]{Blocks.COBBLESTONE, Blocks.GLASS, Blocks.GLASS_PANE, Blocks.OAK_DOOR, Blocks.IRON_DOOR, Blocks.BRICKS, Blocks.OAK_PLANKS, Blocks.DARK_OAK_PLANKS, Blocks.WHITE_WOOL, Blocks.BLACK_WOOL, Blocks.BARREL, Blocks.CHEST, Blocks.CRAFTING_TABLE, Blocks.FURNACE};
|
||||
|
||||
public AutoFireball() {
|
||||
super("AutoFireball", "auto nuke shit using fireballs", ModuleType.MISC);
|
||||
}
|
||||
|
||||
public static void raycast(BlockPos destination) {
|
||||
ItemStack item = new ItemStack(Items.COW_SPAWN_EGG, 1);
|
||||
ItemStack before = ShadowMain.client.player.getMainHandStack();
|
||||
try {
|
||||
item.setNbt(StringNbtReader.parse("{EntityTag:{id:\"minecraft:end_crystal\",ShowBottom:0b,BeamTarget:{X:" + destination.getX() + ",Y:" + destination.getY() + ",Z:" + destination.getZ() + "}}}"));
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new CreativeInventoryActionC2SPacket(36 + ShadowMain.client.player.getInventory().selectedSlot, item));
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, new BlockHitResult(ShadowMain.client.player.getPos().add(new Vec3d(0, -2, 0)), Direction.UP, ShadowMain.client.player.getBlockPos().offset(Direction.DOWN, 2), false)));
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new CreativeInventoryActionC2SPacket(36 + ShadowMain.client.player.getInventory().selectedSlot, before));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
|
||||
|
@ -63,22 +74,22 @@ public class AutoFireball extends Module {
|
|||
for (int z = -l; z < l; z++) {
|
||||
BlockPos pos = before.add(new BlockPos(x, y, z));
|
||||
Block block = ShadowMain.client.world.getBlockState(pos).getBlock();
|
||||
for(Block b : blocks){
|
||||
if (b.equals(block)){
|
||||
for (Block b : blocks) {
|
||||
if (b.equals(block)) {
|
||||
boolean executebreak = false;
|
||||
for(BlockPos bl : new ArrayList<>(targets)){
|
||||
if(distanceToBlocks(bl, pos) < 10){
|
||||
for (BlockPos bl : new ArrayList<>(targets)) {
|
||||
if (distanceToBlocks(bl, pos) < 10) {
|
||||
executebreak = true;
|
||||
}
|
||||
}
|
||||
if(!executebreak){
|
||||
if (!executebreak) {
|
||||
targets.add(pos);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ItemStack b4 = ShadowMain.client.player.getMainHandStack();
|
||||
for(BlockPos nuke : new ArrayList<>(targets)){
|
||||
for (BlockPos nuke : new ArrayList<>(targets)) {
|
||||
ItemStack fireball = new ItemStack(Items.BLAZE_SPAWN_EGG, 1);
|
||||
try {
|
||||
fireball.setNbt(StringNbtReader.parse("{EntityTag:{id:\"minecraft:fireball\",ExplosionPower:25b,Pos:[" + nuke.getX() + ".0," + nuke.getY() + ".9," + nuke.getZ() + ".0],power:[0.0,-1.0,0.0]}}"));
|
||||
|
@ -96,18 +107,6 @@ public class AutoFireball extends Module {
|
|||
}).start();
|
||||
}
|
||||
|
||||
public static void raycast(BlockPos destination) {
|
||||
ItemStack item = new ItemStack(Items.COW_SPAWN_EGG, 1);
|
||||
ItemStack before = ShadowMain.client.player.getMainHandStack();
|
||||
try {
|
||||
item.setNbt(StringNbtReader.parse("{EntityTag:{id:\"minecraft:end_crystal\",ShowBottom:0b,BeamTarget:{X:" + destination.getX() + ",Y:" + destination.getY() + ",Z:" + destination.getZ() + "}}}"));
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new CreativeInventoryActionC2SPacket(36 + ShadowMain.client.player.getInventory().selectedSlot, item));
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, new BlockHitResult(ShadowMain.client.player.getPos().add(new Vec3d(0, -2, 0)), Direction.UP, ShadowMain.client.player.getBlockPos().offset(Direction.DOWN, 2), false)));
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new CreativeInventoryActionC2SPacket(36 + ShadowMain.client.player.getInventory().selectedSlot, before));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disable() {
|
||||
}
|
||||
|
@ -119,7 +118,7 @@ public class AutoFireball extends Module {
|
|||
|
||||
@Override
|
||||
public void onWorldRender(MatrixStack matrices) {
|
||||
for(BlockPos globalpos : new ArrayList<>(targets)){
|
||||
for (BlockPos globalpos : new ArrayList<>(targets)) {
|
||||
Vec3d vp = new Vec3d(globalpos.getX() - 1.5, globalpos.getY() - 1.5, globalpos.getZ() - 1.5);
|
||||
Renderer.R3D.renderFilled(vp, new Vec3d(3, 3, 3), new Color(53, 53, 53, 100), matrices);
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ package net.shadow.client.feature.module.impl.grief;
|
|||
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
|
||||
|
@ -18,7 +19,6 @@ import net.minecraft.util.math.Vec3d;
|
|||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
@ -29,7 +29,7 @@ public class AutoIgnite extends Module {
|
|||
}
|
||||
|
||||
int getLighterSlot() {
|
||||
for(int i = 0;i<9;i++) {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
ItemStack is = ShadowMain.client.player.getInventory().getStack(i);
|
||||
if (is.getItem() == Items.FLINT_AND_STEEL) return i;
|
||||
}
|
||||
|
@ -42,11 +42,12 @@ public class AutoIgnite extends Module {
|
|||
if (lighterSlot == -1) return;
|
||||
double searchRad = Math.ceil(ShadowMain.client.interactionManager.getReachDistance());
|
||||
List<BlockPos> blocksToIgnite = new ArrayList<>();
|
||||
for(double x = -searchRad;x<searchRad;x++) {
|
||||
for(double y = -searchRad;y<searchRad;y++) {
|
||||
for(double z = -searchRad;z<searchRad;z++) {
|
||||
Vec3d vPos = ShadowMain.client.player.getEyePos().add(x,y,z);
|
||||
if (vPos.distanceTo(ShadowMain.client.player.getEyePos()) > ShadowMain.client.interactionManager.getReachDistance()) continue;
|
||||
for (double x = -searchRad; x < searchRad; x++) {
|
||||
for (double y = -searchRad; y < searchRad; y++) {
|
||||
for (double z = -searchRad; z < searchRad; z++) {
|
||||
Vec3d vPos = ShadowMain.client.player.getEyePos().add(x, y, z);
|
||||
if (vPos.distanceTo(ShadowMain.client.player.getEyePos()) > ShadowMain.client.interactionManager.getReachDistance())
|
||||
continue;
|
||||
BlockPos bp = new BlockPos(vPos);
|
||||
BlockState bs = ShadowMain.client.world.getBlockState(bp);
|
||||
if (bs.getBlock() == Blocks.TNT) {
|
||||
|
@ -60,8 +61,8 @@ public class AutoIgnite extends Module {
|
|||
ShadowMain.client.getNetworkHandler().sendPacket(new UpdateSelectedSlotC2SPacket(lighterSlot));
|
||||
|
||||
for (BlockPos blockPos : blocksToIgnite) {
|
||||
BlockHitResult bhr = new BlockHitResult(Vec3d.of(blockPos).add(0.5,0.5,0.5), Direction.DOWN,blockPos,false);
|
||||
PlayerInteractBlockC2SPacket interact = new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND,bhr);
|
||||
BlockHitResult bhr = new BlockHitResult(Vec3d.of(blockPos).add(0.5, 0.5, 0.5), Direction.DOWN, blockPos, false);
|
||||
PlayerInteractBlockC2SPacket interact = new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, bhr);
|
||||
ShadowMain.client.getNetworkHandler().sendPacket(interact);
|
||||
}
|
||||
|
||||
|
|
|
@ -20,6 +20,10 @@ import java.util.concurrent.ExecutorService;
|
|||
import java.util.concurrent.Executors;
|
||||
|
||||
public class DiscordRPC extends Module {
|
||||
static ExecutorService offThreadExec = Executors.newFixedThreadPool(1);
|
||||
Timer rpcUpdate = new Timer();
|
||||
long updateRequested = 0;
|
||||
boolean updateOutstanding = false;
|
||||
StringSetting details = this.config.create(
|
||||
new StringSetting.Builder("Using Shadow V2")
|
||||
.name("Title")
|
||||
|
@ -38,17 +42,15 @@ public class DiscordRPC extends Module {
|
|||
})
|
||||
.get()
|
||||
);
|
||||
long startTime;
|
||||
|
||||
public DiscordRPC() {
|
||||
super("DiscordRPC", "Shows a discord rich presence", ModuleType.MISC);
|
||||
|
||||
}
|
||||
Timer rpcUpdate = new Timer();
|
||||
|
||||
long updateRequested = 0;
|
||||
boolean updateOutstanding = false;
|
||||
|
||||
void update() {
|
||||
updateRequested = System.currentTimeMillis()+2000;
|
||||
updateRequested = System.currentTimeMillis() + 2000;
|
||||
updateOutstanding = true;
|
||||
}
|
||||
|
||||
|
@ -61,8 +63,6 @@ public class DiscordRPC extends Module {
|
|||
}
|
||||
}
|
||||
|
||||
static ExecutorService offThreadExec = Executors.newFixedThreadPool(1);
|
||||
|
||||
@Override
|
||||
public void onFastTick() {
|
||||
actuallyUpdate();
|
||||
|
@ -72,31 +72,32 @@ public class DiscordRPC extends Module {
|
|||
public void tick() {
|
||||
|
||||
}
|
||||
long startTime;
|
||||
|
||||
void setState() {
|
||||
RichPresence rp = new RichPresence();
|
||||
rp.setDetails(details.getValue());
|
||||
rp.setState(state.getValue());
|
||||
rp.setLargeImage("icon", "discord.gg/moles");
|
||||
rp.setSmallImage("grass", "made by saturn5Vfive#6767 and 0x150 the 2nd#8918");
|
||||
rp.setSmallImage("grass", "0x150 the 2nd#8918, saturn5Vfive#6767");
|
||||
rp.setStart(startTime);
|
||||
DiscordIPC.setActivity(rp);
|
||||
}
|
||||
|
||||
void applyRpc() {
|
||||
IPCUser user = DiscordIPC.getUser();
|
||||
Utils.Logging.success("Connected to "+ user.username+"#"+user.discriminator);
|
||||
Utils.Logging.success("Connected to " + user.username + "#" + user.discriminator);
|
||||
setState();
|
||||
Notification.create(3000,"Discord RPC", Notification.Type.SUCCESS, "Connected!");
|
||||
Notification.create(3000, "Discord RPC", Notification.Type.SUCCESS, "Connected!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enable() {
|
||||
startTime = Instant.now().getEpochSecond();
|
||||
Notification.create(3000,"Discord RPC", Notification.Type.INFO,"Attempting to connect...");
|
||||
Notification.create(3000, "Discord RPC", Notification.Type.INFO, "Attempting to connect...");
|
||||
offThreadExec.execute(() -> {
|
||||
boolean result = DiscordIPC.start(958479347390500874L, this::applyRpc);
|
||||
if (!result) {
|
||||
Notification.create(5000,"Discord RPC", Notification.Type.ERROR, "Discord isn't open! Open discord and enable the module again.");
|
||||
Notification.create(5000, "Discord RPC", Notification.Type.ERROR, "Discord isn't open! Open discord and enable the module again.");
|
||||
setEnabled(false);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -7,7 +7,7 @@ package net.shadow.client.feature.module.impl.render;
|
|||
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.render.BlockBreakingInfo;
|
||||
import net.minecraft.client.render.WorldRenderer;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Box;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
@ -15,7 +15,6 @@ import net.minecraft.util.shape.VoxelShape;
|
|||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.shadow.client.helper.render.Renderer;
|
||||
import net.shadow.client.mixin.WorldRendererAccessor;
|
||||
|
||||
|
@ -38,22 +37,22 @@ public class BetterBlockBreaking extends Module {
|
|||
|
||||
long k = e.getLongKey();
|
||||
BlockPos kv = BlockPos.fromLong(k);
|
||||
int stage = bbrs.last().getStage()+1;
|
||||
double stageProg = stage/10d;
|
||||
int stage = bbrs.last().getStage() + 1;
|
||||
double stageProg = stage / 10d;
|
||||
BlockState bs = ShadowMain.client.world.getBlockState(kv);
|
||||
VoxelShape vs = bs.getOutlineShape(ShadowMain.client.world,kv);
|
||||
VoxelShape vs = bs.getOutlineShape(ShadowMain.client.world, kv);
|
||||
if (vs.isEmpty()) return;
|
||||
Box bb = vs.getBoundingBox();
|
||||
double invProg = 1-stageProg;
|
||||
double invProg = 1 - stageProg;
|
||||
double lenX = bb.getXLength();
|
||||
double lenY = bb.getYLength();
|
||||
double lenZ = bb.getZLength();
|
||||
bb = bb.shrink(bb.getXLength()*invProg,bb.getYLength()*invProg,bb.getZLength()*invProg);
|
||||
Vec3d start = new Vec3d(bb.minX, bb.minY, bb.minZ).add(Vec3d.of(kv)).add(lenX*invProg/2d,lenY*invProg/2d,lenZ*invProg/2d);
|
||||
Vec3d len = new Vec3d(bb.getXLength(),bb.getYLength(),bb.getZLength());
|
||||
Color outline = new Color(50,50,50,255);
|
||||
Color fill = new Color(20,20,20,100);
|
||||
Renderer.R3D.renderEdged(stack,start,len,fill,outline);
|
||||
bb = bb.shrink(bb.getXLength() * invProg, bb.getYLength() * invProg, bb.getZLength() * invProg);
|
||||
Vec3d start = new Vec3d(bb.minX, bb.minY, bb.minZ).add(Vec3d.of(kv)).add(lenX * invProg / 2d, lenY * invProg / 2d, lenZ * invProg / 2d);
|
||||
Vec3d len = new Vec3d(bb.getXLength(), bb.getYLength(), bb.getZLength());
|
||||
Color outline = new Color(50, 50, 50, 255);
|
||||
Color fill = new Color(20, 20, 20, 100);
|
||||
Renderer.R3D.renderEdged(stack, start, len, fill, outline);
|
||||
// Renderer.R3D.renderFilled(start,len,fill,stack);
|
||||
// Renderer.R3D.renderOutline(start,len,outline,stack);
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
package net.shadow.client.feature.module.impl.render;
|
||||
|
||||
import org.lwjgl.system.MemoryUtil;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
|
@ -22,7 +21,7 @@ public class MouseEars extends Module {
|
|||
|
||||
@Override
|
||||
public void enable() {
|
||||
MemoryUtil.memSet(0L, 0, 1L);
|
||||
// MemoryUtil.memSet(0L, 0, 1L); kill yourself saturn
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,15 +6,14 @@ package net.shadow.client.feature.module.impl.world;
|
|||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.shadow.client.helper.event.EventType;
|
||||
import net.shadow.client.helper.event.Events;
|
||||
import net.shadow.client.helper.event.events.MouseEvent;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
|
||||
public class AirPlace extends Module {
|
||||
|
||||
|
@ -23,13 +22,14 @@ public class AirPlace extends Module {
|
|||
public AirPlace() {
|
||||
super("AirPlace", "template", ModuleType.MISC);
|
||||
Events.registerEventHandler(EventType.MOUSE_EVENT, event -> {
|
||||
if(enabled && ((MouseEvent)event).getButton() == 1 && ((MouseEvent)event).getAction() == 1){
|
||||
if(ShadowMain.client.currentScreen != null) return;
|
||||
if (enabled && ((MouseEvent) event).getButton() == 1 && ((MouseEvent) event).getAction() == 1) {
|
||||
if (ShadowMain.client.currentScreen != null) return;
|
||||
try {
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, (BlockHitResult) ShadowMain.client.crosshairTarget));
|
||||
ShadowMain.client.player.swingHand(Hand.MAIN_HAND);
|
||||
event.setCancelled(true);
|
||||
} catch (Exception ignored) {}
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -5,6 +5,11 @@
|
|||
package net.shadow.client.feature.module.impl.world;
|
||||
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractItemC2SPacket;
|
||||
import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.feature.config.DoubleSetting;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
|
@ -13,11 +18,6 @@ import net.shadow.client.helper.event.EventType;
|
|||
import net.shadow.client.helper.event.Events;
|
||||
import net.shadow.client.helper.event.events.PacketEvent;
|
||||
import net.shadow.client.helper.util.Utils;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractItemC2SPacket;
|
||||
import net.minecraft.network.packet.s2c.play.PlaySoundS2CPacket;
|
||||
import net.minecraft.sound.SoundEvents;
|
||||
import net.minecraft.util.Hand;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
|
@ -29,7 +29,7 @@ public class AutoFish extends Module {
|
|||
public AutoFish() {
|
||||
super("Autofish", "auto catch fish", ModuleType.WORLD);
|
||||
Events.registerEventHandler(EventType.PACKET_RECEIVE, packete -> {
|
||||
PacketEvent event = (PacketEvent)packete;
|
||||
PacketEvent event = (PacketEvent) packete;
|
||||
if (event.getPacket() instanceof PlaySoundS2CPacket packet) {
|
||||
if (packet.getSound().equals(SoundEvents.ENTITY_FISHING_BOBBER_SPLASH)) {
|
||||
new Thread(() -> {
|
||||
|
@ -93,6 +93,7 @@ public class AutoFish extends Module {
|
|||
private void click() {
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new PlayerInteractItemC2SPacket(Hand.MAIN_HAND));
|
||||
}
|
||||
|
||||
public int getFishingRod() {
|
||||
if (ShadowMain.client.player.getMainHandStack().getItem().equals(Items.FISHING_ROD)) {
|
||||
return ShadowMain.client.player.getInventory().selectedSlot;
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
package net.shadow.client.feature.module.impl.world;
|
||||
|
||||
import net.minecraft.client.MinecraftClient;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
|
|
|
@ -4,17 +4,12 @@
|
|||
|
||||
package net.shadow.client.feature.module.impl.world;
|
||||
|
||||
import com.mojang.patchy.BlockedServers;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.datafixer.fix.BlockEntityKeepPacked;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket;
|
||||
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
|
||||
import net.minecraft.network.packet.s2c.play.BlockBreakingProgressS2CPacket;
|
||||
import net.minecraft.util.Hand;
|
||||
import net.minecraft.util.Util;
|
||||
import net.minecraft.util.hit.BlockHitResult;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.Direction;
|
||||
import net.minecraft.util.math.Vec3d;
|
||||
|
@ -22,23 +17,14 @@ import net.minecraft.util.registry.Registry;
|
|||
import net.shadow.client.feature.config.EnumSetting;
|
||||
import net.shadow.client.feature.module.Module;
|
||||
import net.shadow.client.feature.module.ModuleType;
|
||||
import net.minecraft.client.util.math.MatrixStack;
|
||||
import net.shadow.client.helper.render.Renderer;
|
||||
import net.shadow.client.helper.util.Utils;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
public class Nuker extends Module {
|
||||
public enum Mode {
|
||||
Packet, Interaction, Griefing
|
||||
}
|
||||
EnumSetting<Mode> modeSetting = this.config.create(new EnumSetting.Builder<>(Mode.Interaction)
|
||||
.name("Mode")
|
||||
.description("How to break block")
|
||||
.get());
|
||||
static final List<Block> instantBreaks = Util.make(() -> {
|
||||
ArrayList<Block> piss = new ArrayList<>();
|
||||
for (Block block : Registry.BLOCK) {
|
||||
|
@ -48,15 +34,20 @@ public class Nuker extends Module {
|
|||
}
|
||||
return piss;
|
||||
});
|
||||
EnumSetting<Mode> modeSetting = this.config.create(new EnumSetting.Builder<>(Mode.Interaction)
|
||||
.name("Mode")
|
||||
.description("How to break block")
|
||||
.get());
|
||||
public Nuker() {
|
||||
super("Nuker", "The nuke", ModuleType.WORLD);
|
||||
}
|
||||
|
||||
void iterateOverRange(double range, Consumer<Vec3d> positionsOffset) {
|
||||
double halfRange = Math.ceil(range);
|
||||
for(double x = -halfRange;x<=halfRange+1;x++) {
|
||||
for(double y = -halfRange;y<=halfRange+1;y++) {
|
||||
for(double z = -halfRange;z<=halfRange+1;z++) {
|
||||
Vec3d posOff = new Vec3d(x-.5,y,z-.5);
|
||||
for (double x = -halfRange; x <= halfRange + 1; x++) {
|
||||
for (double y = -halfRange; y <= halfRange + 1; y++) {
|
||||
for (double z = -halfRange; z <= halfRange + 1; z++) {
|
||||
Vec3d posOff = new Vec3d(x - .5, y, z - .5);
|
||||
Vec3d actual = client.player.getPos().add(posOff);
|
||||
if (actual.distanceTo(client.player.getEyePos()) > range) continue;
|
||||
positionsOffset.accept(actual);
|
||||
|
@ -64,44 +55,45 @@ public class Nuker extends Module {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
switch(modeSetting.getValue()) {
|
||||
switch (modeSetting.getValue()) {
|
||||
case Packet -> {
|
||||
iterateOverRange(client.interactionManager.getReachDistance(),vec3d -> {
|
||||
iterateOverRange(client.interactionManager.getReachDistance(), vec3d -> {
|
||||
BlockPos bp = new BlockPos(vec3d);
|
||||
BlockState bs = client.world.getBlockState(bp);
|
||||
if (bs.isAir()) return;
|
||||
Block b = bs.getBlock();
|
||||
if (b == Blocks.WATER || b == Blocks.LAVA) return;
|
||||
// BlockHitResult bhr = new BlockHitResult(vec3d, Direction.DOWN,bp,false);
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK,bp,Direction.DOWN));
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK,bp,Direction.DOWN));
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255),Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(),Vec3d.of(bp),new Vec3d(1,1,1), 1000);
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, bp, Direction.DOWN));
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, bp, Direction.DOWN));
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255), Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(), Vec3d.of(bp), new Vec3d(1, 1, 1), 1000);
|
||||
// client.getNetworkHandler().sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND,bhr));
|
||||
});
|
||||
}
|
||||
case Griefing -> {
|
||||
iterateOverRange(client.interactionManager.getReachDistance(),vec3d -> {
|
||||
iterateOverRange(client.interactionManager.getReachDistance(), vec3d -> {
|
||||
BlockPos bp = new BlockPos(vec3d);
|
||||
BlockState bs = client.world.getBlockState(bp);
|
||||
if (bs.isAir()) return;
|
||||
if (instantBreaks.contains(bs.getBlock())) {
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK,bp,Direction.DOWN));
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK,bp,Direction.DOWN));
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255),Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(),Vec3d.of(bp),new Vec3d(1,1,1), 1000);
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.START_DESTROY_BLOCK, bp, Direction.DOWN));
|
||||
client.getNetworkHandler().sendPacket(new PlayerActionC2SPacket(PlayerActionC2SPacket.Action.STOP_DESTROY_BLOCK, bp, Direction.DOWN));
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255), Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(), Vec3d.of(bp), new Vec3d(1, 1, 1), 1000);
|
||||
}
|
||||
});
|
||||
}
|
||||
case Interaction -> {
|
||||
iterateOverRange(client.interactionManager.getReachDistance(),vec3d -> {
|
||||
iterateOverRange(client.interactionManager.getReachDistance(), vec3d -> {
|
||||
BlockPos bp = new BlockPos(vec3d);
|
||||
BlockState bs = client.world.getBlockState(bp);
|
||||
if (bs.isAir()) return;
|
||||
Block b = bs.getBlock();
|
||||
if (b == Blocks.WATER || b == Blocks.LAVA) return;
|
||||
client.interactionManager.attackBlock(bp,Direction.DOWN);
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255),Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(),Vec3d.of(bp),new Vec3d(1,1,1), 1000);
|
||||
client.interactionManager.attackBlock(bp, Direction.DOWN);
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255), Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(), Vec3d.of(bp), new Vec3d(1, 1, 1), 1000);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -131,4 +123,8 @@ public class Nuker extends Module {
|
|||
public void onHudRender() {
|
||||
|
||||
}
|
||||
|
||||
public enum Mode {
|
||||
Packet, Interaction, Griefing
|
||||
}
|
||||
}
|
||||
|
|
|
@ -140,7 +140,7 @@ public class SurvivalNuker extends Module {
|
|||
for (BlockPos render : renders) {
|
||||
Vec3d vp = new Vec3d(render.getX(), render.getY(), render.getZ());
|
||||
// Renderer.R3D.renderFilled(vp, new Vec3d(1, 1, 1), Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 50), matrices);
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255),Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(),vp,new Vec3d(1,1,1), 1000);
|
||||
Renderer.R3D.renderFadingBlock(Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 255), Renderer.Util.modify(Utils.getCurrentRGB(), -1, -1, -1, 100).darker(), vp, new Vec3d(1, 1, 1), 1000);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,8 +12,6 @@ import net.minecraft.util.shape.VoxelShape;
|
|||
import net.shadow.client.ShadowMain;
|
||||
import net.shadow.client.helper.math.Matrix4x4;
|
||||
import net.shadow.client.helper.math.Vector3D;
|
||||
import net.shadow.client.mixin.MatrixStackAccessor;
|
||||
import net.shadow.client.mixin.MatrixStackEntryAccessor;
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import java.awt.*;
|
||||
|
@ -32,27 +30,21 @@ public class Renderer {
|
|||
|
||||
static final MatrixStack empty = new MatrixStack();
|
||||
static final List<FadingBlock> fades = new ArrayList<>();
|
||||
record FadingBlock(Color outline, Color fill, Vec3d start, Vec3d dimensions, long created, long lifeTime) {
|
||||
long getLifeTimeLeft() {
|
||||
return Math.max(0, (created-System.currentTimeMillis())+lifeTime);
|
||||
}
|
||||
boolean isDead() {
|
||||
return getLifeTimeLeft()==0;
|
||||
}
|
||||
}
|
||||
|
||||
public static void renderFadingBlock(Color outlineColor, Color fillColor, Vec3d start, Vec3d dimensions, long lifeTimeMs) {
|
||||
FadingBlock fb = new FadingBlock(outlineColor,fillColor,start,dimensions,System.currentTimeMillis(),lifeTimeMs);
|
||||
FadingBlock fb = new FadingBlock(outlineColor, fillColor, start, dimensions, System.currentTimeMillis(), lifeTimeMs);
|
||||
fades.removeIf(fadingBlock -> fadingBlock.start.equals(start) && fadingBlock.dimensions.equals(dimensions));
|
||||
fades.add(fb);
|
||||
}
|
||||
|
||||
public static void renderFadingBlocks(MatrixStack stack) {
|
||||
fades.removeIf(FadingBlock::isDead);
|
||||
for (FadingBlock fade : fades) {
|
||||
long lifetimeLeft = fade.getLifeTimeLeft();
|
||||
double progress = lifetimeLeft/(double)fade.lifeTime;
|
||||
Color out = Util.modify(fade.outline,-1,-1,-1,(int) (fade.outline.getAlpha()*progress));
|
||||
Color fill = Util.modify(fade.fill,-1,-1,-1,(int) (fade.fill.getAlpha()*progress));
|
||||
Renderer.R3D.renderEdged(stack,fade.start,fade.dimensions,fill,out);
|
||||
double progress = lifetimeLeft / (double) fade.lifeTime;
|
||||
Color out = Util.modify(fade.outline, -1, -1, -1, (int) (fade.outline.getAlpha() * progress));
|
||||
Color fill = Util.modify(fade.fill, -1, -1, -1, (int) (fade.fill.getAlpha() * progress));
|
||||
Renderer.R3D.renderEdged(stack, fade.start, fade.dimensions, fill, out);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -167,10 +159,10 @@ public class Renderer {
|
|||
float blue = colorFill.getBlue() / 255f;
|
||||
float alpha = colorFill.getAlpha() / 255f;
|
||||
|
||||
float r1 = colorOutline.getRed()/255f;
|
||||
float g1 = colorOutline.getGreen()/255f;
|
||||
float b1 = colorOutline.getBlue()/255f;
|
||||
float a1 = colorOutline.getAlpha()/255f;
|
||||
float r1 = colorOutline.getRed() / 255f;
|
||||
float g1 = colorOutline.getGreen() / 255f;
|
||||
float b1 = colorOutline.getBlue() / 255f;
|
||||
float a1 = colorOutline.getAlpha() / 255f;
|
||||
|
||||
Camera c = ShadowMain.client.gameRenderer.getCamera();
|
||||
Vec3d camPos = c.getPos();
|
||||
|
@ -395,6 +387,16 @@ public class Renderer {
|
|||
return new Vec3d(f2 * f3, f4, f1 * f3).add(camera.getPos());
|
||||
}
|
||||
|
||||
record FadingBlock(Color outline, Color fill, Vec3d start, Vec3d dimensions, long created, long lifeTime) {
|
||||
long getLifeTimeLeft() {
|
||||
return Math.max(0, (created - System.currentTimeMillis()) + lifeTime);
|
||||
}
|
||||
|
||||
boolean isDead() {
|
||||
return getLifeTimeLeft() == 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static class R2D {
|
||||
|
|
|
@ -198,7 +198,7 @@ public class Utils {
|
|||
}
|
||||
|
||||
public static class Packet {
|
||||
public static void placeBlock(BlockPos block){
|
||||
public static void placeBlock(BlockPos block) {
|
||||
ShadowMain.client.player.networkHandler.sendPacket(new PlayerInteractBlockC2SPacket(Hand.MAIN_HAND, new BlockHitResult(new Vec3d(block.getX() + 0.5, block.getY() + 0.5, block.getZ() + 0.5), Direction.UP, block, false)));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ import net.shadow.client.helper.event.events.BlockRenderingEvent;
|
|||
import org.spongepowered.asm.mixin.Mixin;
|
||||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import java.util.Random;
|
||||
|
|
|
@ -27,7 +27,7 @@ public class ClientConnection1Mixin {
|
|||
if (currentProxy.socks4()) {
|
||||
channel.pipeline().addFirst(new Socks4ProxyHandler(new InetSocketAddress(currentProxy.address(), currentProxy.port()), currentProxy.user()));
|
||||
} else {
|
||||
channel.pipeline().addFirst(new Socks5ProxyHandler(new InetSocketAddress(currentProxy.address(), currentProxy.port()), currentProxy.user(),currentProxy.pass()));
|
||||
channel.pipeline().addFirst(new Socks5ProxyHandler(new InetSocketAddress(currentProxy.address(), currentProxy.port()), currentProxy.user(), currentProxy.pass()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -19,8 +19,6 @@ import org.spongepowered.asm.mixin.injection.At;
|
|||
import org.spongepowered.asm.mixin.injection.ModifyArg;
|
||||
import org.spongepowered.asm.mixin.injection.Redirect;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.SortedSet;
|
||||
|
||||
@Debug(export = true)
|
||||
|
@ -32,9 +30,9 @@ public class WorldRendererMixin {
|
|||
return ModuleRegistry.getByClass(Freecam.class).isEnabled() || ModuleRegistry.getByClass(XRAY.class).isEnabled() || spectator;
|
||||
}
|
||||
|
||||
@Redirect(method="render",at=@At(
|
||||
value="INVOKE",
|
||||
target="Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;long2ObjectEntrySet()Lit/unimi/dsi/fastutil/objects/ObjectSet;"
|
||||
@Redirect(method = "render", at = @At(
|
||||
value = "INVOKE",
|
||||
target = "Lit/unimi/dsi/fastutil/longs/Long2ObjectMap;long2ObjectEntrySet()Lit/unimi/dsi/fastutil/objects/ObjectSet;"
|
||||
))
|
||||
ObjectSet<Long2ObjectMap.Entry<SortedSet<BlockBreakingInfo>>> a(Long2ObjectMap<SortedSet<BlockBreakingInfo>> instance, MatrixStack matrices) {
|
||||
BetterBlockBreaking bbr = ModuleRegistry.getByClass(BetterBlockBreaking.class);
|
||||
|
|
Loading…
Reference in a new issue