Search in sources :

Example 1 with ExplosionS2CPacket

use of net.minecraft.network.packet.s2c.play.ExplosionS2CPacket in project BleachHack by BleachDrinker420.

the class NoVelocity method readPacket.

@BleachSubscribe
public void readPacket(EventPacket.Read event) {
    if (mc.player == null)
        return;
    if (event.getPacket() instanceof EntityVelocityUpdateS2CPacket && getSetting(0).asToggle().getState()) {
        EntityVelocityUpdateS2CPacket packet = (EntityVelocityUpdateS2CPacket) event.getPacket();
        if (packet.getId() == mc.player.getId()) {
            double velXZ = getSetting(0).asToggle().getChild(0).asSlider().getValue() / 100;
            double velY = getSetting(0).asToggle().getChild(1).asSlider().getValue() / 100;
            double pvelX = (packet.getVelocityX() / 8000d - mc.player.getVelocity().x) * velXZ;
            double pvelY = (packet.getVelocityY() / 8000d - mc.player.getVelocity().y) * velY;
            double pvelZ = (packet.getVelocityZ() / 8000d - mc.player.getVelocity().z) * velXZ;
            packet.velocityX = (int) (pvelX * 8000 + mc.player.getVelocity().x * 8000);
            packet.velocityY = (int) (pvelY * 8000 + mc.player.getVelocity().y * 8000);
            packet.velocityZ = (int) (pvelZ * 8000 + mc.player.getVelocity().z * 8000);
        }
    } else if (event.getPacket() instanceof ExplosionS2CPacket && getSetting(1).asToggle().getState()) {
        ExplosionS2CPacket packet = (ExplosionS2CPacket) event.getPacket();
        double velXZ = getSetting(1).asToggle().getChild(0).asSlider().getValue() / 100;
        double velY = getSetting(1).asToggle().getChild(1).asSlider().getValue() / 100;
        packet.playerVelocityX = (float) (packet.getPlayerVelocityX() * velXZ);
        packet.playerVelocityY = (float) (packet.getPlayerVelocityY() * velY);
        packet.playerVelocityZ = (float) (packet.getPlayerVelocityZ() * velXZ);
    }
}
Also used : ExplosionS2CPacket(net.minecraft.network.packet.s2c.play.ExplosionS2CPacket) EntityVelocityUpdateS2CPacket(net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket) BleachSubscribe(org.bleachhack.eventbus.BleachSubscribe)

Example 2 with ExplosionS2CPacket

use of net.minecraft.network.packet.s2c.play.ExplosionS2CPacket in project BleachHack by BleachDrinker420.

the class ChunkProcessor method onReadPacket.

@BleachSubscribe
public void onReadPacket(EventPacket.Read event) {
    if (MinecraftClient.getInstance().world == null)
        return;
    if (updateBlockConsumer != null && event.getPacket() instanceof BlockUpdateS2CPacket) {
        BlockUpdateS2CPacket packet = (BlockUpdateS2CPacket) event.getPacket();
        executor.execute(() -> updateBlockConsumer.accept(packet.getPos(), packet.getState()));
    } else if (updateBlockConsumer != null && event.getPacket() instanceof ExplosionS2CPacket) {
        ExplosionS2CPacket packet = (ExplosionS2CPacket) event.getPacket();
        for (BlockPos pos : packet.getAffectedBlocks()) {
            executor.execute(() -> updateBlockConsumer.accept(pos, Blocks.AIR.getDefaultState()));
        }
    } else if (updateBlockConsumer != null && event.getPacket() instanceof ChunkDeltaUpdateS2CPacket) {
        ChunkDeltaUpdateS2CPacket packet = (ChunkDeltaUpdateS2CPacket) event.getPacket();
        packet.visitUpdates((pos, state) -> {
            BlockPos impos = /*ter*/
            pos.toImmutable();
            executor.execute(() -> updateBlockConsumer.accept(impos, state));
        });
    } else if (loadChunkConsumer != null && event.getPacket() instanceof ChunkDataS2CPacket) {
        ChunkDataS2CPacket packet = (ChunkDataS2CPacket) event.getPacket();
        ChunkPos cp = new ChunkPos(packet.getX(), packet.getZ());
        WorldChunk chunk = new WorldChunk(MinecraftClient.getInstance().world, cp, null);
        chunk.loadFromPacket(null, packet.getReadBuffer(), new NbtCompound(), packet.getVerticalStripBitmask());
        executor.execute(() -> loadChunkConsumer.accept(cp, chunk));
    } else if (unloadChunkConsumer != null && event.getPacket() instanceof UnloadChunkS2CPacket) {
        UnloadChunkS2CPacket packet = (UnloadChunkS2CPacket) event.getPacket();
        ChunkPos cp = new ChunkPos(packet.getX(), packet.getZ());
        WorldChunk chunk = MinecraftClient.getInstance().world.getChunk(cp.x, cp.z);
        executor.execute(() -> unloadChunkConsumer.accept(cp, chunk));
    }
}
Also used : BlockUpdateS2CPacket(net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket) ExplosionS2CPacket(net.minecraft.network.packet.s2c.play.ExplosionS2CPacket) NbtCompound(net.minecraft.nbt.NbtCompound) WorldChunk(net.minecraft.world.chunk.WorldChunk) ChunkDataS2CPacket(net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket) BlockPos(net.minecraft.util.math.BlockPos) ChunkPos(net.minecraft.util.math.ChunkPos) UnloadChunkS2CPacket(net.minecraft.network.packet.s2c.play.UnloadChunkS2CPacket) ChunkDeltaUpdateS2CPacket(net.minecraft.network.packet.s2c.play.ChunkDeltaUpdateS2CPacket) BleachSubscribe(org.bleachhack.eventbus.BleachSubscribe)

Example 3 with ExplosionS2CPacket

use of net.minecraft.network.packet.s2c.play.ExplosionS2CPacket in project Hypnotic-Client by Hypnotic-Development.

the class Velocity method onReceivePacket.

@EventTarget
public void onReceivePacket(EventReceivePacket event) {
    if (mc.world == null || mc.player == null)
        return;
    this.setDisplayName("Velocity " + ColorUtils.gray + "H:" + horizontal.getValue() + " V:" + vertical.getValue());
    if (event.getPacket() instanceof EntityVelocityUpdateS2CPacket) {
        EntityVelocityUpdateS2CPacket velocity = (EntityVelocityUpdateS2CPacket) event.getPacket();
        if (velocity.getId() == mc.player.getId() && !mc.player.isTouchingWater()) {
            ReflectionHelper.setPrivateValue(EntityVelocityUpdateS2CPacket.class, velocity, (int) (velocity.getVelocityX() * (horizontal.getValue() * 0.01)), "velocityX", "field_12561");
            ReflectionHelper.setPrivateValue(EntityVelocityUpdateS2CPacket.class, velocity, (int) (velocity.getVelocityY() * (vertical.getValue() * 0.01)), "velocityY", "field_12562");
            ReflectionHelper.setPrivateValue(EntityVelocityUpdateS2CPacket.class, velocity, (int) (velocity.getVelocityZ() * (horizontal.getValue() * 0.01)), "velocityZ", "field_12563");
        }
    } else if (event.getPacket() instanceof ExplosionS2CPacket) {
        ExplosionS2CPacket velocity = (ExplosionS2CPacket) event.getPacket();
        ReflectionHelper.setPrivateValue(ExplosionS2CPacket.class, velocity, (int) (velocity.getPlayerVelocityX() * (horizontal.getValue() * 0.01)), "playerVelocityX", "field_12176");
        ReflectionHelper.setPrivateValue(ExplosionS2CPacket.class, velocity, (int) (velocity.getPlayerVelocityY() * (vertical.getValue() * 0.01)), "playerVelocityY", "field_12183");
        ReflectionHelper.setPrivateValue(ExplosionS2CPacket.class, velocity, (int) (velocity.getPlayerVelocityZ() * (horizontal.getValue() * 0.01)), "playerVelocityZ", "field_12182");
    }
}
Also used : ExplosionS2CPacket(net.minecraft.network.packet.s2c.play.ExplosionS2CPacket) EntityVelocityUpdateS2CPacket(net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket) EventTarget(dev.hypnotic.event.EventTarget)

Example 4 with ExplosionS2CPacket

use of net.minecraft.network.packet.s2c.play.ExplosionS2CPacket in project Hypnotic-Client by Hypnotic-Development.

the class Search method receivePacket.

@EventTarget
public void receivePacket(EventReceivePacket event) {
    if (event.getPacket() instanceof DisconnectS2CPacket || event.getPacket() instanceof GameJoinS2CPacket || event.getPacket() instanceof PlayerRespawnS2CPacket) {
        reset();
    } else if (event.getPacket() instanceof BlockUpdateS2CPacket) {
        BlockUpdateS2CPacket packet = (BlockUpdateS2CPacket) event.getPacket();
        queuedBlocks.add(Pair.of(packet.getPos(), packet.getState()));
    } else if (event.getPacket() instanceof ExplosionS2CPacket) {
        ExplosionS2CPacket packet = (ExplosionS2CPacket) event.getPacket();
        for (BlockPos pos : packet.getAffectedBlocks()) {
            queuedBlocks.add(Pair.of(pos, Blocks.AIR.getDefaultState()));
        }
    } else if (event.getPacket() instanceof ChunkDeltaUpdateS2CPacket) {
        ChunkDeltaUpdateS2CPacket packet = (ChunkDeltaUpdateS2CPacket) event.getPacket();
        packet.visitUpdates((pos, state) -> queuedBlocks.add(Pair.of(pos.toImmutable(), state)));
    } else if (event.getPacket() instanceof ChunkDataS2CPacket) {
        ChunkDataS2CPacket packet = (ChunkDataS2CPacket) event.getPacket();
        ChunkPos cp = new ChunkPos(packet.getX(), packet.getZ());
        queuedChunks.add(cp);
        queuedUnloads.remove(cp);
    } else if (event.getPacket() instanceof UnloadChunkS2CPacket) {
        UnloadChunkS2CPacket packet = (UnloadChunkS2CPacket) event.getPacket();
        queuedUnloads.add(new ChunkPos(packet.getX(), packet.getZ()));
    }
}
Also used : Color(java.awt.Color) ExplosionS2CPacket(net.minecraft.network.packet.s2c.play.ExplosionS2CPacket) Category(dev.hypnotic.module.Category) HashMap(java.util.HashMap) Callable(java.util.concurrent.Callable) DisconnectS2CPacket(net.minecraft.network.packet.s2c.play.DisconnectS2CPacket) BlockUpdateS2CPacket(net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket) HashSet(java.util.HashSet) Future(java.util.concurrent.Future) Pair(org.apache.commons.lang3.tuple.Pair) EventTarget(dev.hypnotic.event.EventTarget) Block(net.minecraft.block.Block) Vec3d(net.minecraft.util.math.Vec3d) Map(java.util.Map) PlayerRespawnS2CPacket(net.minecraft.network.packet.s2c.play.PlayerRespawnS2CPacket) Chunk(net.minecraft.world.chunk.Chunk) BlockState(net.minecraft.block.BlockState) ExecutorService(java.util.concurrent.ExecutorService) ChunkDeltaUpdateS2CPacket(net.minecraft.network.packet.s2c.play.ChunkDeltaUpdateS2CPacket) EventRender3D(dev.hypnotic.event.events.EventRender3D) WorldUtils(dev.hypnotic.utils.world.WorldUtils) GameJoinS2CPacket(net.minecraft.network.packet.s2c.play.GameJoinS2CPacket) Set(java.util.Set) ChunkPos(net.minecraft.util.math.ChunkPos) VoxelShapes(net.minecraft.util.shape.VoxelShapes) BlockPos(net.minecraft.util.math.BlockPos) RenderUtils(dev.hypnotic.utils.render.RenderUtils) VoxelShape(net.minecraft.util.shape.VoxelShape) Executors(java.util.concurrent.Executors) Blocks(net.minecraft.block.Blocks) ExecutionException(java.util.concurrent.ExecutionException) UnloadChunkS2CPacket(net.minecraft.network.packet.s2c.play.UnloadChunkS2CPacket) EventReceivePacket(dev.hypnotic.event.events.EventReceivePacket) Entry(java.util.Map.Entry) Mod(dev.hypnotic.module.Mod) Queue(java.util.Queue) ArrayDeque(java.util.ArrayDeque) ChunkDataS2CPacket(net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket) BlockUpdateS2CPacket(net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket) ExplosionS2CPacket(net.minecraft.network.packet.s2c.play.ExplosionS2CPacket) PlayerRespawnS2CPacket(net.minecraft.network.packet.s2c.play.PlayerRespawnS2CPacket) GameJoinS2CPacket(net.minecraft.network.packet.s2c.play.GameJoinS2CPacket) ChunkDataS2CPacket(net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket) BlockPos(net.minecraft.util.math.BlockPos) ChunkPos(net.minecraft.util.math.ChunkPos) UnloadChunkS2CPacket(net.minecraft.network.packet.s2c.play.UnloadChunkS2CPacket) ChunkDeltaUpdateS2CPacket(net.minecraft.network.packet.s2c.play.ChunkDeltaUpdateS2CPacket) DisconnectS2CPacket(net.minecraft.network.packet.s2c.play.DisconnectS2CPacket) EventTarget(dev.hypnotic.event.EventTarget)

Aggregations

ExplosionS2CPacket (net.minecraft.network.packet.s2c.play.ExplosionS2CPacket)4 EventTarget (dev.hypnotic.event.EventTarget)2 BlockUpdateS2CPacket (net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket)2 ChunkDataS2CPacket (net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket)2 ChunkDeltaUpdateS2CPacket (net.minecraft.network.packet.s2c.play.ChunkDeltaUpdateS2CPacket)2 EntityVelocityUpdateS2CPacket (net.minecraft.network.packet.s2c.play.EntityVelocityUpdateS2CPacket)2 UnloadChunkS2CPacket (net.minecraft.network.packet.s2c.play.UnloadChunkS2CPacket)2 BlockPos (net.minecraft.util.math.BlockPos)2 ChunkPos (net.minecraft.util.math.ChunkPos)2 EventReceivePacket (dev.hypnotic.event.events.EventReceivePacket)1 EventRender3D (dev.hypnotic.event.events.EventRender3D)1 Category (dev.hypnotic.module.Category)1 Mod (dev.hypnotic.module.Mod)1 RenderUtils (dev.hypnotic.utils.render.RenderUtils)1 WorldUtils (dev.hypnotic.utils.world.WorldUtils)1 Color (java.awt.Color)1 ArrayDeque (java.util.ArrayDeque)1 HashMap (java.util.HashMap)1 HashSet (java.util.HashSet)1 Map (java.util.Map)1