From 388556005334db46efc94bd2733eb8fa9b22e8e5 Mon Sep 17 00:00:00 2001 From: honey <86309103+hhoneeyy@users.noreply.github.com> Date: Thu, 9 Apr 2026 20:44:36 -0500 Subject: [PATCH 1/5] add anti item destroy --- .../modules/combat/AntiItemDestroy.java | 85 +++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/main/java/meteordevelopment/meteorclient/systems/modules/combat/AntiItemDestroy.java diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/AntiItemDestroy.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/AntiItemDestroy.java new file mode 100644 index 0000000000..9d277e78b1 --- /dev/null +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/combat/AntiItemDestroy.java @@ -0,0 +1,85 @@ +package meteordevelopment.meteorclient.systems.modules.combat; + +import meteordevelopment.meteorclient.events.packets.PacketEvent; +import meteordevelopment.meteorclient.events.world.TickEvent; +import meteordevelopment.meteorclient.settings.IntSetting; +import meteordevelopment.meteorclient.settings.Setting; +import meteordevelopment.meteorclient.settings.SettingGroup; +import meteordevelopment.meteorclient.systems.modules.Categories; +import meteordevelopment.meteorclient.systems.modules.Module; +import meteordevelopment.orbit.EventHandler; +import meteordevelopment.orbit.EventPriority; +import net.minecraft.entity.Entity; +import net.minecraft.entity.decoration.EndCrystalEntity; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.Items; +import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket; +import net.minecraft.network.packet.c2s.play.PlayerInteractEntityC2SPacket; +import net.minecraft.network.packet.s2c.play.EntityStatusS2CPacket; + +public class AntiItemDestroy extends Module { + private final SettingGroup sgGeneral = settings.getDefaultGroup(); + + private final Setting delayTicks = sgGeneral.add(new IntSetting.Builder() + .name("delay-ticks") + .description("How many ticks to block interaction.") + .defaultValue(30) + .min(0) + .build() + ); + + private int blockTimer = 0; + + public AntiItemDestroy() { + super(Categories.Combat, "anti-item-destroy", "Instant-cancel for crystals and anchors upon kill."); + } + + @EventHandler + private void onTick(TickEvent.Post event) { + if (blockTimer > 0) blockTimer--; + + // Backup check: If a player is 0 HP but packet was missed + for (PlayerEntity player : mc.world.getPlayers()) { + if (player != mc.player && player.getHealth() <= 0 && mc.player.distanceTo(player) < 10) { + blockTimer = delayTicks.get(); + } + } + } + + // High Priority ensures this triggers BEFORE the game processes the death + @EventHandler(priority = EventPriority.HIGHEST) + private void onReceivePacket(PacketEvent.Receive event) { + if (event.packet instanceof EntityStatusS2CPacket packet) { + if (packet.getStatus() == 3) { // Status 3 = Death + Entity entity = packet.getEntity(mc.world); + if (entity instanceof PlayerEntity && entity != mc.player) { + if (mc.player.distanceTo(entity) < 10) { + blockTimer = delayTicks.get(); + // Optional: play a sound so you know it locked + // mc.player.playSound(SoundEvents.BLOCK_NOTE_BLOCK_BASS, 1, 1); + } + } + } + } + } + + @EventHandler(priority = EventPriority.HIGHEST) + private void onSendPacket(PacketEvent.Send event) { + if (blockTimer <= 0) return; + + // BLOCK PLACING (Right Click) + if (event.packet instanceof PlayerInteractBlockC2SPacket packet) { + var item = mc.player.getStackInHand(packet.getHand()).getItem(); + if (item == Items.END_CRYSTAL || item == Items.RESPAWN_ANCHOR || item == Items.GLOWSTONE) { + event.cancel(); + } + } + + // BLOCK BREAKING (Left Click / Attack) + if (event.packet instanceof PlayerInteractEntityC2SPacket) { + // We cancel ALL entity interactions while the timer is active. + // This prevents you from "breaking" a crystal that was already there. + event.cancel(); + } + } +} \ No newline at end of file From 98475ebad7f58545c65f37c8aca7dd7fe40e2eac Mon Sep 17 00:00:00 2001 From: honey <86309103+hhoneeyy@users.noreply.github.com> Date: Thu, 9 Apr 2026 20:45:41 -0500 Subject: [PATCH 2/5] Add files via upload --- .../meteordevelopment/meteorclient/systems/modules/Modules.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java index fbb4ed2319..5d12dba564 100644 --- a/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java +++ b/src/main/java/meteordevelopment/meteorclient/systems/modules/Modules.java @@ -393,6 +393,7 @@ public void add(Module module) { private void initCombat() { add(new AnchorAura()); + add(new AntiItemDestroy()); add(new AntiAnvil()); add(new AntiBed()); add(new ArrowDodge()); From 38d58d3084a4367a5173da6ab335f9a2cee6b0a6 Mon Sep 17 00:00:00 2001 From: honey <86309103+hhoneeyy@users.noreply.github.com> Date: Mon, 13 Apr 2026 17:33:23 -0500 Subject: [PATCH 3/5] Delete src/main/resources/meteor-client.mixins.json --- src/main/resources/meteor-client.mixins.json | 207 ------------------- 1 file changed, 207 deletions(-) delete mode 100644 src/main/resources/meteor-client.mixins.json diff --git a/src/main/resources/meteor-client.mixins.json b/src/main/resources/meteor-client.mixins.json deleted file mode 100644 index 660f9529d5..0000000000 --- a/src/main/resources/meteor-client.mixins.json +++ /dev/null @@ -1,207 +0,0 @@ -{ - "required": true, - "package": "meteordevelopment.meteorclient.mixin", - "compatibilityLevel": "JAVA_21", - "plugin": "meteordevelopment.meteorclient.MixinPlugin", - "client": [ - "AbstractBlockAccessor", - "AbstractBlockMixin", - "AbstractBlockStateMixin", - "AbstractBoatEntityMixin", - "AbstractClientPlayerEntityAccessor", - "AbstractClientPlayerEntityMixin", - "AbstractFurnaceScreenHandlerMixin", - "AbstractFurnaceScreenMixin", - "AbstractSignBlockEntityRendererMixin", - "AbstractSignEditScreenAccessor", - "ArmorFeatureRendererMixin", - "ArmorStandEntityRendererMixin", - "AttackRangeComponentMixin", - "BannerBlockEntityRendererMixin", - "BeaconBlockEntityRendererMixin", - "BeaconScreenMixin", - "BiomeColorsMixin", - "BlockCollisionSpliteratorMixin", - "BlockColorsMixin", - "BlockEntityRenderManagerAccessor", - "BlockEntityRenderManagerMixin", - "BlockHitResultAccessor", - "BlockItemMixin", - "BlockMixin", - "BlockModelRendererMixin", - "BlockRenderLayersMixin", - "BlockRenderManagerMixin", - "BlockStateMixin", - "BookEditScreenMixin", - "BookScreenMixin", - "BossBarHudMixin", - "BoxMixin", - "BrewingStandScreenMixin", - "BrightnessGetterMixin", - "BundleItemMixin", - "BundleTooltipSubmenuHandlerMixin", - "CameraMixin", - "CapabilityTrackerMixin", - "CapeFeatureRendererMixin", - "ChatHudAccessor", - "ChatHudInteractableMixin", - "ChatHudLineConsumerMixin", - "ChatHudLineMixin", - "ChatHudLineVisibleMixin", - "ChatHudMixin", - "ChatHudUnfocusedMixin", - "ChatInputSuggestorMixin", - "ChatScreenMixin", - "ChunkAccessor", - "ChunkBorderDebugRendererMixin", - "ChunkOcclusionDataBuilderMixin", - "ClientChunkManagerAccessor", - "ClientChunkMapAccessor", - "ClientConnectionAccessor", - "ClientConnectionMixin", - "ClientPlayerEntityAccessor", - "ClientPlayerEntityMixin", - "ClientPlayerInteractionManagerAccessor", - "ClientPlayerInteractionManagerMixin", - "ClientPlayNetworkHandlerAccessor", - "ClientPlayNetworkHandlerMixin", - "ClientWorldMixin", - "CobwebBlockMixin", - "CompassStateMixin", - "ConnectScreenMixin", - "ContainerComponentAccessor", - "ContainerComponentMixin", - "CrashReportMixin", - "CreativeInventoryScreenAccessor", - "CreativeSlotMixin", - "CrossbowItemAccessor", - "DirectionAccessor", - "DisconnectedScreenMixin", - "DownloaderMixin", - "DrawContextAccessor", - "DrawContextMixin", - "ElytraFeatureRendererMixin", - "EnchantingTableBlockEntityRendererMixin", - "EndCrystalEntityModelMixin", - "EndCrystalEntityRendererMixin", - "EntityAccessor", - "EntityBucketItemAccessor", - "EntityHitboxDebugRendererMixin", - "EntityMixin", - "EntityRendererMixin", - "EntityRenderManagerMixin", - "EntityRenderStateMixin", - "EntityTrackingSectionAccessor", - "EntityVelocityUpdateS2CPacketAccessor", - "ExplosionS2CPacketMixin", - "FileCacheAccessor", - "FireworkRocketEntityMixin", - "FireworksSparkParticleMixin", - "FireworksSparkParticleSubMixin", - "FishingBobberEntityAccessor", - "FishingBobberEntityMixin", - "FluidRendererMixin", - "FogRendererMixin", - "GameOptionsMixin", - "GameRendererMixin", - "GlBackendMixin", - "GlCommandEncoderMixin", - "HandledScreenAccessor", - "HandledScreenMixin", - "HeadFeatureRendererMixin", - "HeldItemRendererMixin", - "HungerManagerMixin", - "InGameHudMixin", - "InGameOverlayRendererMixin", - "ItemEntityRendererMixin", - "ItemGroupsAccessor", - "ItemGroupsMixin", - "ItemMixin", - "ItemRendererMixin", - "ItemRenderStateAccessor", - "ItemStackMixin", - "KeyBindingAccessor", - "KeyboardInputMixin", - "KeyboardMixin", - "LayerRenderStateAccessor", - "LightmapTextureManagerMixin", - "LightningEntityRendererMixin", - "LivingEntityAccessor", - "LivingEntityMixin", - "LivingEntityRendererMixin", - "MapRendererMixin", - "MapTextureManagerAccessor", - "MessageHandlerMixin", - "MinecraftClientAccessor", - "MinecraftClientMixin", - "MinecraftServerAccessor", - "MobEntityMixin", - "MobSpawnerBlockEntityRendererMixin", - "MountScreenHandlerAccessor", - "MouseMixin", - "MultiplayerScreenMixin", - "MutableTextMixin", - "PacketBundlingMixin", - "PacketByteBufMixin", - "ParticleManagerMixin", - "PlayerEntityAccessor", - "PlayerEntityMixin", - "PlayerEntityRendererMixin", - "PlayerInteractEntityC2SPacketMixin", - "PlayerListEntryMixin", - "PlayerListHudMixin", - "PlayerMoveC2SPacketAccessor", - "PlayerMoveC2SPacketMixin", - "PlayerSkinProviderAccessor", - "PowderSnowBlockMixin", - "ProjectileInGroundAccessor", - "ProjectileUtilMixin", - "ProjectionMatrix2Accessor", - "RaycastContextMixin", - "RegistriesMixin", - "ReloadStateAccessor", - "RenderLayerAccessor", - "RenderPipelineMixin", - "RenderSystemMixin", - "RenderTickCounterDynamicMixin", - "ResourceReloadLoggerAccessor", - "ScreenMixin", - "SectionedEntityCacheAccessor", - "ServerPlayerEntityMixin", - "ServerResourcePackLoaderMixin", - "ShaderLoaderMixin", - "ShadowPiecesCommandRendererMixin", - "ShulkerBoxScreenHandlerAccessor", - "SimpleEntityLookupAccessor", - "SimpleOptionMixin", - "SkyRenderingMixin", - "SlimeBlockMixin", - "SlotMixin", - "SoundSystemMixin", - "SplashTextResourceSupplierMixin", - "StatusEffectFogModifierMixin", - "StatusEffectInstanceAccessor", - "StatusEffectInstanceMixin", - "StringHelperMixin", - "SweetBerryBushBlockMixin", - "TextHandlerAccessor", - "TextMixin", - "TextRendererMixin", - "TextVisitFactoryMixin", - "TitleScreenMixin", - "TooltipComponentMixin", - "TooltipDisplayComponentMixin", - "TransformationMixin", - "TridentItemMixin", - "Vec3dMixin", - "WorldAccessor", - "WorldBorderMixin", - "WorldChunkMixin", - "WorldRendererAccessor", - "WorldRendererMixin", - "YggdrasilMinecraftSessionServiceAccessor" - ], - "injectors": { - "defaultRequire": 1 - } -} From a10034c1e695b830b679cad962aafe04ceea3ca8 Mon Sep 17 00:00:00 2001 From: honey <86309103+hhoneeyy@users.noreply.github.com> Date: Mon, 13 Apr 2026 17:33:32 -0500 Subject: [PATCH 4/5] Add files via upload --- src/main/resources/meteor-client.mixins.json | 208 +++++++++++++++++++ 1 file changed, 208 insertions(+) create mode 100644 src/main/resources/meteor-client.mixins.json diff --git a/src/main/resources/meteor-client.mixins.json b/src/main/resources/meteor-client.mixins.json new file mode 100644 index 0000000000..a0a35b2561 --- /dev/null +++ b/src/main/resources/meteor-client.mixins.json @@ -0,0 +1,208 @@ +{ + "required": true, + "package": "meteordevelopment.meteorclient.mixin", + "compatibilityLevel": "JAVA_21", + "plugin": "meteordevelopment.meteorclient.MixinPlugin", + "client": [ + "AbstractBlockAccessor", + "AbstractBlockMixin", + "AbstractBlockStateMixin", + "AbstractBoatEntityMixin", + "AbstractClientPlayerEntityAccessor", + "AbstractClientPlayerEntityMixin", + "AbstractFurnaceScreenHandlerMixin", + "AbstractFurnaceScreenMixin", + "AbstractSignBlockEntityRendererMixin", + "AbstractSignEditScreenAccessor", + "ArmorFeatureRendererMixin", + "ArmorStandEntityRendererMixin", + "AttackRangeComponentMixin", + "BannerBlockEntityRendererMixin", + "BeaconBlockEntityRendererMixin", + "BeaconScreenMixin", + "BiomeColorsMixin", + "BlockCollisionSpliteratorMixin", + "BlockColorsMixin", + "BlockEntityRenderManagerAccessor", + "BlockEntityRenderManagerMixin", + "BlockHitResultAccessor", + "BlockItemMixin", + "BlockMixin", + "BlockModelRendererMixin", + "BlockRenderLayersMixin", + "BlockRenderManagerMixin", + "BlockStateMixin", + "BookEditScreenMixin", + "BookScreenMixin", + "BossBarHudMixin", + "BoxMixin", + "BrewingStandScreenMixin", + "BrightnessGetterMixin", + "BundleItemMixin", + "BundleTooltipSubmenuHandlerMixin", + "CameraMixin", + "CapabilityTrackerMixin", + "CapeFeatureRendererMixin", + "ChatHudAccessor", + "ChatHudInteractableMixin", + "ChatHudLineConsumerMixin", + "ChatHudLineMixin", + "ChatHudLineVisibleMixin", + "ChatHudMixin", + "ChatHudUnfocusedMixin", + "ChatInputSuggestorMixin", + "ChatScreenMixin", + "ChunkAccessor", + "ChunkBorderDebugRendererMixin", + "ChunkOcclusionDataBuilderMixin", + "ClientChunkManagerAccessor", + "ClientChunkMapAccessor", + "ClientConnectionAccessor", + "ClientConnectionMixin", + "ClientPlayerEntityAccessor", + "ClientPlayerEntityMixin", + "ClientPlayerInteractionManagerAccessor", + "ClientPlayerInteractionManagerMixin", + "ClientPlayNetworkHandlerAccessor", + "ClientPlayNetworkHandlerMixin", + "ClientWorldMixin", + "CobwebBlockMixin", + "CompassStateMixin", + "ConnectScreenMixin", + "ContainerComponentAccessor", + "ContainerComponentMixin", + "CrashReportMixin", + "CreativeInventoryScreenAccessor", + "CreativeSlotMixin", + "CrossbowItemAccessor", + "DirectionAccessor", + "DisconnectedScreenMixin", + "DownloaderMixin", + "DrawContextAccessor", + "DrawContextMixin", + "ElytraFeatureRendererMixin", + "EnchantingTableBlockEntityRendererMixin", + "EndCrystalEntityModelMixin", + "EndCrystalEntityRendererMixin", + "EntityAccessor", + "EntityBucketItemAccessor", + "EntityHitboxDebugRendererMixin", + "EntityMixin", + "EntityRendererMixin", + "EntityRenderManagerMixin", + "EntityRenderStateMixin", + "EntityTrackingSectionAccessor", + "EntityVelocityUpdateS2CPacketAccessor", + "ExplosionS2CPacketMixin", + "FileCacheAccessor", + "FireworkRocketEntityMixin", + "FireworksSparkParticleMixin", + "FireworksSparkParticleSubMixin", + "FishingBobberEntityAccessor", + "FishingBobberEntityMixin", + "FluidRendererMixin", + "FogRendererMixin", + "GameOptionsMixin", + "GameRendererMixin", + "GlBackendMixin", + "GlCommandEncoderMixin", + "HandledScreenAccessor", + "HandledScreenMixin", + "HeadFeatureRendererMixin", + "HeldItemRendererMixin", + "HungerManagerMixin", + "InGameHudMixin", + "InGameOverlayRendererMixin", + "ItemEntityRendererMixin", + "ItemGroupsAccessor", + "ItemGroupsMixin", + "ItemMixin", + "ItemRendererMixin", + "ItemRenderStateAccessor", + "ItemStackMixin", + "KeyBindingAccessor", + "KeyboardInputMixin", + "KeyboardMixin", + "LayerRenderStateAccessor", + "LightmapTextureManagerMixin", + "LightningEntityRendererMixin", + "LivingEntityAccessor", + "LivingEntityMixin", + "LivingEntityRendererMixin", + "MapRendererMixin", + "MapTextureManagerAccessor", + "MessageHandlerMixin", + "MinecraftClientAccessor", + "MinecraftClientMixin", + "MinecraftServerAccessor", + "MobEntityMixin", + "MobSpawnerBlockEntityRendererMixin", + "MountScreenHandlerAccessor", + "MouseMixin", + "MultiplayerScreenMixin", + "MutableTextMixin", + "PacketBundlingMixin", + "PacketByteBufMixin", + "ParticleManagerMixin", + "PlayerEntityAccessor", + "PlayerEntityMixin", + "PlayerEntityRendererMixin", + "PlayerInteractEntityC2SPacketMixin", + "PlayerListEntryMixin", + "PlayerListHudMixin", + "PlayerMoveC2SPacketAccessor", + "PlayerMoveC2SPacketMixin", + "PlayerSkinProviderAccessor", + "PowderSnowBlockMixin", + "ProjectileInGroundAccessor", + "ProjectileUtilMixin", + "ProjectionMatrix2Accessor", + "RaycastContextMixin", + "RegistriesMixin", + "ReloadStateAccessor", + "RenderLayerAccessor", + "RenderPipelineMixin", + "RenderSystemMixin", + "RenderTickCounterDynamicMixin", + "ResourceReloadLoggerAccessor", + "ScreenMixin", + "SectionedEntityCacheAccessor", + "ServerPlayerEntityMixin", + "ServerResourcePackLoaderMixin", + "ShaderCapeFixMixin", + "ShaderLoaderMixin", + "ShadowPiecesCommandRendererMixin", + "ShulkerBoxScreenHandlerAccessor", + "SimpleEntityLookupAccessor", + "SimpleOptionMixin", + "SkyRenderingMixin", + "SlimeBlockMixin", + "SlotMixin", + "SoundSystemMixin", + "SplashTextResourceSupplierMixin", + "StatusEffectFogModifierMixin", + "StatusEffectInstanceAccessor", + "StatusEffectInstanceMixin", + "StringHelperMixin", + "SweetBerryBushBlockMixin", + "TextHandlerAccessor", + "TextMixin", + "TextRendererMixin", + "TextVisitFactoryMixin", + "TitleScreenMixin", + "TooltipComponentMixin", + "TooltipDisplayComponentMixin", + "TransformationMixin", + "TridentItemMixin", + "Vec3dMixin", + "WorldAccessor", + "WorldBorderMixin", + "WorldChunkMixin", + "WorldRendererAccessor", + "WorldRendererMixin", + "YggdrasilMinecraftSessionServiceAccessor" + ], + "injectors": { + "defaultRequire": 1 + } +} From 30658659fb9e227397b325d9d45f25c8b22ccd7c Mon Sep 17 00:00:00 2001 From: honey <86309103+hhoneeyy@users.noreply.github.com> Date: Mon, 13 Apr 2026 17:35:11 -0500 Subject: [PATCH 5/5] fix capes appearing translucent fix capes appearing translucent when using shader esp when using waveycapes mod --- .../mixin/ShaderCapeFixMixin.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/meteordevelopment/meteorclient/mixin/ShaderCapeFixMixin.java diff --git a/src/main/java/meteordevelopment/meteorclient/mixin/ShaderCapeFixMixin.java b/src/main/java/meteordevelopment/meteorclient/mixin/ShaderCapeFixMixin.java new file mode 100644 index 0000000000..580d52b649 --- /dev/null +++ b/src/main/java/meteordevelopment/meteorclient/mixin/ShaderCapeFixMixin.java @@ -0,0 +1,47 @@ +package meteordevelopment.meteorclient.mixin; + +import net.minecraft.client.render.RenderLayer; +import net.minecraft.client.render.VertexConsumer; +import net.minecraft.client.render.VertexConsumerProvider; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Pseudo; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable; + +import java.lang.reflect.Field; + +@Pseudo +@Mixin(targets = "meteordevelopment.meteorclient.utils.render.CustomOutlineVertexConsumerProvider", remap = false) +public abstract class ShaderCapeFixMixin { + + /** + * method_22991 is the intermediary name for getBuffer. + * We target both to ensure compatibility with your environment. + */ + @Inject(method = {"getBuffer", "method_22991"}, at = @At("HEAD"), cancellable = true, remap = false) + private void onGetBuffer(RenderLayer layer, CallbackInfoReturnable cir) { + if (layer != null && layer.toString().toLowerCase().contains("cape")) { + try { + // We use Reflection to find the 'inner' provider field inside Meteor Client. + // This prevents the "Shadow field not located" crash. + for (Field field : this.getClass().getDeclaredFields()) { + if (VertexConsumerProvider.class.isAssignableFrom(field.getType())) { + field.setAccessible(true); + VertexConsumerProvider innerProvider = (VertexConsumerProvider) field.get(this); + + if (innerProvider != null) { + // Force the cape to render using the original world buffer + // instead of the broken translucent ESP shader. + cir.setReturnValue(innerProvider.getBuffer(layer)); + return; + } + } + } + } catch (Exception ignored) { + // If reflection fails, the cape stays invisible or ghosted, + // but the game won't crash. + } + } + } +} \ No newline at end of file