diff --git a/README.md b/README.md index 27ea55d..9d60ecb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,5 @@ ![banner](https://raw.githubusercontent.com/KassuK1/BlackOut/main/src/main/resources/assets/blackout/logo.png) -![Lines of code](https://img.shields.io/tokei/lines/github/KassuK1/BlackOut?color=blue&label=lines%20of%20code&style=for-the-badge) [![Discord](https://img.shields.io/discord/1020709439742947380?color=blue&label=Discord&logo=Discord&style=for-the-badge)](https://discord.gg/mmWz9Dz4Y9) [![Downloads](https://img.shields.io/github/downloads/KassuK1/BlackOut/total?color=blueviolet&style=for-the-badge)](https://github.com/KassuK1/BlackOut/releases) @@ -12,20 +11,24 @@ such as a new and improved CrystalAura, BedAura and PacketFly and a lot more of The development of the addon might not be super active due to us having our own lives contrary to the popular belief. ### How to use Blackout: - - Install Fabric 1.21.1. + - Install Fabric 1.21.4. - Download Meteor Client and put it in your mod's folder. - Put Blackout in your "mods" folder with Meteor. - Run Fabric. - Enjoy the addon. - Join the discord if you have any issues with it. -#### Latest build: https://github.com/KassuK1/BlackOut/releases/download/latest/blackout-1.0.2.jar +#### Latest build: https://github.com/KassuK1/BlackOut/releases/latest #### Credits Doogie13 for helping with the block mining calculations and step offsets. RickyTheRaccoon for his InvSwitch. +H1ggsK for updating to 1.21.4. + +Zipdox for actually sending a PR. + #### Official youtube channel https://www.youtube.com/channel/UCq_NxTxgS-Xk0TsSmhqXoyg ### Once you go black you never go back diff --git a/build.gradle b/build.gradle index 049ff22..0d5cdba 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,7 @@ dependencies { modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" // Meteor - modImplementation "meteordevelopment:meteor-client:${project.meteor_version}" + modImplementation "meteordevelopment:meteor-client:${project.meteor_version}-SNAPSHOT" modImplementation "meteordevelopment:baritone:${project.minecraft_version}-SNAPSHOT" } diff --git a/gradle.properties b/gradle.properties index a7d86e4..e955da3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,16 +1,16 @@ org.gradle.jvmargs=-Xmx2G # Fabric Properties (https://fabricmc.net/versions.html) -minecraft_version=1.21.1 -yarn_mappings=1.21.1+build.3 -loader_version=0.16.5 +minecraft_version=1.21.4 +yarn_mappings=1.21.4+build.8 +loader_version=0.16.9 # Mod Properties -mod_version=1.0.2 +mod_version=1.1.0 maven_group=kassuk.addon archives_base_name=blackout # Dependencies # Meteor (https://maven.meteordev.org/) -meteor_version=0.5.8-SNAPSHOT +meteor_version=0.6.0 diff --git a/src/main/java/kassuk/addon/blackout/BlackOut.java b/src/main/java/kassuk/addon/blackout/BlackOut.java index 8cc3e8e..1bd3a9a 100644 --- a/src/main/java/kassuk/addon/blackout/BlackOut.java +++ b/src/main/java/kassuk/addon/blackout/BlackOut.java @@ -27,7 +27,7 @@ public class BlackOut extends MeteorAddon { public static final Category SETTINGS = new Category("Settings", Items.OBSIDIAN.getDefaultStack()); public static final HudGroup HUD_BLACKOUT = new HudGroup("BlackOut"); public static final String BLACKOUT_NAME = "BlackOut"; - public static final String BLACKOUT_VERSION = "1.0.1"; + public static final String BLACKOUT_VERSION = "1.1.0"; public static final String COLOR = "Color is the visual perception of different wavelengths of light as hue, saturation, and brightness"; @Override @@ -58,7 +58,7 @@ private void initializeModules(Modules modules) { modules.add(new AutoPearl()); initializeAutoPVP(modules); modules.add(new AutoTrapPlus()); - modules.add(new BedAuraPlus()); + //modules.add(new BedAuraPlus()); modules.add(new Blocker()); modules.add(new BurrowPlus()); modules.add(new CustomFOV()); @@ -66,7 +66,7 @@ private void initializeModules(Modules modules) { modules.add(new FastXP()); modules.add(new FeetESP()); modules.add(new FlightPlus()); - modules.add(new Fog()); + // SORRY GUYS I'LL TRY T FIX IT // modules.add(new Fog()); modules.add(new ForceSneak()); modules.add(new HoleFillPlus()); modules.add(new HoleFillRewrite()); diff --git a/src/main/java/kassuk/addon/blackout/globalsettings/RangeSettings.java b/src/main/java/kassuk/addon/blackout/globalsettings/RangeSettings.java index 3c3f1a1..61aebfb 100644 --- a/src/main/java/kassuk/addon/blackout/globalsettings/RangeSettings.java +++ b/src/main/java/kassuk/addon/blackout/globalsettings/RangeSettings.java @@ -242,8 +242,8 @@ public double placeRangeTo(BlockPos pos, Vec3d from) { Vec3d pPos = mc.player.getPos(); switch (placeRangeFrom.get()) { case Middle -> - ((IVec3d) from).set((pBB.minX + pBB.maxX) / 2, (pBB.minY + pBB.maxY) / 2, (pBB.minZ + pBB.maxZ) / 2); - case Feet -> ((IVec3d) from).set(pPos.x, pPos.y, pPos.z); + ((IVec3d) from).meteor$set((pBB.minX + pBB.maxX) / 2, (pBB.minY + pBB.maxY) / 2, (pBB.minZ + pBB.maxZ) / 2); + case Feet -> ((IVec3d) from).meteor$set(pPos.x, pPos.y, pPos.z); } } @@ -295,7 +295,7 @@ public double attackRangeTo(Box bb, Vec3d feet, Vec3d from, boolean countReduce) from = mc.player.getEyePos(); switch (attackRangeFrom.get()) { case Middle -> - ((IVec3d) from).set((pBB.minX + pBB.maxX) / 2, (pBB.minY + pBB.maxY) / 2, (pBB.minZ + pBB.maxZ) / 2); + ((IVec3d) from).meteor$set((pBB.minX + pBB.maxX) / 2, (pBB.minY + pBB.maxY) / 2, (pBB.minZ + pBB.maxZ) / 2); case Feet -> from = mc.player.getPos(); } } else { @@ -344,12 +344,12 @@ public double getDistFromCenter(Box bb, Vec3d feet, Vec3d from) { } if (dist.getZ() > 0.0) { - ((IVec3d) rangePos).setXZ(rangePos.x, rangePos.z + halfWidth); + ((IVec3d) rangePos).meteor$setXZ(rangePos.x, rangePos.z + halfWidth); } else if (dist.getZ() < 0.0) { - ((IVec3d) rangePos).setXZ(rangePos.x, rangePos.z - halfWidth); + ((IVec3d) rangePos).meteor$setXZ(rangePos.x, rangePos.z - halfWidth); } else if (dist.getX() > 0.0) { - ((IVec3d) rangePos).setXZ(rangePos.x + halfWidth, rangePos.z); - } else ((IVec3d) rangePos).setXZ(rangePos.x - halfWidth, rangePos.z); + ((IVec3d) rangePos).meteor$setXZ(rangePos.x + halfWidth, rangePos.z); + } else ((IVec3d) rangePos).meteor$setXZ(rangePos.x - halfWidth, rangePos.z); Vec3d vec2 = rangePos.subtract(startPos); @@ -404,8 +404,8 @@ public double miningRangeTo(BlockPos pos, Vec3d from) { from = mc.player.getEyePos(); switch (miningRangeFrom.get()) { case Middle -> - ((IVec3d) from).set((pBB.minX + pBB.maxX) / 2, (pBB.minY + pBB.maxY) / 2, (pBB.minX + pBB.maxX) / 2); - case Feet -> ((IVec3d) from).set(pPos.x, pPos.y, pPos.z); + ((IVec3d) from).meteor$set((pBB.minX + pBB.maxX) / 2, (pBB.minY + pBB.maxY) / 2, (pBB.minX + pBB.maxX) / 2); + case Feet -> ((IVec3d) from).meteor$set(pPos.x, pPos.y, pPos.z); } } diff --git a/src/main/java/kassuk/addon/blackout/globalsettings/RaytraceSettings.java b/src/main/java/kassuk/addon/blackout/globalsettings/RaytraceSettings.java index 572ace8..f47bc62 100644 --- a/src/main/java/kassuk/addon/blackout/globalsettings/RaytraceSettings.java +++ b/src/main/java/kassuk/addon/blackout/globalsettings/RaytraceSettings.java @@ -168,7 +168,7 @@ public boolean placeTrace(BlockPos pos) { return result.getBlockPos().equals(pos); } case Sides -> { - ((IVec3d) vec).set(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5); + ((IVec3d) vec).meteor$set(pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5); for (Direction dir : Direction.values()) { ((IRaycastContext) raycastContext).setEnd(vec.add(dir.getOffsetX() / 2f, dir.getOffsetY() / 2f, dir.getOffsetZ() / 2f)); @@ -179,7 +179,7 @@ public boolean placeTrace(BlockPos pos) { } } case Exposure -> { - ((IVec3d) vec).set(pos.getX(), pos.getY(), pos.getZ()); + ((IVec3d) vec).meteor$set(pos.getX(), pos.getY(), pos.getZ()); hit = 0; for (int x = 0; x <= 2; x += 1) { @@ -199,7 +199,7 @@ public boolean placeTrace(BlockPos pos) { } } case Any -> { - ((IVec3d) vec).set(pos.getX(), pos.getY(), pos.getZ()); + ((IVec3d) vec).meteor$set(pos.getX(), pos.getY(), pos.getZ()); hit = 0; for (int x = 0; x <= 2; x += 1) { @@ -228,21 +228,21 @@ public boolean attackTrace(Box box) { switch (attackMode.get()) { case SinglePoint -> { - ((meteordevelopment.meteorclient.mixininterface.IRaycastContext) BODamageUtils.raycastContext).set(mc.player.getEyePos(), new Vec3d((box.minX + box.maxX) / 2f, box.minY + attackHeight.get(), (box.minZ + box.maxZ) / 2f), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); + ((meteordevelopment.meteorclient.mixininterface.IRaycastContext) BODamageUtils.raycastContext).meteor$set(mc.player.getEyePos(), new Vec3d((box.minX + box.maxX) / 2f, box.minY + attackHeight.get(), (box.minZ + box.maxZ) / 2f), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); return BODamageUtils.raycast(BODamageUtils.raycastContext).getType() != HitResult.Type.BLOCK; } case DoublePoint -> { - ((meteordevelopment.meteorclient.mixininterface.IRaycastContext) BODamageUtils.raycastContext).set(mc.player.getEyePos(), new Vec3d((box.minX + box.maxX) / 2f, box.minY + attackHeight1.get(), (box.minZ + box.maxZ) / 2f), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); + ((meteordevelopment.meteorclient.mixininterface.IRaycastContext) BODamageUtils.raycastContext).meteor$set(mc.player.getEyePos(), new Vec3d((box.minX + box.maxX) / 2f, box.minY + attackHeight1.get(), (box.minZ + box.maxZ) / 2f), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); if (BODamageUtils.raycast(BODamageUtils.raycastContext).getType() != HitResult.Type.BLOCK) { return true; } - ((meteordevelopment.meteorclient.mixininterface.IRaycastContext) BODamageUtils.raycastContext).set(mc.player.getEyePos(), new Vec3d((box.minX + box.maxX) / 2f, box.minY + attackHeight2.get(), (box.minZ + box.maxZ) / 2f), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); + ((meteordevelopment.meteorclient.mixininterface.IRaycastContext) BODamageUtils.raycastContext).meteor$set(mc.player.getEyePos(), new Vec3d((box.minX + box.maxX) / 2f, box.minY + attackHeight2.get(), (box.minZ + box.maxZ) / 2f), RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); return BODamageUtils.raycast(BODamageUtils.raycastContext).getType() != HitResult.Type.BLOCK; } case Exposure -> { - ((IVec3d) vec).set(box.minX, box.minY, box.minZ); + ((IVec3d) vec).meteor$set(box.minX, box.minY, box.minZ); double xw = box.maxX - box.minX; double yh = box.maxY - box.minY; double zw = box.maxZ - box.minZ; @@ -265,7 +265,7 @@ public boolean attackTrace(Box box) { } } case Any -> { - ((IVec3d) vec).set(box.minX, box.minY, box.minZ); + ((IVec3d) vec).meteor$set(box.minX, box.minY, box.minZ); double xw = box.maxX - box.minX; double yh = box.maxY - box.minY; double zw = box.maxZ - box.minZ; diff --git a/src/main/java/kassuk/addon/blackout/hud/TargetHud.java b/src/main/java/kassuk/addon/blackout/hud/TargetHud.java index b2ff0d6..37ede35 100644 --- a/src/main/java/kassuk/addon/blackout/hud/TargetHud.java +++ b/src/main/java/kassuk/addon/blackout/hud/TargetHud.java @@ -16,6 +16,7 @@ import net.minecraft.client.gui.PlayerSkinDrawer; import net.minecraft.client.network.AbstractClientPlayerEntity; import net.minecraft.client.network.PlayerListEntry; +import net.minecraft.client.util.SkinTextures; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; @@ -96,6 +97,7 @@ public TargetHud() { private AbstractClientPlayerEntity target; private String renderName = null; private Identifier renderSkin = null; + private SkinTextures renderSkinTextures = null; private float renderHealth; private float renderPing; @@ -349,7 +351,7 @@ private void drawFace(HudRenderer renderer, float scale, double x, double y, flo drawStack.scale(scale, scale, 1); drawStack.multiply(RotationAxis.POSITIVE_Z.rotationDegrees(tilt)); - PlayerSkinDrawer.draw(renderer.drawContext, renderSkin,20, 18, 32, false, false); + PlayerSkinDrawer.draw(renderer.drawContext, renderSkinTextures,20, 18,32, 0); drawStack.pop(); } diff --git a/src/main/java/kassuk/addon/blackout/managers/RotationManager.java b/src/main/java/kassuk/addon/blackout/managers/RotationManager.java index fd7b8cf..b27139a 100644 --- a/src/main/java/kassuk/addon/blackout/managers/RotationManager.java +++ b/src/main/java/kassuk/addon/blackout/managers/RotationManager.java @@ -76,7 +76,7 @@ private void onMovePost(SendMovementPacketsEvent.Post event) { updateNextRotation(); if (rotated) { - mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(next[0], next[1], Managers.ON_GROUND.isOnGround())); + mc.getNetworkHandler().sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(next[0], next[1], Managers.ON_GROUND.isOnGround(), false)); } } } @@ -113,10 +113,10 @@ public PlayerMoveC2SPacket onFull(PlayerMoveC2SPacket.Full packet) { updateNextRotation(); if (rotated) { - return new PlayerMoveC2SPacket.Full(packet.getX(0), packet.getY(0), packet.getZ(0), next[0], next[1], packet.isOnGround()); + return new PlayerMoveC2SPacket.Full(packet.getX(0), packet.getY(0), packet.getZ(0), next[0], next[1], packet.isOnGround(), false); } - return new PlayerMoveC2SPacket.PositionAndOnGround(packet.getX(0), packet.getY(0), packet.getZ(0), packet.isOnGround()); + return new PlayerMoveC2SPacket.PositionAndOnGround(packet.getX(0), packet.getY(0), packet.getZ(0), packet.isOnGround(), false); } public PlayerMoveC2SPacket onPositionOnGround(PlayerMoveC2SPacket.PositionAndOnGround packet) { @@ -130,7 +130,7 @@ public PlayerMoveC2SPacket onPositionOnGround(PlayerMoveC2SPacket.PositionAndOnG updateNextRotation(); if (rotated) { - return new PlayerMoveC2SPacket.Full(packet.getX(0), packet.getY(0), packet.getZ(0), next[0], next[1], packet.isOnGround()); + return new PlayerMoveC2SPacket.Full(packet.getX(0), packet.getY(0), packet.getZ(0), next[0], next[1], packet.isOnGround(), false); } return packet; @@ -147,10 +147,10 @@ public PlayerMoveC2SPacket onLookAndOnGround(PlayerMoveC2SPacket.LookAndOnGround updateNextRotation(); if (rotated) { - return new PlayerMoveC2SPacket.LookAndOnGround(next[0], next[1], packet.isOnGround()); + return new PlayerMoveC2SPacket.LookAndOnGround(next[0], next[1], packet.isOnGround(), false); } if (packet.isOnGround() != Managers.ON_GROUND.isOnGround()) { - return new PlayerMoveC2SPacket.OnGroundOnly(packet.isOnGround()); + return new PlayerMoveC2SPacket.OnGroundOnly(packet.isOnGround(), false); } return null; @@ -167,7 +167,7 @@ public PlayerMoveC2SPacket onOnlyOnground(PlayerMoveC2SPacket.OnGroundOnly packe updateNextRotation(); if (rotated) { - return new PlayerMoveC2SPacket.LookAndOnGround(next[0], next[1], packet.isOnGround()); + return new PlayerMoveC2SPacket.LookAndOnGround(next[0], next[1], packet.isOnGround(), false); } return packet; diff --git a/src/main/java/kassuk/addon/blackout/mixins/MixinBackground.java b/src/main/java/kassuk/addon/blackout/mixins/MixinBackground.java index 19389e5..c4c7658 100644 --- a/src/main/java/kassuk/addon/blackout/mixins/MixinBackground.java +++ b/src/main/java/kassuk/addon/blackout/mixins/MixinBackground.java @@ -9,7 +9,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -@Mixin(BackgroundRenderer.class) +/*@Mixin(BackgroundRenderer.class) public class MixinBackground { @Inject(method = "applyFog", at = @At("TAIL")) private static void applyFog(Camera camera, BackgroundRenderer.FogType fogType, float viewDistance, boolean thickFog, float tickDelta, CallbackInfo info) { @@ -18,4 +18,4 @@ private static void applyFog(Camera camera, BackgroundRenderer.FogType fogType, fog.modifyFog(); } } -} +}*/ diff --git a/src/main/java/kassuk/addon/blackout/mixins/MixinExplosion.java b/src/main/java/kassuk/addon/blackout/mixins/MixinExplosion.java index d8722ab..5ca85a9 100644 --- a/src/main/java/kassuk/addon/blackout/mixins/MixinExplosion.java +++ b/src/main/java/kassuk/addon/blackout/mixins/MixinExplosion.java @@ -1,27 +1,39 @@ package kassuk.addon.blackout.mixins; +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import kassuk.addon.blackout.modules.SoundModifier; import meteordevelopment.meteorclient.systems.modules.Modules; +import net.minecraft.client.network.ClientPlayNetworkHandler; +import net.minecraft.client.world.ClientWorld; import net.minecraft.sound.SoundCategory; import net.minecraft.sound.SoundEvent; import net.minecraft.world.World; -import net.minecraft.world.explosion.Explosion; +import net.minecraft.world.explosion.ExplosionImpl; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; -import org.spongepowered.asm.mixin.injection.Redirect; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; -@Mixin(Explosion.class) +@Mixin(ClientPlayNetworkHandler.class) public class MixinExplosion { - @Redirect(method = "affectWorld", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;playSound(DDDLnet/minecraft/sound/SoundEvent;Lnet/minecraft/sound/SoundCategory;FFZ)V")) - private void redirect(World instance, double x, double y, double z, SoundEvent sound, SoundCategory category, float volume, float pitch, boolean useDistance) { + @WrapOperation( + method = "onExplosion", + at = @At( + value = "INVOKE", + target = "Lnet/minecraft/client/world/ClientWorld;playSound(DDD" + + "Lnet/minecraft/sound/SoundEvent;" + + "Lnet/minecraft/sound/SoundCategory;FFZ)V" + ) + ) + private void onExplosion(ClientWorld instance, double x, double y, double z, SoundEvent sound, SoundCategory category, float volume, float pitch, boolean useDistance, Operation original) { SoundModifier m = Modules.get().get(SoundModifier.class); if (m.isActive()) { if (m.expSound.get()) { - instance.playSound(x, y, z, sound, category, (float) (volume * m.explosionVolume.get()), (float) (pitch * m.explosionPitch.get()), useDistance); + original.call(instance, x, y, z, sound, category, (float)(volume * m.explosionVolume.get()), (float)(pitch * m.explosionPitch.get()), useDistance); } - return; } - instance.playSound(x, y, z, sound, category, volume, pitch, useDistance); } } diff --git a/src/main/java/kassuk/addon/blackout/modules/AutoPearl.java b/src/main/java/kassuk/addon/blackout/modules/AutoPearl.java index 8f77d1f..6252f21 100644 --- a/src/main/java/kassuk/addon/blackout/modules/AutoPearl.java +++ b/src/main/java/kassuk/addon/blackout/modules/AutoPearl.java @@ -108,7 +108,7 @@ private void onRender(Render3DEvent event) { if (instaRot.get()) { - sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(getYaw(), pitch.get(), Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(getYaw(), pitch.get(), Managers.ON_GROUND.isOnGround(), false)); } boolean switched = hand != null; @@ -161,7 +161,7 @@ private boolean cc() { if (!rotated) return false; if (instaRot.get()) - sendPacket(new PlayerMoveC2SPacket.LookAndOnGround((float) RotationUtils.getYaw(mc.player.getEyePos(), pos.toCenterPos()), (float) RotationUtils.getPitch(mc.player.getEyePos(), pos.toCenterPos()), Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.LookAndOnGround((float) RotationUtils.getYaw(mc.player.getEyePos(), pos.toCenterPos()), (float) RotationUtils.getPitch(mc.player.getEyePos(), pos.toCenterPos()), Managers.ON_GROUND.isOnGround(), false)); Hand hand = mc.player.getOffHandStack().getItem() instanceof BlockItem ? Hand.OFF_HAND : Managers.HOLDING.getStack().getItem() instanceof BlockItem ? Hand.MAIN_HAND : null; diff --git a/src/main/java/kassuk/addon/blackout/modules/BedAuraPlus.java b/src/main/java/kassuk/addon/blackout/modules/BedAuraPlus.java index 637cfa1..3685efb 100644 --- a/src/main/java/kassuk/addon/blackout/modules/BedAuraPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/BedAuraPlus.java @@ -613,10 +613,10 @@ private boolean placeUpdate() { boolean switched = hand != null; if (rotMode.get() == RotationMode.Packet) { - sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(bedDir.getOpposite().asRotation(), Managers.ROTATION.lastDir[1], Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(bedDir.getOpposite().getHorizontalQuarterTurns(), Managers.ROTATION.lastDir[1], Managers.ON_GROUND.isOnGround(), false)); } else { - Managers.ROTATION.startYaw(bedDir.getOpposite().asRotation(), priority, RotationType.Other, Objects.hash(name + "placing")); - if (Math.abs(RotationUtils.yawAngle(Managers.ROTATION.lastDir[0], bedDir.getOpposite().asRotation())) > 45) { + Managers.ROTATION.startYaw(bedDir.getOpposite().getHorizontalQuarterTurns(), priority, RotationType.Other, Objects.hash(name + "placing")); + if (Math.abs(RotationUtils.yawAngle(Managers.ROTATION.lastDir[0], bedDir.getOpposite().getHorizontalQuarterTurns())) > 45) { return false; } } diff --git a/src/main/java/kassuk/addon/blackout/modules/BurrowPlus.java b/src/main/java/kassuk/addon/blackout/modules/BurrowPlus.java index 6ebec16..d37c14c 100644 --- a/src/main/java/kassuk/addon/blackout/modules/BurrowPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/BurrowPlus.java @@ -153,7 +153,7 @@ public void onActivate() { } if (instaRot.get() && SettingUtils.shouldRotate(RotationType.BlockPlace)) { - sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(Managers.ROTATION.lastDir[0], 90, Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(Managers.ROTATION.lastDir[0], 90, Managers.ON_GROUND.isOnGround(), false)); } double y = 0; @@ -163,7 +163,7 @@ public void onActivate() { y += velocity; velocity = (velocity - 0.08) * 0.98; - sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() + y, mc.player.getZ(), false)); + sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() + y, mc.player.getZ(), false, false)); } placeBlock(Hand.MAIN_HAND, mc.player.getBlockPos().down().toCenterPos(), Direction.UP, mc.player.getBlockPos().down()); @@ -172,7 +172,7 @@ public void onActivate() { if (placeSwing.get()) clientSwing(placeHand.get(), Hand.MAIN_HAND); for (int i = 0; i < rubberbandPackets.get(); i++) { - sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() + y + rubberbandOffset.get(), mc.player.getZ(), false)); + sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() + y + rubberbandOffset.get(), mc.player.getZ(), false, false)); } success = true; diff --git a/src/main/java/kassuk/addon/blackout/modules/ElytraFlyPlus.java b/src/main/java/kassuk/addon/blackout/modules/ElytraFlyPlus.java index f7cb3a6..2a82cb3 100644 --- a/src/main/java/kassuk/addon/blackout/modules/ElytraFlyPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/ElytraFlyPlus.java @@ -168,7 +168,7 @@ private void onMove(PlayerMoveEvent event) { private void constantiamTick(PlayerMoveEvent event) { Vec3d motion = getMotion(mc.player.getVelocity()); if (motion != null) { - ((IVec3d) event.movement).set(motion.getX(), motion.getY(), motion.getZ()); + ((IVec3d) event.movement).meteor$set(motion.getX(), motion.getY(), motion.getZ()); event.movement = motion; } } @@ -200,7 +200,7 @@ private double calcAcceleration(double vx, double vz, double x, double z) { // Wasp private void waspTick(PlayerMoveEvent event) { - if (!mc.player.isFallFlying()) return; + if (!mc.player.isGliding()) return; updateWaspMovement(); pitch = mc.player.getPitch(); @@ -223,7 +223,7 @@ private void waspTick(PlayerMoveEvent event) { y = up.get(); } - ((IVec3d) event.movement).set(x, y, z); + ((IVec3d) event.movement).meteor$set(x, y, z); mc.player.setVelocity(0, 0, 0); } @@ -248,7 +248,7 @@ private void updateWaspMovement() { // Pitch private void controlTick(PlayerMoveEvent event) { - if (!mc.player.isFallFlying()) {return;} + if (!mc.player.isGliding()) {return;} updateControlMovement(); pitch = 0; @@ -282,7 +282,7 @@ private void controlTick(PlayerMoveEvent event) { y = -down.get(); } - ((IVec3d) event.movement).set(x, y, z); + ((IVec3d) event.movement).meteor$set(x, y, z); mc.player.setVelocity(0, 0, 0); } @@ -314,7 +314,7 @@ public boolean active() { activeFor = 0; return false; } - return mc.player.isFallFlying(); + return mc.player.isGliding(); } public enum Mode { diff --git a/src/main/java/kassuk/addon/blackout/modules/FlightPlus.java b/src/main/java/kassuk/addon/blackout/modules/FlightPlus.java index 0f3a02a..b2ce3df 100644 --- a/src/main/java/kassuk/addon/blackout/modules/FlightPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/FlightPlus.java @@ -125,7 +125,7 @@ else if (mc.options.sneakKey.isPressed()){ z = Math.sin(Math.toRadians(yaw)) * speed.get(); } - ((IVec3d) event.movement).set(x, y, z); + ((IVec3d) event.movement).meteor$set(x, y, z); } if (flyMode.get().equals(FlightMode.Jump)){ if (mc.options.jumpKey.wasPressed()){ @@ -143,11 +143,11 @@ else if (mc.options.sneakKey.isPressed()){ z = Math.sin(Math.toRadians(yaw)) * speed.get(); } - ((IVec3d) event.movement).setXZ(x, z); + ((IVec3d) event.movement).meteor$setXZ(x, z); } if (flyMode.get().equals(FlightMode.Glide)){ if (!mc.player.isOnGround()) - ((IVec3d) event.movement).setY(-glideAmount.get()); + ((IVec3d) event.movement).meteor$setY(-glideAmount.get()); } } diff --git a/src/main/java/kassuk/addon/blackout/modules/Fog.java b/src/main/java/kassuk/addon/blackout/modules/Fog.java index 48ca643..d5dcd7e 100644 --- a/src/main/java/kassuk/addon/blackout/modules/Fog.java +++ b/src/main/java/kassuk/addon/blackout/modules/Fog.java @@ -55,10 +55,10 @@ public Fog() { .build() ); - public void modifyFog() { + /*public void modifyFog() { RenderSystem.setShaderFogColor(color.get().r, color.get().g, color.get().b, color.get().a / (float) ((100 - thickness.get()) * 2.55f)); RenderSystem.setShaderFogStart((float) (distance.get() * 1f)); RenderSystem.setShaderFogEnd((float) (distance.get() + fading.get())); RenderSystem.setShaderFogShape(shape.get()); - } + }*/ } diff --git a/src/main/java/kassuk/addon/blackout/modules/HoleSnap.java b/src/main/java/kassuk/addon/blackout/modules/HoleSnap.java index abff5de..163bba7 100644 --- a/src/main/java/kassuk/addon/blackout/modules/HoleSnap.java +++ b/src/main/java/kassuk/addon/blackout/modules/HoleSnap.java @@ -203,12 +203,12 @@ private void onMove(PlayerMoveEvent event) { if (mc.player.getY() == hole.middle.y) { this.toggle(); sendDisableMsg("in hole"); - ((IVec3d) event.movement).setXZ(0, 0); + ((IVec3d) event.movement).meteor$setXZ(0, 0); } else if (OLEPOSSUtils.inside(mc.player, mc.player.getBoundingBox().offset(0, -0.05, 0))) { this.toggle(); sendDisableMsg("hole unreachable"); } else { - ((IVec3d) event.movement).setXZ(0, 0); + ((IVec3d) event.movement).meteor$setXZ(0, 0); } } else { double x = getSpeed() * yaw; @@ -229,10 +229,10 @@ private void onMove(PlayerMoveEvent event) { ticks--; } else if (OLEPOSSUtils.inside(mc.player, mc.player.getBoundingBox().offset(0, -0.05, 0)) && jump.get()) { ticks = jumpCoolDown.get(); - ((IVec3d) event.movement).setY(0.42); + ((IVec3d) event.movement).meteor$setY(0.42); } boostLeft--; - ((IVec3d) event.movement).setXZ(Math.abs(x) < Math.abs(dX) ? x : dX, Math.abs(z) < Math.abs(dZ) ? z : dZ); + ((IVec3d) event.movement).meteor$setXZ(Math.abs(x) < Math.abs(dX) ? x : dX, Math.abs(z) < Math.abs(dZ) ? z : dZ); } } else { this.toggle(); diff --git a/src/main/java/kassuk/addon/blackout/modules/JesusPlus.java b/src/main/java/kassuk/addon/blackout/modules/JesusPlus.java index b43ec0f..579dab1 100644 --- a/src/main/java/kassuk/addon/blackout/modules/JesusPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/JesusPlus.java @@ -59,7 +59,7 @@ public void onMove(PlayerMoveEvent event) { else inWater = false; if ((mc.player.isTouchingWater() && !mc.player.isSubmergedInWater()) || (mc.player.isInLava() && !mc.player.isSubmergedIn(FluidTags.LAVA))) { - ((IVec3d) mc.player.getVelocity()).setY(bob.get()); + ((IVec3d) mc.player.getVelocity()).meteor$setY(bob.get()); if (toggle.get() && !(mc.player.isInLava() && !mc.player.isSubmergedIn(FluidTags.LAVA)) && !isSlowed) { double motion = water_speed.get(); @@ -76,9 +76,9 @@ public void onMove(PlayerMoveEvent event) { double x = Math.cos(Math.toRadians(yaw + 90.0f)); double z = Math.sin(Math.toRadians(yaw + 90.0f)); if (move) { - ((IVec3d) event.movement).setXZ(motion * x, motion * z); + ((IVec3d) event.movement).meteor$setXZ(motion * x, motion * z); } else { - ((IVec3d) event.movement).setXZ(0, 0); + ((IVec3d) event.movement).meteor$setXZ(0, 0); } } } diff --git a/src/main/java/kassuk/addon/blackout/modules/PacketFly.java b/src/main/java/kassuk/addon/blackout/modules/PacketFly.java index 373815b..d1fd243 100644 --- a/src/main/java/kassuk/addon/blackout/modules/PacketFly.java +++ b/src/main/java/kassuk/addon/blackout/modules/PacketFly.java @@ -271,7 +271,7 @@ private void onMove(PlayerMoveEvent e) { } } - ((IVec3d) e.movement).set(offset.x, offset.y, offset.z); + ((IVec3d) e.movement).meteor$set(offset.x, offset.y, offset.z); packetsToSend = Math.min(packetsToSend, 1); } @@ -293,26 +293,26 @@ public void onSend(PacketEvent.Send event) { private void onReceive(PacketEvent.Receive e) { if (e.packet instanceof PlayerPositionLookS2CPacket packet) { if (debugID.get()) { - debug("id: " + packet.getTeleportId()); + debug("id: " + packet.teleportId()); } - Vec3d vec = new Vec3d(packet.getX(), packet.getY(), packet.getZ()); + Vec3d vec = new Vec3d(packet.change().position().getX(), packet.change().position().getX(), packet.change().position().getX()); - if (validPos.containsKey(packet.getTeleportId()) && validPos.get(packet.getTeleportId()).equals(vec)) { + if (validPos.containsKey(packet.teleportId()) && validPos.get(packet.teleportId()).equals(vec)) { if (debugID.get()) { debug("true"); } e.cancel(); if (!predictID.get()) { - sendPacket(new TeleportConfirmC2SPacket(packet.getTeleportId())); + sendPacket(new TeleportConfirmC2SPacket(packet.teleportId())); } - validPos.remove(packet.getTeleportId()); + validPos.remove(packet.teleportId()); return; } if (debugID.get()) { debug("false"); } - id = packet.getTeleportId(); + id = packet.teleportId(); } } @@ -355,8 +355,8 @@ private boolean sneaking() { } private void send(Vec3d pos, Vec3d bounds, boolean onGround) { - PlayerMoveC2SPacket.PositionAndOnGround normal = new PlayerMoveC2SPacket.PositionAndOnGround(pos.x, pos.y, pos.z, onGround); - PlayerMoveC2SPacket.PositionAndOnGround bound = new PlayerMoveC2SPacket.PositionAndOnGround(pos.x + bounds.x, pos.y + bounds.y, pos.z + bounds.z, onGround); + PlayerMoveC2SPacket.PositionAndOnGround normal = new PlayerMoveC2SPacket.PositionAndOnGround(pos.x, pos.y, pos.y, onGround, false); + PlayerMoveC2SPacket.PositionAndOnGround bound = new PlayerMoveC2SPacket.PositionAndOnGround(pos.x + bounds.y, pos.y + bounds.y, pos.z + bounds.z, onGround, false); validPackets.add(normal); sendPacket(normal); diff --git a/src/main/java/kassuk/addon/blackout/modules/PistonCrystal.java b/src/main/java/kassuk/addon/blackout/modules/PistonCrystal.java index 388edf8..f1f3d8a 100644 --- a/src/main/java/kassuk/addon/blackout/modules/PistonCrystal.java +++ b/src/main/java/kassuk/addon/blackout/modules/PistonCrystal.java @@ -359,6 +359,10 @@ public PistonCrystal() { private double cd; private double d; + public float asRotation(int idHorizontal) { + return (float)((idHorizontal & 3) * 90); + } + @Override public void onActivate() { resetPos(); @@ -523,7 +527,7 @@ private void updatePiston() { if (hand == null && !switched) return; - sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(pistonDir.getOpposite().asRotation(), Managers.ROTATION.lastDir[1], Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(pistonDir.getOpposite().getHorizontalQuarterTurns(), Managers.ROTATION.lastDir[1], Managers.ON_GROUND.isOnGround(), false)); hand = hand == null ? Hand.MAIN_HAND : hand; diff --git a/src/main/java/kassuk/addon/blackout/modules/PistonPush.java b/src/main/java/kassuk/addon/blackout/modules/PistonPush.java index 51f9751..d4f9943 100644 --- a/src/main/java/kassuk/addon/blackout/modules/PistonPush.java +++ b/src/main/java/kassuk/addon/blackout/modules/PistonPush.java @@ -274,7 +274,7 @@ private void placePiston() { if (!mc.player.isOnGround()) return; if (EntityUtils.intersectsWithEntity(Box.from(new BlockBox(pistonPos)), entity -> !entity.isSpectator() && !(entity instanceof ItemEntity))) return; if (SettingUtils.shouldRotate(RotationType.BlockPlace) && !Managers.ROTATION.start(pistonData.pos(), priority, RotationType.BlockPlace, Objects.hash(name + "piston"))) return; - sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(pistonDir.asRotation(), Managers.ROTATION.lastDir[1], Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.LookAndOnGround(pistonDir.getHorizontalQuarterTurns(), Managers.ROTATION.lastDir[1], Managers.ON_GROUND.isOnGround(), false)); boolean switched = false; diff --git a/src/main/java/kassuk/addon/blackout/modules/ScaffoldPlus.java b/src/main/java/kassuk/addon/blackout/modules/ScaffoldPlus.java index 06769d2..72591ca 100644 --- a/src/main/java/kassuk/addon/blackout/modules/ScaffoldPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/ScaffoldPlus.java @@ -362,9 +362,9 @@ void yVel() { if (jumpProgress > -1) { if (jumpProgress < 3) { - ((IVec3d) motion).setXZ(0, 0); - ((IVec3d) motion).setY(velocities[jumpProgress]); - ((IVec3d) mc.player.getVelocity()).setY(velocities[jumpProgress]); + ((IVec3d) motion).meteor$setXZ(0, 0); + ((IVec3d) motion).meteor$setY(velocities[jumpProgress]); + ((IVec3d) mc.player.getVelocity()).meteor$setY(velocities[jumpProgress]); jumpProgress++; } } diff --git a/src/main/java/kassuk/addon/blackout/modules/SpeedPlus.java b/src/main/java/kassuk/addon/blackout/modules/SpeedPlus.java index 8ce2b8e..7173008 100644 --- a/src/main/java/kassuk/addon/blackout/modules/SpeedPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/SpeedPlus.java @@ -166,7 +166,7 @@ public void onMove(PlayerMoveEvent event) { if (pauseSneak.get() && mc.player.isSneaking()) { return; } - if (pauseElytra.get() && mc.player.isFallFlying()) { + if (pauseElytra.get() && mc.player.isGliding()) { return; } if (pauseFly.get() && mc.player.getAbilities().flying) { @@ -215,7 +215,7 @@ public void onMove(PlayerMoveEvent event) { jumpPhase = 4; } if (jumpPhase == 2) { - ((IVec3d) event.movement).setY(0.4); + ((IVec3d) event.movement).meteor$setY(0.4); velocity *= 1.85; jumpPhase = 3; } @@ -248,9 +248,9 @@ public void onMove(PlayerMoveEvent event) { switch (mode.get()) { case CCStrafe, Instant -> { if (move) { - ((IVec3d) event.movement).set(motion * x, y, motion * z); + ((IVec3d) event.movement).meteor$set(motion * x, y, motion * z); } else { - ((IVec3d) event.movement).set(0, y, 0); + ((IVec3d) event.movement).meteor$set(0, y, 0); } } case Accelerate -> { @@ -261,7 +261,7 @@ public void onMove(PlayerMoveEvent event) { az = z; } - ((IVec3d) event.movement).setXZ(speed.get() * ax * acceleration, speed.get() * az * acceleration); + ((IVec3d) event.movement).meteor$setXZ(speed.get() * ax * acceleration, speed.get() * az * acceleration); } } } diff --git a/src/main/java/kassuk/addon/blackout/modules/StepPlus.java b/src/main/java/kassuk/addon/blackout/modules/StepPlus.java index 6367517..92eaed5 100644 --- a/src/main/java/kassuk/addon/blackout/modules/StepPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/StepPlus.java @@ -160,7 +160,7 @@ public void step(double[] offsets) { double offset = 0; for (double v : offsets) { offset += v; - sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() + offset, mc.player.getZ(), false)); + sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(mc.player.getX(), mc.player.getY() + offset, mc.player.getZ(), false, false)); } lastStep = System.currentTimeMillis(); } diff --git a/src/main/java/kassuk/addon/blackout/modules/SurroundPlus.java b/src/main/java/kassuk/addon/blackout/modules/SurroundPlus.java index 041f1cc..0bd682d 100644 --- a/src/main/java/kassuk/addon/blackout/modules/SurroundPlus.java +++ b/src/main/java/kassuk/addon/blackout/modules/SurroundPlus.java @@ -420,7 +420,7 @@ private void setBB() { double dist = new Vec3d(targetX, 0, targetZ).distanceTo(new Vec3d(mc.player.getX(), 0, mc.player.getZ())); if (dist < 0.2873) { - sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(targetX, mc.player.getY(), targetZ, Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(targetX, mc.player.getY(), targetZ, Managers.ON_GROUND.isOnGround(), false)); } double x = mc.player.getX(), z = mc.player.getZ(); @@ -431,7 +431,7 @@ private void setBB() { x += Math.cos(Math.toRadians(yaw)) * 0.2873; z += Math.sin(Math.toRadians(yaw)) * 0.2873; - sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(x, mc.player.getY(), z, Managers.ON_GROUND.isOnGround())); + sendPacket(new PlayerMoveC2SPacket.PositionAndOnGround(x, mc.player.getY(), z, Managers.ON_GROUND.isOnGround(), false)); } mc.player.setPos(targetX, mc.player.getY(), targetZ); diff --git a/src/main/java/kassuk/addon/blackout/utils/BOInvUtils.java b/src/main/java/kassuk/addon/blackout/utils/BOInvUtils.java index f57d575..119fde8 100644 --- a/src/main/java/kassuk/addon/blackout/utils/BOInvUtils.java +++ b/src/main/java/kassuk/addon/blackout/utils/BOInvUtils.java @@ -1,12 +1,13 @@ package kassuk.addon.blackout.utils; import it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectMap; +import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; import kassuk.addon.blackout.managers.Managers; import meteordevelopment.meteorclient.mixininterface.IClientPlayerInteractionManager; import net.minecraft.entity.player.PlayerInventory; import net.minecraft.item.ItemStack; import net.minecraft.network.packet.c2s.play.ClickSlotC2SPacket; -import net.minecraft.network.packet.c2s.play.PickFromInventoryC2SPacket; import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.slot.SlotActionType; @@ -21,19 +22,62 @@ public class BOInvUtils { private static int[] slots; public static int pickSlot = -1; + // Updated by H1ggsK public static boolean pickSwitch(int slot) { if (slot >= 0) { Managers.HOLDING.modifyStartTime = System.currentTimeMillis(); pickSlot = slot; - mc.getNetworkHandler().sendPacket(new PickFromInventoryC2SPacket(slot)); + + // Obtain the container ID and revision from the player's current screen handler. + int syncId = mc.player.currentScreenHandler.syncId; + // Some implementations offer a revision getter; if not, you might default to 0. + int revision = mc.player.currentScreenHandler.getRevision(); + + // Define the click parameters: + // button: 0 for primary click (adjust if you need a different click type) + int button = 0; + // actionType: use SlotActionType.PICKUP for a normal click (or change as needed) + SlotActionType actionType = SlotActionType.PICKUP; + + // Get the current item stack from the slot; this might be the item you’re about to move. + ItemStack stack = mc.player.currentScreenHandler.getSlot(slot).getStack(); + + // Create an empty map for modified stacks. + // If your use-case requires sending updated stacks for other slots, populate this accordingly. + Int2ObjectMap modifiedStacks = new Int2ObjectOpenHashMap<>(); + + // Create and send the ClickSlotC2SPacket with the specified parameters. + ClickSlotC2SPacket packet = new ClickSlotC2SPacket(syncId, revision, slot, button, actionType, stack, modifiedStacks); + mc.getNetworkHandler().sendPacket(packet); return true; } return false; } + + // Updated by H1ggsK public static void pickSwapBack() { if (pickSlot >= 0) { - mc.getNetworkHandler().sendPacket(new PickFromInventoryC2SPacket(pickSlot)); + // Obtain the container (screen handler) ID and revision. + int syncId = mc.player.currentScreenHandler.syncId; + // Use the current revision, or default to 0 if not available. + int revision = mc.player.currentScreenHandler.getRevision(); + + // Set click parameters. + int button = 0; // Typically 0 for left-click; adjust as needed. + SlotActionType actionType = SlotActionType.PICKUP; + + // Retrieve the item stack from the stored pickSlot. + ItemStack stack = mc.player.currentScreenHandler.getSlot(pickSlot).getStack(); + + // Create an empty map for modified stacks (populate if needed). + Int2ObjectMap modifiedStacks = new Int2ObjectOpenHashMap<>(); + + // Create and send the ClickSlotC2SPacket with the specified parameters. + ClickSlotC2SPacket packet = new ClickSlotC2SPacket(syncId, revision, pickSlot, button, actionType, stack, modifiedStacks); + mc.getNetworkHandler().sendPacket(packet); + + // Reset pickSlot after sending the packet. pickSlot = -1; } } diff --git a/src/main/java/kassuk/addon/blackout/utils/MovementUtils.java b/src/main/java/kassuk/addon/blackout/utils/MovementUtils.java index 3b11985..bed6d93 100644 --- a/src/main/java/kassuk/addon/blackout/utils/MovementUtils.java +++ b/src/main/java/kassuk/addon/blackout/utils/MovementUtils.java @@ -42,7 +42,7 @@ public static void moveTowards(Vec3d movement, double baseSpeed, Vec3d vec, int y(movement, x, z, step, reverseStep); - ((IVec3d) movement).setXZ(x, z); + ((IVec3d) movement).meteor$setXZ(x, z); } private static void y(Vec3d movement, double x, double z, int step, int rev) { @@ -54,7 +54,7 @@ private static void y(Vec3d movement, double x, double z, int step, int rev) { double s = getStep(mc.player.getBoundingBox().offset(x, 0, z), step); if (s > 0) { - ((IVec3d) movement).setY(s); + ((IVec3d) movement).meteor$setY(s); mc.player.setVelocity(mc.player.getVelocity().x, 0, mc.player.getVelocity().z); } return; @@ -67,7 +67,7 @@ private static void y(Vec3d movement, double x, double z, int step, int rev) { double s = getReverse(mc.player.getBoundingBox(), rev); if (s > 0) { - ((IVec3d) movement).setY(-s); + ((IVec3d) movement).meteor$setY(-s); mc.player.setVelocity(mc.player.getVelocity().x, 0, mc.player.getVelocity().z); } } diff --git a/src/main/java/kassuk/addon/blackout/utils/PacketNames.java b/src/main/java/kassuk/addon/blackout/utils/PacketNames.java index 167d8e8..ca7cb8a 100644 --- a/src/main/java/kassuk/addon/blackout/utils/PacketNames.java +++ b/src/main/java/kassuk/addon/blackout/utils/PacketNames.java @@ -48,6 +48,10 @@ * @author OLEPOSSU */ +// H1ggsK here +// I had to invalidate a bunch of packet types, some have been changed to the point that I cannot fix the definitions. Luckily, these only were unneeded ones. +// SOMEONE WILL NEED TO FIX THIS EVENTUALLY + public class PacketNames { public static final Map, PacketData> s2c = new HashMap<>(); public static final Map, PacketData> c2s = new HashMap<>(); @@ -99,14 +103,13 @@ public class PacketNames { c2s(ClientStatusC2SPacket.class, "ClientStatus", packet -> "mode: " + packet.getMode().name()); c2s(CloseHandledScreenC2SPacket.class, "CloseHandledScreen", packet -> "syncId: " + packet.getSyncId()); c2s(CommandExecutionC2SPacket.class, "CommandExecution", packet -> "command: " + packet.command()); - c2s(CraftRequestC2SPacket.class, "CraftRequest", packet -> "syncId: " + packet.getSyncId() + " shouldCraftAll: " + packet.shouldCraftAll() + " recipe: " + packet.getRecipeId().toString()); + c2s(CraftRequestC2SPacket.class, "CraftRequest", packet -> "syncId: " + packet.syncId() + " shouldCraftAll: " + packet.craftAll() + " recipe: " + packet.recipeId().toString()); c2s(CreativeInventoryActionC2SPacket.class, "CreativeInventoryAction", packet -> "slot: " + packet.slot() + " name: " + packet.stack().getName().getString() + " count: " + packet.stack().getCount()); c2s(HandSwingC2SPacket.class, "HandSwing", packet -> "hand: " + packet.getHand().name()); c2s(JigsawGeneratingC2SPacket.class, "JigsawGenerating", packet -> "pos: " + packet.getPos().toShortString() + " maxDepth: " + packet.getMaxDepth() + " shouldKeepJigsaws: " + packet.shouldKeepJigsaws()); c2s(MessageAcknowledgmentC2SPacket.class, "MessageAcknowledgment", packet -> "offset: " + packet.offset()); - c2s(PickFromInventoryC2SPacket.class, "PickFromInventory", packet -> "slot: " + packet.getSlot()); c2s(PlayerActionC2SPacket.class, "PlayerAction", packet -> "action: " + packet.getAction().name() + "pos: " + packet.getPos().toShortString() + " direction: " + packet.getDirection().getName() + " sequence: " + packet.getSequence()); - c2s(PlayerInputC2SPacket.class, "PlayerInput", packet -> "forward: " + packet.getForward() + " sideways: " + packet.getSideways() + " isJumping: " + packet.isJumping() + " isSneaking: " + packet.isSneaking()); + // FML // c2s(PlayerInputC2SPacket.class, "PlayerInput", packet -> "forward: " + packet.getForward() + " sideways: " + packet.getSideways() + " isJumping: " + packet.isJumping() + " isSneaking: " + packet.isSneaking()); c2s(PlayerInteractBlockC2SPacket.class, "PlayerInteractBlock", packet -> "hand: " + packet.getHand().name() + " blockPos: " + packet.getBlockHitResult().getBlockPos().toShortString() + " pos: " + packet.getBlockHitResult().getPos().toString() + " side: " + packet.getBlockHitResult().getSide() + " isInsideBlock: " + packet.getBlockHitResult().isInsideBlock() + " type: " + packet.getBlockHitResult().getType().name() + " sequence: " + packet.getSequence()); c2s(PlayerInteractEntityC2SPacket.class, "PlayerInteractEntity", packet -> "id: " + ((IInteractEntityC2SPacket) packet).getId() + " type: " + ((IInteractEntityC2SPacket) packet).getType().getType().name() + " isPlayerSneaking: " + packet.isPlayerSneaking()); c2s(PlayerInteractItemC2SPacket.class, "PlayerInteractItem", packet -> "hand: " + packet.getHand().name() + " sequence: " + packet.getSequence()); @@ -119,7 +122,7 @@ public class PacketNames { c2s(PlayerSessionC2SPacket.class, "PlayerSession", packet -> "sessionId: " + packet.chatSession().sessionId() + " isExpired: " + packet.chatSession().publicKeyData().isExpired() + " expiresAt: " + packet.chatSession().publicKeyData().expiresAt().toString() + " keySignature: " + byteArrToString(packet.chatSession().publicKeyData().keySignature())); c2s(QueryBlockNbtC2SPacket.class, "QueryBlockNbt", packet -> "pos: " + packet.getPos() + " transactionId: " + packet.getTransactionId()); c2s(QueryEntityNbtC2SPacket.class, "QueryEntityNbt", packet -> "entityId: " + packet.getEntityId() + " transactionId: " + packet.getTransactionId()); - c2s(RecipeBookDataC2SPacket.class, "RecipeBookData", packet -> "recipeId: " + packet.getRecipeId().toString()); + c2s(RecipeBookDataC2SPacket.class, "RecipeBookData", packet -> "recipeId: " + packet.recipeId().toString()); c2s(RecipeCategoryOptionsC2SPacket.class, "RecipeCategoryOptions", packet -> "category: " + packet.getCategory().name() + " isFilteringCraftable: " + packet.isFilteringCraftable() + " isGuiOpen: " + packet.isGuiOpen()); c2s(RenameItemC2SPacket.class, "RenameItem", packet -> "name: " + packet.getName()); c2s(RequestCommandCompletionsC2SPacket.class, "RequestCommandCompletions", packet -> "partialCommand: " + packet.getPartialCommand() + " completionId: " + packet.getCompletionId()); @@ -157,7 +160,7 @@ public class PacketNames { return builder.toString(); }); c2s(UpdateStructureBlockC2SPacket.class, "UpdateStructureBlock", packet -> "pos: " + packet.getPos().toShortString() + " rotation: " + packet.getRotation().asString() + " offset: " + packet.getOffset().toShortString() + " size: " + packet.getSize().toShortString() + " seed: " + packet.getSeed() + " templateName: " + packet.getTemplateName() + " mode: " + packet.getMode().asString() + " action: " + packet.getAction().name() + " metaData: " + packet.getMetadata() + " integrity: " + packet.getIntegrity() + " mirror: " + packet.getMirror()); - c2s(VehicleMoveC2SPacket.class, "VehicleMove", packet -> "x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " yaw: " + packet.getYaw() + " pitch: " + packet.getPitch()); + c2s(VehicleMoveC2SPacket.class, "VehicleMove", packet -> "x: " + packet.position().x + " y: " + packet.position().y + " z: " + packet.position().z + " yaw: " + packet.yaw() + " pitch: " + packet.pitch()); // query c2s(QueryPingC2SPacket.class, "QueryPing", packet -> "startTime: " + packet.getStartTime()); @@ -194,7 +197,7 @@ public class PacketNames { s2c(LoginHelloS2CPacket.class, "LoginHello", packet -> "serverId: " + packet.getServerId() + " nonce: " + byteArrToString(packet.getNonce())); s2c(LoginQueryRequestS2CPacket.class, "LoginQueryRequest", packet -> "queryId: " + packet.queryId() + " payloadId: " + packet.payload().id()); s2c(LoginSuccessS2CPacket.class, "LoginSuccess", packet -> { - StringBuilder builder = new StringBuilder("name: " + packet.profile().getName() + " id: " + packet.profile().getId().toString() + " newNetworkState: " + packet.getPacketId().id().toString() + " properties: {"); + StringBuilder builder = new StringBuilder("name: " + packet.profile().getName() + " id: " + packet.profile().getId().toString() + " newNetworkState: " + packet.profile().getId().toString() + " properties: {"); packet.profile().getProperties().asMap().forEach((str, collection) -> { builder.append("\n").append(str); for (Property v : collection) { @@ -298,8 +301,8 @@ public class PacketNames { return builder.toString(); }); s2c(CommandTreeS2CPacket.class, "CommandTree"); //TODO: should add something here - s2c(CooldownUpdateS2CPacket.class, "CooldownUpdate", packet -> "item: " + packet.item().getName() + " cooldown: " + packet.cooldown()); - s2c(CraftFailedResponseS2CPacket.class, "CraftFailedResponse", packet -> "syncId: " + packet.getSyncId() + " recipeId: " + packet.getRecipeId()); + // FML // s2c(CooldownUpdateS2CPacket.class, "CooldownUpdate", packet -> "item: " + packet.item().getName() + " cooldown: " + packet.cooldown()); + s2c(CraftFailedResponseS2CPacket.class, "CraftFailedResponse", packet -> "syncId: " + packet.syncId()); s2c(DamageTiltS2CPacket.class, "DamageTiltS2CPacket", packet -> "id: " + packet.id() + " yaw: " + packet.yaw()); s2c(DeathMessageS2CPacket.class, "DeathMessage", packet -> "playerId: " + packet.playerId() + " message: " + packet.message().getString()); s2c(DifficultyS2CPacket.class, "Difficulty", packet -> "difficulty: " + packet.getDifficulty().getName() + " isDifficultyLocked: " + packet.isDifficultyLocked()); @@ -349,7 +352,7 @@ public class PacketNames { builder.append("\n}"); return builder.toString(); }); - s2c(EntityPositionS2CPacket.class, "EntityPosition", packet -> "entityId: " + packet.getEntityId() + " x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " yaw: " + packet.getYaw() + " pitch: " + packet.getPitch() + " isOnGround: " + packet.isOnGround()); + s2c(EntityPositionS2CPacket.class, "EntityPosition", packet -> "entityId: " + packet.entityId() + " x: " + packet.change().position().x + " y: " + packet.change().position().y + " z: " + packet.change().position().z + " yaw: " + packet.change().yaw() + " pitch: " + packet.change().pitch() + " isOnGround: " + packet.onGround()); s2c(EntityS2CPacket.class, "Entity", packet -> "deltaX: " + packet.getDeltaX() + " deltaY: " + packet.getDeltaY() + " deltaZ: " + packet.getDeltaZ() + " yaw: " + packet.getYaw() + " pitch: " + packet.getPitch() + " hasRotation: " + packet.hasRotation() + " isPositionChanged: " + packet.isPositionChanged() + " isOnGround: " + packet.isOnGround()); s2c(EntitySetHeadYawS2CPacket.class, "EntitySetHeadYaw", packet -> "headYaw: " + packet.getHeadYaw()); s2c(EntitySpawnS2CPacket.class, "EntitySpawn", packet -> "entityId: " + packet.getEntityId() + " entityData: " + packet.getEntityData() + " entityType: " + packet.getEntityType().getName() + " uuid: " + packet.getUuid().toString() + " x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " yaw: " + packet.getYaw() + " pitch: " + packet.getPitch() + " headYaw: " + packet.getHeadYaw() + " velocityX: " + packet.getVelocityX() + " velocityY: " + packet.getVelocityY() + " velocityZ: " + packet.getVelocityZ()); @@ -367,14 +370,17 @@ public class PacketNames { s2c(EntityVelocityUpdateS2CPacket.class, "EntityVelocityUpdate", packet -> "entityId: " + packet.getEntityId() + " velocityX: " + packet.getVelocityX() + " velocityY: " + packet.getVelocityY() + " velocityZ: " + packet.getVelocityZ()); s2c(ExperienceBarUpdateS2CPacket.class, "ExperienceBarUpdate", packet -> "experience: " + packet.getExperience() + " barProgress: " + packet.getBarProgress() + " experienceLevel: " + packet.getExperienceLevel()); s2c(ExperienceOrbSpawnS2CPacket.class, "ExperienceOrbSpawn", packet -> "entityId: " + packet.getEntityId() + " experience: " + packet.getExperience() + " x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ()); - s2c(ExplosionS2CPacket.class, "Explosion", packet -> { - StringBuilder builder = new StringBuilder("x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " playerVelocityX: " + packet.getPlayerVelocityX() + " playerVelocityY: " + packet.getPlayerVelocityY() + " playerVelocityZ: " + packet.getPlayerVelocityZ() + " destructionType: " + packet.getDestructionType().name() + " radius: " + packet.getRadius() + " particle: " + packet.getParticle().getType().toString() + " emitterParticle: " + packet.getEmitterParticle().getType().toString() + " soundEvent: "); - builder.append(packet.getSoundEvent().getIdAsString()); + + // FML // + /*s2c(ExplosionS2CPacket.class, "Explosion", packet -> { + StringBuilder builder = new StringBuilder("x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " playerVelocityX: " + packet.velo() + " playerVelocityY: " + packet.getPlayerVelocityY() + " playerVelocityZ: " + packet.getPlayerVelocityZ() + " destructionType: " + packet.getDestructionType().name() + " radius: " + packet.getRadius() + " particle: " + packet.getParticle().getType().toString() + " emitterParticle: " + packet.getEmitterParticle().getType().toString() + " soundEvent: "); + builder.append(packet.explosionSound().getIdAsString()); builder.append(" affectedBlocks: {"); packet.getAffectedBlocks().forEach(pos -> builder.append("\n ").append(pos.toShortString())); builder.append("\n}"); return builder.toString(); - }); + });*/ + s2c(GameJoinS2CPacket.class, "GameJoin", packet -> { StringBuilder builder = new StringBuilder("playerEntityId: " + packet.playerEntityId() + " maxPlayers: " + packet.maxPlayers() + " viewDistance: " + packet.viewDistance() + " simulationDistance: " + packet.simulationDistance() + " doLimitedCrafting: " + packet.doLimitedCrafting() + " enforcesSecureChat: " + packet.enforcesSecureChat() + " hardcore: " + packet.hardcore() + " showDeathScreen: " + packet.showDeathScreen() + " reducedDebugInfo: " + packet.reducedDebugInfo() + " commonPlayerSpawnInfoGameMode: " + packet.commonPlayerSpawnInfo().gameMode() + " commonPlayerSpawnInfoIsFlat: " + packet.commonPlayerSpawnInfo().isFlat() + " commonPlayerSpawnInfoPrevGameMode: " + packet.commonPlayerSpawnInfo().prevGameMode() + " commonPlayerSpawnInfoSeed: " + packet.commonPlayerSpawnInfo().seed() + " commonPlayerSpawnInfoPortalCooldown: " + packet.commonPlayerSpawnInfo().portalCooldown()); builder.append(" commonPlayerSpawnInfoDimension: ").append(packet.commonPlayerSpawnInfo().dimension().getValue().toString()); @@ -445,7 +451,7 @@ public class PacketNames { s2c(OpenScreenS2CPacket.class, "OpenScreen", packet -> "name: " + packet.getName().getString() + " syncId: " + packet.getSyncId() + " screenHandlerType: " + packet.getScreenHandlerType()); s2c(OpenWrittenBookS2CPacket.class, "OpenWrittenBook", packet -> "hand: " + packet.getHand().name()); s2c(OverlayMessageS2CPacket.class, "OverlayMessage", packet -> "text: " + packet.text().getString()); - s2c(ParticleS2CPacket.class, "Particle", packet -> "count: " + packet.getCount() + " x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " offsetX: " + packet.getOffsetX() + " offsetY: " + packet.getOffsetY() + " offsetZ: " + packet.getOffsetZ() + " speed: " + packet.getSpeed() + " isLongDistance: " + packet.isLongDistance() + " parameterType: " + packet.getParameters().getType()); + // FML // s2c(ParticleS2CPacket.class, "Particle", packet -> "count: " + packet.getCount() + " x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " offsetX: " + packet.getOffsetX() + " offsetY: " + packet.getOffsetY() + " offsetZ: " + packet.getOffsetZ() + " speed: " + packet.getSpeed() + " isLongDistance: " + packet.isLongDistance() + " parameterType: " + packet.getParameters().getType()); s2c(PlayerAbilitiesS2CPacket.class, "PlayerAbilities", packet -> "isCreativeMod: " + packet.isCreativeMode() + " allowFlying: " + packet.allowFlying() + " isInvulnerable: " + packet.isInvulnerable() + " isFlying: " + packet.isFlying() + " flySpeed: " + packet.getFlySpeed() + " walkSpeed: " + packet.getWalkSpeed()); s2c(PlayerActionResponseS2CPacket.class, "PlayerActionResponse", packet -> "sequence: " + packet.sequence()); s2c(PlayerListHeaderS2CPacket.class, "PlayerListHeader", packet -> "header: " + packet.header().getString() + " footer: " + packet.footer().getString()); @@ -461,9 +467,7 @@ public class PacketNames { return builder.toString(); }); s2c(PlayerPositionLookS2CPacket.class, "PlayerPositionLook", packet -> { - StringBuilder builder = new StringBuilder("teleportId: " + packet.getTeleportId() + " x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " yaw: " + packet.getYaw() + " pitch: " + packet.getPitch() + " flags: {"); - packet.getFlags().forEach(flag -> builder.append("\n ").append(flag.name())); - builder.append("\n}"); + StringBuilder builder = new StringBuilder("teleportId: " + packet.teleportId() + " x: " + packet.change().position().x+ " y: " + packet.change().position().y + " z: " + packet.change().position().z + " yaw: " + packet.change().yaw() + " pitch: " + packet.change().pitch()); return builder.toString(); }); s2c(PlayerRemoveS2CPacket.class, "PlayerRemove", packet -> { @@ -513,12 +517,15 @@ public class PacketNames { }); s2c(StopSoundS2CPacket.class, "StopSound", packet -> "category: " + packet.getCategory() + " soundId: " + packet.getSoundId().toString()); s2c(SubtitleS2CPacket.class, "Subtitle", packet -> "text: " + packet.text().getString()); - s2c(SynchronizeRecipesS2CPacket.class, "SynchronizeRecipes", packet -> { + + // FML // + /*s2c(SynchronizeRecipesS2CPacket.class, "SynchronizeRecipes", packet -> { StringBuilder builder = new StringBuilder("recipes: {"); packet.getRecipes().forEach(recipe -> builder.append("\n id: ").append(recipe.id().toString()).append(" value: ").append(recipe.value().toString())); builder.append("\n}"); return builder.toString(); - }); + });*/ + s2c(TeamS2CPacket.class, "Team", packet -> { StringBuilder builder = new StringBuilder("teamName: " + packet.getTeamName() + " teamOperation: " + (packet.getTeamOperation() == null ? "null" : packet.getTeamOperation().name()) + " playerListOperation: " + (packet.getPlayerListOperation() == null ? "null" : packet.getPlayerListOperation().name())); @@ -564,9 +571,9 @@ public class PacketNames { s2c(TitleFadeS2CPacket.class, "TitleFade", packet -> "fadeInTicks: " + packet.getFadeInTicks() + " stayTicks: " + packet.getStayTicks() + " fadeOutTicks: " + packet.getFadeOutTicks()); s2c(TitleS2CPacket.class, "Title", packet -> "text: " + packet.text().getString()); s2c(UnloadChunkS2CPacket.class, "UnloadChunk", packet -> "chunkX: " + packet.pos().x + " chunkZ: " + packet.pos().z); - s2c(UpdateSelectedSlotS2CPacket.class, "UpdateSelectedSlot", packet -> "slot: " + packet.getSlot()); + s2c(UpdateSelectedSlotS2CPacket.class, "UpdateSelectedSlot", packet -> "slot: " + packet.slot()); s2c(UpdateTickRateS2CPacket.class, "UpdateTickRate", packet -> "isFrozen: " + packet.isFrozen() + " tickRate: " + packet.tickRate()); - s2c(VehicleMoveS2CPacket.class, "VehicleMove", packet -> "x: " + packet.getX() + " y: " + packet.getY() + " z: " + packet.getZ() + " yaw: " + packet.getYaw() + " pitch: " + packet.getPitch()); + s2c(VehicleMoveS2CPacket.class, "VehicleMove", packet -> "x: " + packet.position().x + " y: " + packet.position().y + " z: " + packet.position().z + " yaw: " + packet.yaw() + " pitch: " + packet.pitch()); s2c(WorldBorderCenterChangedS2CPacket.class, "WorldBorderCenterChanged", packet -> "centerX: " + packet.getCenterX() + " centerZ: " + packet.getCenterZ()); s2c(WorldBorderInitializeS2CPacket.class, "WorldBorderInitialize", packet -> "centerX: " + packet.getCenterX() + " centerZ: " + packet.getCenterZ() + " maxRadius: " + packet.getMaxRadius() + " size: " + packet.getSize() + " sizeLerpTarget: " + packet.getSizeLerpTarget() + " sizeLerpTime: " + packet.getSizeLerpTime() + " warningBlocks: " + packet.getWarningBlocks() + " warningTime: " + packet.getWarningTime()); s2c(WorldBorderInterpolateSizeS2CPacket.class, "WorldBorderInterpolateSize", packet -> "size: " + packet.getSize() + " sizeLerpTarget: " + packet.getSizeLerpTarget() + " sizeLerpTime: " + packet.getSizeLerpTime()); @@ -574,7 +581,7 @@ public class PacketNames { s2c(WorldBorderWarningBlocksChangedS2CPacket.class, "WorldBorderWarningBlocksChanged", packet -> "warningBlocks: " + packet.getWarningBlocks()); s2c(WorldBorderWarningTimeChangedS2CPacket.class, "WorldBorderWarningTimeChanged", packet -> "warningTime: " + packet.getWarningTime()); s2c(WorldEventS2CPacket.class, "WorldEvent", packet -> "pos: " + packet.getPos().toShortString() + " data: " + packet.getData() + " eventId: " + packet.getEventId() + " isGlobal: " + packet.isGlobal()); - s2c(WorldTimeUpdateS2CPacket.class, "WorldTimeUpdate", packet -> "time: " + packet.getTime() + " timeOfDay: " + packet.getTimeOfDay()); + s2c(WorldTimeUpdateS2CPacket.class, "WorldTimeUpdate", packet -> "time: " + packet.time() + " timeOfDay: " + packet.timeOfDay()); // query s2c(PingResultS2CPacket.class, "PingResult", packet -> "startTime: " + packet.startTime()); diff --git a/src/main/java/kassuk/addon/blackout/utils/RenderUtils.java b/src/main/java/kassuk/addon/blackout/utils/RenderUtils.java index 469537f..0155fcb 100644 --- a/src/main/java/kassuk/addon/blackout/utils/RenderUtils.java +++ b/src/main/java/kassuk/addon/blackout/utils/RenderUtils.java @@ -21,13 +21,13 @@ public static void rounded(MatrixStack stack, float x, float y, float w, float h Matrix4f matrix4f = stack.peek().getPositionMatrix(); - float a = (float) ColorHelper.Argb.getAlpha(color) / 255.0F; - float r = (float) ColorHelper.Argb.getRed(color) / 255.0F; - float g = (float) ColorHelper.Argb.getGreen(color) / 255.0F; - float b = (float) ColorHelper.Argb.getBlue(color) / 255.0F; + float a = (float) ColorHelper.getAlpha(color) / 255.0F; + float r = (float) ColorHelper.getRed(color) / 255.0F; + float g = (float) ColorHelper.getGreen(color) / 255.0F; + float b = (float) ColorHelper.getBlue(color) / 255.0F; RenderSystem.enableBlend(); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + // IDK AM I FUCKED // RenderSystem.setShader(GameRenderer::getPositionColorProgram); BufferBuilder bufferBuilder = Tessellator.getInstance().begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); @@ -54,13 +54,13 @@ public static void text(String text, MatrixStack stack, float x, float y, int co public static void quad(MatrixStack stack, float x, float y, float w, float h, int color) { Matrix4f matrix4f = stack.peek().getPositionMatrix(); - float a = (float) ColorHelper.Argb.getAlpha(color) / 255.0F; - float r = (float) ColorHelper.Argb.getRed(color) / 255.0F; - float g = (float) ColorHelper.Argb.getGreen(color) / 255.0F; - float b = (float) ColorHelper.Argb.getBlue(color) / 255.0F; + float a = (float) ColorHelper.getAlpha(color) / 255.0F; + float r = (float) ColorHelper.getRed(color) / 255.0F; + float g = (float) ColorHelper.getGreen(color) / 255.0F; + float b = (float) ColorHelper.getBlue(color) / 255.0F; RenderSystem.enableBlend(); - RenderSystem.setShader(GameRenderer::getPositionColorProgram); + // IDK AM I FUCKED // RenderSystem.setShader(GameRenderer::getPositionColorProgram); BufferBuilder bufferBuilder = Tessellator.getInstance().begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); diff --git a/src/main/java/kassuk/addon/blackout/utils/meteor/BODamageUtils.java b/src/main/java/kassuk/addon/blackout/utils/meteor/BODamageUtils.java index e3b86f7..5a3df00 100644 --- a/src/main/java/kassuk/addon/blackout/utils/meteor/BODamageUtils.java +++ b/src/main/java/kassuk/addon/blackout/utils/meteor/BODamageUtils.java @@ -9,7 +9,6 @@ import kassuk.addon.blackout.utils.SettingUtils; import meteordevelopment.meteorclient.MeteorClient; import meteordevelopment.meteorclient.events.game.GameJoinedEvent; -import meteordevelopment.meteorclient.mixininterface.IExplosion; import meteordevelopment.meteorclient.mixininterface.IRaycastContext; import meteordevelopment.meteorclient.mixininterface.IVec3d; import meteordevelopment.meteorclient.utils.PreInit; @@ -137,7 +136,7 @@ public static double difficultyDamage(double damage) { public static double applyArmor(LivingEntity entity, double damage) { double armor = entity.getArmor(); - double f = 2 + entity.getAttributeValue(EntityAttributes.GENERIC_ARMOR_TOUGHNESS) / 4; + double f = 2 + entity.getAttributeValue(EntityAttributes.ARMOR_TOUGHNESS) / 4; return damage * (1 - MathHelper.clamp(armor - damage / f, armor * 0.2, 20) / 25); } @@ -166,7 +165,7 @@ public static double getExposure(Vec3d source, Box box, BlockPos ignorePos, bool } public static double getExposure(Vec3d source, Box box, BlockPos ignorePos, BlockPos obbyPos, boolean ignoreTerrain) { - ((IRaycastContext) raycastContext).set(source, null, RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); + ((IRaycastContext) raycastContext).meteor$set(source, null, RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); double lx = box.getLengthX(); double ly = box.getLengthY(); @@ -193,7 +192,7 @@ public static double getExposure(Vec3d source, Box box, BlockPos ignorePos, Bloc for (double z = box.minZ + offsetZ, maxZ = box.maxZ + offsetZ; z <= maxZ; z += stepZ) { Vec3d vec3d = new Vec3d(x, y, z); - ((IRaycastContext) raycastContext).set(source, vec3d, RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); + ((IRaycastContext) raycastContext).meteor$set(source, vec3d, RaycastContext.ShapeType.COLLIDER, RaycastContext.FluidHandling.NONE, mc.player); if (raycast(BODamageUtils.raycastContext, ignorePos, obbyPos, ignoreTerrain).getType() == HitResult.Type.MISS) ++i; ++j; diff --git a/src/main/resources/blackout.mixins.json b/src/main/resources/blackout.mixins.json index 90dc7a3..76809be 100644 --- a/src/main/resources/blackout.mixins.json +++ b/src/main/resources/blackout.mixins.json @@ -13,14 +13,11 @@ "IRaycastContext", "ISetCameraEntityS2CPacket", "ISpectatorTeleportC2SPacket", - "MixinBackground", "MixinClientCommonNetworkHandler", - "MixinClientPlayerEntity", "MixinClientPlayerInteractionManager", "MixinEntity", "MixinExplosion", "MixinHeldItemRenderer", - "MixinLivingEntityRenderer", "MixinPlayerEntity" ], "injectors": { diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index c2b5729..52d3b9d 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -5,11 +5,10 @@ "name": "Blackout", "description": "Epik cheetos addon.", "authors": [ - "KassuK and OLEPOSSU" + "KassuK, OLEPOSSU, and H1ggsK" ], "contact": { - "repo": "https://github.com/KassuK1/BlackOut/", - "discord": "https://discord.com/invite/mmWz9Dz4Y9" + "repo": "https://github.com/H1ggsK/BlackOut/" }, "icon": "assets/blackout/logo.png", "environment": "client",