Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6a26187
WIP 26.2 update
Big-Iron-Cheems May 24, 2026
d4f8e84
Bump to 26.2-pre-1
Big-Iron-Cheems May 27, 2026
6bc5bcd
Rendering updates
Big-Iron-Cheems May 27, 2026
95eb98b
Update YggdrasilAuthenticationService to provide FriendsService
Big-Iron-Cheems May 27, 2026
e71021f
Update Zoom
Big-Iron-Cheems May 27, 2026
36673a7
BlockPos#getCenter removed
MukjepScarlet May 28, 2026
8a2e88a
Small cleanup in ScreenMixin.java
MukjepScarlet May 28, 2026
d10a223
replace ChatFormatting.isColor()/getColor() with TextColor.fromLegacy…
MukjepScarlet May 28, 2026
f3ac266
rename getGameRenderState() to gameRenderState()
MukjepScarlet May 28, 2026
49eea6f
replace VertexFormatElement.getOffset with format.getElement(name)
MukjepScarlet May 28, 2026
6da0819
migrate VertexFormat.Mode to PrimitiveTopology, withVertexFormat to w…
MukjepScarlet May 28, 2026
cd30374
migrate withSampler/withUniform to BindGroupLayout builder API
MukjepScarlet May 28, 2026
78e6c2d
replace uploadImmediateVertexBuffer/IndexBuffer with CommandEncoder.w…
MukjepScarlet May 28, 2026
4c68e9d
Bump to 26.2-pre-2
Big-Iron-Cheems May 28, 2026
6fa32f7
ServerboundSpectateEntityPacket -> ServerboundSpectatorActionPacket
MukjepScarlet May 29, 2026
3294860
LevelRenderer.BrightnessGetter -> LightCoordsUtil.BrightnessGetter
MukjepScarlet May 29, 2026
c7e2f49
ChatFormatting.isColor removed
MukjepScarlet May 29, 2026
934add0
PrimitiveTopology
MukjepScarlet May 29, 2026
a874c96
IndexType
MukjepScarlet May 29, 2026
7e51099
Small cleanup in EntityTypeListSettingScreen
MukjepScarlet May 29, 2026
d20342c
Small cleanup in MeshRenderer
MukjepScarlet May 29, 2026
fa70193
Fix StashFinder (Copper blocks, toast)
MukjepScarlet May 29, 2026
bf13647
Toasts
MukjepScarlet May 29, 2026
12a8580
MeshRenderer fix (probably adds new performance issue)
MukjepScarlet May 29, 2026
92363eb
GpuFormat.RGBA8_UNORM in PostProcessShader
MukjepScarlet May 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ dependencies {
modInclude(fabricApi.module("fabric-resource-loader-v1", fapiVersion))

// Compat fixes
compileOnly(fabricApi.module("fabric-renderer-indigo", fapiVersion))
// compileOnly(fabricApi.module("fabric-renderer-indigo", fapiVersion)) TODO: re-enable once available
compileOnly(libs.sodium) { isTransitive = false }
compileOnly(libs.lithium) { isTransitive = false }
compileOnly(libs.iris) { isTransitive = false }
Expand Down Expand Up @@ -140,7 +140,7 @@ loom {
}

fun toMinecraftCompat(version: String): String {
val match = Regex("""^(\d{2})\.([1-9]\d*)(?:\.([1-9]\d*))?$""")
val match = Regex("""^(\d{2})\.([1-9]\d*)(?:\.([1-9]\d*))?.*$""")
.matchEntire(version)
?: error("Invalid Minecraft version format: $version. Expected YY.D or YY.D.H")

Expand Down
4 changes: 2 additions & 2 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[versions]
# Fabric (https://fabricmc.net/develop)
jdk = "25"
minecraft = "26.1.2"
minecraft = "26.2-pre-2"
fabric-loader = "0.19.2"
fabric-api = "0.146.1+26.1.2"
fabric-api = "0.150.1+26.2"

# Plugins
# Loom (https://github.com/FabricMC/fabric-loom)
Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.0-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion gradlew

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

31 changes: 10 additions & 21 deletions gradlew.bat

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions src/main/java/meteordevelopment/meteorclient/MeteorClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -151,8 +151,8 @@ public void onInitializeClient() {

@EventHandler
private void onTick(TickEvent.Post event) {
if (mc.screen == null && mc.getOverlay() == null && KeyBinds.OPEN_COMMANDS.consumeClick()) {
mc.setScreen(new ChatScreen(Config.get().prefix.get(), true));
if (mc.gui.screen() == null && mc.gui.overlay() == null && KeyBinds.OPEN_COMMANDS.consumeClick()) {
mc.gui.setScreen(new ChatScreen(Config.get().prefix.get(), true));
}
}

Expand All @@ -171,7 +171,7 @@ private void onMouseClick(MouseClickEvent event) {
}

private void toggleGui() {
if (Utils.canCloseGui()) mc.screen.onClose();
if (Utils.canCloseGui()) mc.gui.screen().onClose();
else if (Utils.canOpenGui()) Tabs.get().getFirst().openScreen(GuiThemes.get());
}

Expand All @@ -182,17 +182,17 @@ private void toggleGui() {
@EventHandler(priority = EventPriority.LOWEST)
private void onOpenScreen(OpenScreenEvent event) {
if (event.screen instanceof WidgetScreen) {
if (!wasWidgetScreen) wasHudHiddenRoot = mc.options.hideGui;
if (!wasWidgetScreen) wasHudHiddenRoot = mc.gameRenderer.gameRenderState().guiRenderState.isHudHidden;
if (GuiThemes.get().hideHUD() || wasHudHiddenRoot) {
// Always show the MC HUD in the HUD editor screen since people like
// to align some items with the hotbar or chat
mc.options.hideGui = !(event.screen instanceof HudEditorScreen)
mc.gameRenderer.gameRenderState().guiRenderState.isHudHidden = !(event.screen instanceof HudEditorScreen)
&& !(event.screen instanceof AddHudElementScreen)
&& !(event.screen instanceof HudElementScreen);
}
} else {
if (wasWidgetScreen) mc.options.hideGui = wasHudHiddenRoot;
wasHudHiddenRoot = mc.options.hideGui;
if (wasWidgetScreen) mc.gameRenderer.gameRenderState().guiRenderState.isHudHidden = wasHudHiddenRoot;
wasHudHiddenRoot = mc.gameRenderer.gameRenderState().guiRenderState.isHudHidden;
}

wasWidgetScreen = event.screen instanceof WidgetScreen;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@ private void all(boolean onlyPossible, ToIntFunction<Enchantment> level) throws
}

private void syncItem() {
mc.setScreen(new InventoryScreen(mc.player));
mc.setScreen(null);
mc.gui.setScreen(new InventoryScreen(mc.player));
mc.gui.setScreen(null);
}

private ItemStack tryGetItemStack() throws CommandSyntaxException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@ public class InputCommand extends Command {
private static final List<KeypressHandler> activeHandlers = new ArrayList<>();

private static final List<Pair<KeyMapping, String>> holdKeys = List.of(
new Pair<>(mc.options.keyUp, "forwards"),
new Pair<>(mc.options.keyDown, "backwards"),
new Pair<>(mc.options.keyLeft, "left"),
new Pair<>(mc.options.keyRight, "right"),
new Pair<>(mc.options.keyJump, "jump"),
new Pair<>(mc.options.keyShift, "sneak"),
new Pair<>(mc.options.keySprint, "sprint"),
new Pair<>(mc.options.keyUse, "use"),
new Pair<>(mc.options.keyAttack, "attack")
Pair.of(mc.options.keyUp, "forwards"),
Pair.of(mc.options.keyDown, "backwards"),
Pair.of(mc.options.keyLeft, "left"),
Pair.of(mc.options.keyRight, "right"),
Pair.of(mc.options.keyJump, "jump"),
Pair.of(mc.options.keyShift, "sneak"),
Pair.of(mc.options.keySprint, "sprint"),
Pair.of(mc.options.keyUse, "use"),
Pair.of(mc.options.keyAttack, "attack")
);

private static final List<Pair<KeyMapping, String>> pressKeys = List.of(
new Pair<>(mc.options.keySwapOffhand, "swap"),
new Pair<>(mc.options.keyDrop, "drop")
Pair.of(mc.options.keySwapOffhand, "swap"),
Pair.of(mc.options.keyDrop, "drop")
);

public InputCommand() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EntityTypes;
import net.minecraft.world.entity.projectile.EyeOfEnder;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
Expand Down Expand Up @@ -313,7 +313,7 @@ private void cancel() {

@EventHandler
private void onReadPacket(PacketEvent.Receive event) {
if (event.packet instanceof ClientboundAddEntityPacket packet && packet.getType() == EntityType.EYE_OF_ENDER) {
if (event.packet instanceof ClientboundAddEntityPacket packet && packet.getType() == EntityTypes.EYE_OF_ENDER) {
firstPosition(packet.getX(), packet.getY(), packet.getZ());
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ private void saveMap(int scale) throws CommandSyntaxException {
File path = getPath();
if (path == null) throw OOPS.create();

MapTextureManagerAccessor textureManager = (MapTextureManagerAccessor) mc.gameRenderer.getMinecraft().getMapTextureManager();
MapTextureManagerAccessor textureManager = (MapTextureManagerAccessor) mc.getMapTextureManager();
MapTextureManager.MapInstance texture = textureManager.meteor$invokeGetOrCreateMapInstance(map.get(DataComponents.MAP_ID), state);
if (texture.texture.getPixels() == null) throw OOPS.create();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ private void providedStringW(WTable table, ProvidedStringSetting setting) {

private void genericW(WTable table, GenericSetting<?> setting) {
WButton edit = table.add(theme.button(GuiRenderer.EDIT)).widget();
edit.action = () -> mc.setScreen(setting.createScreen(theme));
edit.action = () -> mc.gui.setScreen(setting.createScreen(theme));

reset(table, setting, null);
}
Expand All @@ -232,7 +232,7 @@ private void colorW(WTable table, ColorSetting setting) {
WQuad quad = list.add(theme.quad(setting.get())).widget();

WButton edit = list.add(theme.button(GuiRenderer.EDIT)).widget();
edit.action = () -> mc.setScreen(new ColorSettingScreen(theme, setting));
edit.action = () -> mc.gui.setScreen(new ColorSettingScreen(theme, setting));

reset(table, setting, () -> quad.color = setting.get());
}
Expand All @@ -259,7 +259,7 @@ private void blockW(WTable table, BlockSetting setting) {
BlockSettingScreen screen = new BlockSettingScreen(theme, setting);
screen.onClosed(() -> item.set(DisplayItemUtils.toStack(setting.get().asItem())));

mc.setScreen(screen);
mc.gui.setScreen(screen);
};

reset(table, setting, () -> item.set(DisplayItemUtils.toStack(setting.get().asItem())));
Expand All @@ -276,7 +276,7 @@ private void blockPosW(WTable table, BlockPosSetting setting) {
}

private void blockListW(WTable table, BlockListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new BlockListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new BlockListSettingScreen(theme, setting)));
}

private void itemW(WTable table, ItemSetting setting) {
Expand All @@ -289,59 +289,59 @@ private void itemW(WTable table, ItemSetting setting) {
ItemSettingScreen screen = new ItemSettingScreen(theme, setting);
screen.onClosed(() -> item.set(DisplayItemUtils.toStack(setting.get())));

mc.setScreen(screen);
mc.gui.setScreen(screen);
};

reset(table, setting, () -> item.set(DisplayItemUtils.toStack(setting.get())));
}

private void itemListW(WTable table, ItemListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new ItemListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new ItemListSettingScreen(theme, setting)));
}

private void entityTypeListW(WTable table, EntityTypeListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new EntityTypeListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new EntityTypeListSettingScreen(theme, setting)));
}

private void enchantmentListW(WTable table, EnchantmentListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new EnchantmentListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new EnchantmentListSettingScreen(theme, setting)));
}

private void moduleListW(WTable table, ModuleListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new ModuleListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new ModuleListSettingScreen(theme, setting)));
}

private void packetListW(WTable table, PacketListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new PacketBoolSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new PacketBoolSettingScreen(theme, setting)));
}

private void particleTypeListW(WTable table, ParticleTypeListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new ParticleTypeListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new ParticleTypeListSettingScreen(theme, setting)));
}

private void soundEventListW(WTable table, SoundEventListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new SoundEventListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new SoundEventListSettingScreen(theme, setting)));
}

private void statusEffectAmplifierMapW(WTable table, StatusEffectAmplifierMapSetting setting) {
selectW(table, setting, () -> mc.setScreen(new StatusEffectAmplifierMapSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new StatusEffectAmplifierMapSettingScreen(theme, setting)));
}

private void statusEffectListW(WTable table, StatusEffectListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new StatusEffectListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new StatusEffectListSettingScreen(theme, setting)));
}

private void storageBlockListW(WTable table, StorageBlockListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new StorageBlockListSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new StorageBlockListSettingScreen(theme, setting)));
}

private void screenHandlerListW(WTable table, ScreenHandlerListSetting setting) {
selectW(table, setting, () -> mc.setScreen(new ScreenHandlerSettingScreen(theme, setting)));
selectW(table, setting, () -> mc.gui.setScreen(new ScreenHandlerSettingScreen(theme, setting)));
}

private void blockDataW(WTable table, BlockDataSetting<?> setting) {
WButton button = table.add(theme.button(GuiRenderer.EDIT)).expandCellX().widget();
button.action = () -> mc.setScreen(new BlockDataSettingScreen<>(theme, setting));
button.action = () -> mc.gui.setScreen(new BlockDataSettingScreen<>(theme, setting));

reset(table, setting, null);
}
Expand All @@ -357,7 +357,7 @@ private void potionW(WTable table, PotionSetting setting) {
WidgetScreen screen = new PotionSettingScreen(theme, setting);
screen.onClosed(() -> item.set(potion));

mc.setScreen(screen);
mc.gui.setScreen(screen);
};

reset(list, setting, () -> item.set(potion));
Expand All @@ -372,7 +372,7 @@ private void fontW(WTable table, FontFaceSetting setting) {
WidgetScreen screen = new FontFaceSettingScreen(theme, setting);
screen.onClosed(() -> label.set(setting.get().info.family()));

mc.setScreen(screen);
mc.gui.setScreen(screen);
};

reset(list, setting, () -> label.set(Fonts.DEFAULT_FONT.info.family()));
Expand Down Expand Up @@ -419,7 +419,7 @@ private void colorListWFill(WTable t, ColorListSetting setting) {
setting.onChanged();
}, null, null);
set.set(setting.get().get(_i));
mc.setScreen(new ColorSettingScreen(theme, set));
mc.gui.setScreen(new ColorSettingScreen(theme, set));
};

WMinus remove = t.add(theme.minus()).expandCellX().right().widget();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public abstract class WidgetScreen extends Screen {
public WidgetScreen(GuiTheme theme, String title) {
super(Component.literal(title));

this.parent = mc.screen;
this.parent = mc.gui.screen();
this.root = new WFullScreenRoot();
this.theme = theme;

Expand Down Expand Up @@ -339,7 +339,7 @@ public void removed() {
if (onClose) {
taskAfterRender = () -> {
locked = true;
mc.setScreen(parent);
mc.gui.setScreen(parent);
};
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public void render(WWidget widget) {
mesh.end();

MeshRenderer.begin()
.attachments(Minecraft.getInstance().getMainRenderTarget())
.attachments(Minecraft.getInstance().gameRenderer.mainRenderTarget())
.pipeline(MeteorRenderPipelines.WORLD_COLORED_LINES)
.mesh(mesh)
.end();
Expand Down
Loading
Loading