Skip to content

Commit 54ca6f4

Browse files
committed
Merge branch 'master' into mc-update
# Conflicts: # src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java
2 parents a5d8f26 + f8a7bfb commit 54ca6f4

File tree

7 files changed

+63
-15
lines changed

7 files changed

+63
-15
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ modmenu_version=15.0.0
3232
orbit_version=0.2.4
3333

3434
# Starscript (https://github.com/MeteorDevelopment/starscript)
35-
starscript_version=0.2.4
35+
starscript_version=0.2.5
3636

3737
# DiscordRPC (https://github.com/MeteorDevelopment/java-discord-rpc)
3838
discordipc_version=1.1

src/main/java/meteordevelopment/meteorclient/gui/WidgetScreen.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -250,8 +250,7 @@ public void renderBackground(DrawContext context, int mouseX, int mouseY, float
250250
}
251251
}
252252

253-
@Override
254-
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
253+
public void renderCustom(DrawContext context, int mouseX, int mouseY, float delta) {
255254
int s = mc.getWindow().getScaleFactor();
256255
mouseX *= s;
257256
mouseY *= s;

src/main/java/meteordevelopment/meteorclient/mixin/GameRendererMixin.java

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import meteordevelopment.meteorclient.events.render.GetFovEvent;
1414
import meteordevelopment.meteorclient.events.render.Render3DEvent;
1515
import meteordevelopment.meteorclient.events.render.RenderAfterWorldEvent;
16+
import meteordevelopment.meteorclient.gui.WidgetScreen;
1617
import meteordevelopment.meteorclient.mixininterface.IVec3d;
1718
import meteordevelopment.meteorclient.renderer.MeteorRenderPipelines;
1819
import meteordevelopment.meteorclient.renderer.Renderer3D;
@@ -25,15 +26,14 @@
2526
import meteordevelopment.meteorclient.systems.modules.world.HighwayBuilder;
2627
import meteordevelopment.meteorclient.utils.Utils;
2728
import meteordevelopment.meteorclient.utils.entity.fakeplayer.FakePlayerEntity;
28-
import meteordevelopment.meteorclient.utils.render.CustomBannerGuiElementRenderer;
2929
import meteordevelopment.meteorclient.utils.render.NametagUtils;
3030
import meteordevelopment.meteorclient.utils.render.RenderUtils;
3131
import net.minecraft.client.MinecraftClient;
32-
import net.minecraft.client.gui.render.SpecialGuiElementRenderer;
33-
import net.minecraft.client.render.BufferBuilderStorage;
32+
import net.minecraft.client.gui.DrawContext;
3433
import net.minecraft.client.render.Camera;
3534
import net.minecraft.client.render.GameRenderer;
3635
import net.minecraft.client.render.RenderTickCounter;
36+
import net.minecraft.client.render.fog.FogRenderer;
3737
import net.minecraft.client.util.math.MatrixStack;
3838
import net.minecraft.entity.Entity;
3939
import net.minecraft.item.ItemStack;
@@ -48,12 +48,8 @@
4848
import org.spongepowered.asm.mixin.Unique;
4949
import org.spongepowered.asm.mixin.injection.At;
5050
import org.spongepowered.asm.mixin.injection.Inject;
51-
import org.spongepowered.asm.mixin.injection.ModifyArg;
5251
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
5352

54-
import java.util.ArrayList;
55-
import java.util.List;
56-
5753
@Mixin(GameRenderer.class)
5854
public abstract class GameRendererMixin {
5955
@Shadow
@@ -97,6 +93,18 @@ public abstract class GameRendererMixin {
9793
return List.of(list.toArray(new SpecialGuiElementRenderer<?>[0]));
9894
}
9995

96+
@Shadow
97+
@Final
98+
private GuiRenderer guiRenderer;
99+
100+
@Shadow
101+
@Final
102+
private FogRenderer fogRenderer;
103+
104+
@Shadow
105+
@Final
106+
private GuiRenderState guiState;
107+
100108
@Inject(method = "renderWorld", at = @At(value = "INVOKE_STRING", target = "Lnet/minecraft/util/profiler/Profiler;swap(Ljava/lang/String;)V", args = {"ldc=hand"}))
101109
private void onRenderWorld(RenderTickCounter tickCounter, CallbackInfo ci, @Local(ordinal = 0) Matrix4f projection, @Local(ordinal = 1) Matrix4f position, @Local(ordinal = 1) float tickDelta, @Local MatrixStack matrixStack) {
102110
if (!Utils.canUpdate()) return;
@@ -144,6 +152,23 @@ private void onRenderWorldTail(CallbackInfo info) {
144152
MeteorClient.EVENT_BUS.post(RenderAfterWorldEvent.get());
145153
}
146154

155+
@Inject(method = "render", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/render/GuiRenderer;render(Lcom/mojang/blaze3d/buffers/GpuBufferSlice;)V", shift = At.Shift.AFTER))
156+
private void onRenderGui(RenderTickCounter tickCounter, boolean tick, CallbackInfo info) {
157+
if (client.currentScreen instanceof WidgetScreen widgetScreen) {
158+
guiState.clear();
159+
var context = new DrawContext(client, guiState);
160+
161+
var mouseX = (int) client.mouse.getScaledX(client.getWindow());
162+
var mouseY = (int) client.mouse.getScaledY(client.getWindow());
163+
164+
widgetScreen.renderCustom(context, mouseX, mouseY, tickCounter.getDynamicDeltaTicks());
165+
166+
RenderSystem.getDevice().createCommandEncoder().clearDepthTexture(client.getFramebuffer().getDepthAttachment(), 1.0);
167+
guiRenderer.render(fogRenderer.getFogBuffer(FogRenderer.FogType.NONE));
168+
guiRenderer.incrementFrame();
169+
}
170+
}
171+
147172
@ModifyReturnValue(method = "findCrosshairTarget", at = @At("RETURN"))
148173
private HitResult onUpdateTargetedEntity(HitResult original, @Local HitResult hitResult) {
149174
if (Modules.get().get(NoMiningTrace.class).canWork(original instanceof EntityHitResult ehr ? ehr.getEntity() : null) && hitResult.getType() == HitResult.Type.BLOCK) {

src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoBreed.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import net.minecraft.entity.EntityType;
1717
import net.minecraft.entity.passive.AnimalEntity;
1818
import net.minecraft.util.Hand;
19+
import net.minecraft.util.hit.EntityHitResult;
1920

2021
import java.util.ArrayList;
2122
import java.util.List;
@@ -85,6 +86,8 @@ private void onTick(TickEvent.Pre event) {
8586
continue;
8687

8788
Rotations.rotate(Rotations.getYaw(entity), Rotations.getPitch(entity), -100, () -> {
89+
EntityHitResult location = new EntityHitResult(animal, animal.getBoundingBox().getCenter());
90+
mc.interactionManager.interactEntityAtLocation(mc.player, animal, location, hand.get());
8891
mc.interactionManager.interactEntity(mc.player, animal, hand.get());
8992
mc.player.swingHand(hand.get());
9093
animalsFed.add(animal);

src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoMount.java

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,14 @@
2121
import net.minecraft.entity.Entity;
2222
import net.minecraft.entity.EntityType;
2323
import net.minecraft.entity.mob.MobEntity;
24+
import net.minecraft.entity.mob.SkeletonHorseEntity;
25+
import net.minecraft.entity.mob.ZombieHorseEntity;
2426
import net.minecraft.entity.passive.LlamaEntity;
27+
import net.minecraft.entity.passive.PigEntity;
28+
import net.minecraft.entity.passive.StriderEntity;
2529
import net.minecraft.item.SpawnEggItem;
2630
import net.minecraft.util.Hand;
31+
import net.minecraft.util.hit.EntityHitResult;
2732

2833
import java.util.Set;
2934

@@ -64,15 +69,24 @@ private void onTick(TickEvent.Pre event) {
6469
for (Entity entity : mc.world.getEntities()) {
6570
if (!entities.get().contains(entity.getType())) continue;
6671
if (!PlayerUtils.isWithin(entity, 4)) continue;
67-
if ((entity instanceof MobEntity mobEntity) && !(mobEntity.hasSaddleEquipped())) continue;
72+
if ((entity instanceof PigEntity || entity instanceof SkeletonHorseEntity || entity instanceof StriderEntity || entity instanceof ZombieHorseEntity) && !((MobEntity) entity).hasSaddleEquipped()) continue;
6873
if (!(entity instanceof LlamaEntity) && entity instanceof MobEntity mobEntity && checkSaddle.get() && !mobEntity.hasSaddleEquipped()) continue;
69-
interact(entity);
74+
interact(entity, rotate.get());
7075
return;
7176
}
7277
}
7378

79+
private void interact(Entity entity, boolean rotate) {
80+
if (rotate) {
81+
Rotations.rotate(Rotations.getYaw(entity), Rotations.getPitch(entity), -100, () -> interact(entity));
82+
} else {
83+
interact(entity);
84+
}
85+
}
86+
7487
private void interact(Entity entity) {
75-
if (rotate.get()) Rotations.rotate(Rotations.getYaw(entity), Rotations.getPitch(entity), -100, () -> mc.interactionManager.interactEntity(mc.player, entity, Hand.MAIN_HAND));
76-
else mc.interactionManager.interactEntity(mc.player, entity, Hand.MAIN_HAND);
88+
EntityHitResult location = new EntityHitResult(entity, entity.getBoundingBox().getCenter());
89+
mc.interactionManager.interactEntityAtLocation(mc.player, entity, location, Hand.MAIN_HAND);
90+
mc.interactionManager.interactEntity(mc.player, entity, Hand.MAIN_HAND);
7791
}
7892
}

src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoNametag.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import net.minecraft.entity.EntityType;
2323
import net.minecraft.item.Items;
2424
import net.minecraft.util.Hand;
25+
import net.minecraft.util.hit.EntityHitResult;
2526

2627
import java.util.Iterator;
2728
import java.util.Set;
@@ -126,7 +127,10 @@ private void onTickPost(TickEvent.Post event) {
126127
}
127128

128129
private void interact() {
129-
mc.interactionManager.interactEntity(mc.player, target, offHand ? Hand.OFF_HAND : Hand.MAIN_HAND);
130+
Hand hand = offHand ? Hand.OFF_HAND : Hand.MAIN_HAND;
131+
EntityHitResult location = new EntityHitResult(target, target.getBoundingBox().getCenter());
132+
mc.interactionManager.interactEntityAtLocation(mc.player, target, location, hand);
133+
mc.interactionManager.interactEntity(mc.player, target, hand);
130134
InvUtils.swapBack();
131135

132136
entityCooldowns.put(target, 20);

src/main/java/meteordevelopment/meteorclient/systems/modules/world/AutoShearer.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import net.minecraft.entity.passive.SheepEntity;
2222
import net.minecraft.item.Items;
2323
import net.minecraft.util.Hand;
24+
import net.minecraft.util.hit.EntityHitResult;
2425

2526
public class AutoShearer extends Module {
2627
private final SettingGroup sgGeneral = settings.getDefaultGroup();
@@ -80,6 +81,8 @@ private void onTick(TickEvent.Pre event) {
8081
}
8182

8283
private void interact() {
84+
EntityHitResult location = new EntityHitResult(entity, entity.getBoundingBox().getCenter());
85+
mc.interactionManager.interactEntityAtLocation(mc.player, entity, location, hand);
8386
mc.interactionManager.interactEntity(mc.player, entity, hand);
8487
InvUtils.swapBack();
8588
}

0 commit comments

Comments
 (0)