Skip to content

Commit

Permalink
feat!: upgrade to Minecraft 1.20 (#82)
Browse files Browse the repository at this point in the history
  • Loading branch information
axieum committed Jun 8, 2023
1 parent 014986f commit d960644
Show file tree
Hide file tree
Showing 12 changed files with 66 additions and 49 deletions.
5 changes: 5 additions & 0 deletions build.gradle
Expand Up @@ -19,6 +19,11 @@ allprojects {

sourceCompatibility = targetCompatibility = JavaVersion.VERSION_17

// Configure Loom
loom {
accessWidenerPath = file("src/main/resources/${project.mod_id}.accesswidener")
}

// Declare dependencies
dependencies {
// Fabric
Expand Down
14 changes: 7 additions & 7 deletions gradle.properties
Expand Up @@ -7,22 +7,22 @@ mod_version = 6.1.0
## {x-release-please-end}

# Fabric
minecraft_version = 1.19.4
minecraft_version = 1.20
loader_version = 0.14.21
yarn_mappings = 1.19.4+build.2
fabric_version = 0.83.0+1.19.4
yarn_mappings = 1.20+build.1
fabric_version = 0.83.0+1.20

# Dependencies
cloth_config_version = 10.0.96
mod_menu_version = 6.2.2
cloth_config_version = 11.0.98
mod_menu_version = 7.0.0

checkstyle_version = 10.9.3
jetbrains_annotations_version = 24.0.1
junit_jupiter_version = 5.9.2

# CurseForge
cf_project_id = 356643
cf_game_versions = Fabric, Java 17, 1.19.4
cf_game_versions = Fabric, Java 17, 1.20
cf_relations_required = fabric-api
cf_relations_optional = modmenu
cf_relations_embedded = cloth-config
Expand All @@ -31,7 +31,7 @@ cf_relations_incompatible =

# Modrinth
mr_project_id = yjgIrBjZ
mr_game_versions = 1.19.4
mr_game_versions = 1.20
mr_relations_required = P7dR8mSH
mr_relations_optional = mOgUt4GM
mr_relations_incompatible =
Expand Down
Expand Up @@ -2,13 +2,11 @@

import org.jetbrains.annotations.Nullable;

import com.mojang.blaze3d.systems.RenderSystem;

import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.tooltip.Tooltip;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TexturedButtonWidget;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;

import me.axieum.mcmod.authme.api.util.SessionUtils;
Expand Down Expand Up @@ -233,20 +231,19 @@ protected void onDrag(double mouseX, double mouseY, double deltaX, double deltaY
}

@Override
public void renderButton(MatrixStack matrices, int mouseX, int mouseY, float delta)
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta)
{
// Cascade the rendering
super.renderButton(matrices, mouseX, mouseY, delta);
super.renderButton(context, mouseX, mouseY, delta);

// Render the current session status
RenderSystem.setShaderTexture(0, AuthMe.WIDGETS_TEXTURE);
final int u;
switch (sessionStatus) {
case VALID -> u = 0;
case OFFLINE -> u = 8;
default -> u = 16;
}
drawTexture(matrices, getX() + width - 6, getY() - 1, u, 60, 8, 8, 128, 128);
context.drawTexture(AuthMe.WIDGETS_TEXTURE, getX() + width - 6, getY() - 1, u, 60, 8, 8, 128, 128);
}

/**
Expand Down
Expand Up @@ -14,6 +14,8 @@

import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.SocialInteractionsManager;
import net.minecraft.client.realms.RealmsClient;
import net.minecraft.client.realms.RealmsPeriodicCheckers;
import net.minecraft.client.report.AbuseReportContext;
import net.minecraft.client.util.ProfileKeys;
import net.minecraft.client.util.Session;
Expand Down Expand Up @@ -98,6 +100,8 @@ public static void setSession(Session session)
);

// Necessary for Realms to re-check for a valid session
RealmsClient realmsClient = RealmsClient.createRealmsClient(client);
((MinecraftClientAccessor) client).setRealmsPeriodicCheckers(new RealmsPeriodicCheckers(realmsClient));
RealmsMainScreenAccessor.setCheckedClientCompatibility(false);
RealmsMainScreenAccessor.setRealmsGenericErrorScreen(null);

Expand Down
@@ -1,12 +1,12 @@
package me.axieum.mcmod.authme.impl.gui;

import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.ConfirmScreen;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.tooltip.Tooltip;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TexturedButtonWidget;
import net.minecraft.client.util.InputUtil;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;

Expand Down Expand Up @@ -112,23 +112,23 @@ protected void init()
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta)
public void render(DrawContext context, int mouseX, int mouseY, float delta)
{
assert client != null;

// Render the background before any widgets
renderBackground(matrices);
renderBackground(context);

// Render a title for the screen
drawCenteredTextWithShadow(matrices, client.textRenderer, title, width / 2, height / 2 - 27, 0xffffff);
context.drawCenteredTextWithShadow(client.textRenderer, title, width / 2, height / 2 - 27, 0xffffff);

// Render a greeting for the current session
if (greeting != null) {
drawCenteredTextWithShadow(matrices, client.textRenderer, greeting, width / 2, height / 2 - 47, 0xa0a0a0);
context.drawCenteredTextWithShadow(client.textRenderer, greeting, width / 2, height / 2 - 47, 0xa0a0a0);
}

// Cascade the rendering
super.render(matrices, mouseX, mouseY, delta);
super.render(context, mouseX, mouseY, delta);
}

@Override
Expand Down
Expand Up @@ -6,10 +6,10 @@

import org.apache.http.conn.ConnectTimeoutException;

import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.toast.SystemToast;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;

Expand Down Expand Up @@ -139,23 +139,23 @@ protected void init()
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta)
public void render(DrawContext context, int mouseX, int mouseY, float delta)
{
assert client != null;

// Render the background before any widgets
renderBackground(matrices);
renderBackground(context);

// Render a title for the screen
drawCenteredTextWithShadow(matrices, client.textRenderer, title, width / 2, height / 2 - 32, 0xffffff);
context.drawCenteredTextWithShadow(client.textRenderer, title, width / 2, height / 2 - 32, 0xffffff);

// Render the current progress/status of the login, if present
if (status != null) {
drawCenteredTextWithShadow(matrices, client.textRenderer, status, width / 2, height / 2 - 6, 0xdddddd);
context.drawCenteredTextWithShadow(client.textRenderer, status, width / 2, height / 2 - 6, 0xdddddd);
}

// Cascade the rendering
super.render(matrices, mouseX, mouseY, delta);
super.render(context, mouseX, mouseY, delta);
}

@Override
Expand Down
20 changes: 10 additions & 10 deletions src/main/java/me/axieum/mcmod/authme/impl/gui/MojangAuthScreen.java
Expand Up @@ -6,11 +6,11 @@

import com.mojang.authlib.exceptions.InvalidCredentialsException;

import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.toast.SystemToast;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;
import net.minecraft.util.Formatting;

Expand Down Expand Up @@ -168,39 +168,39 @@ public boolean isFormValid()
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta)
public void render(DrawContext context, int mouseX, int mouseY, float delta)
{
assert client != null;

// Render the background before any widgets
renderBackground(matrices);
renderBackground(context);

// Render a title for the screen
drawCenteredTextWithShadow(matrices, client.textRenderer, title, width / 2,
context.drawCenteredTextWithShadow(client.textRenderer, title, width / 2,
usernameField.getY() - 16 - 23, 0xffffff);

// Render the username & password field labels
drawTextWithShadow(
matrices, client.textRenderer,
context.drawTextWithShadow(
client.textRenderer,
usernameField.getMessage(),
usernameField.getX(), usernameField.getY() - 16,
0xa0a0a0
);
drawTextWithShadow(
matrices, client.textRenderer,
context.drawTextWithShadow(
client.textRenderer,
passwordField.getMessage(),
passwordField.getX(), passwordField.getY() - 16,
0xa0a0a0
);

// Render the current progress/status of the login, if present
if (status != null) {
drawCenteredTextWithShadow(matrices, client.textRenderer, status, width / 2,
context.drawCenteredTextWithShadow(client.textRenderer, status, width / 2,
loginBtn.getY() - 20, 0xdddddd);
}

// Cascade the rendering
super.render(matrices, mouseX, mouseY, delta);
super.render(context, mouseX, mouseY, delta);
}

@Override
Expand Down
@@ -1,10 +1,10 @@
package me.axieum.mcmod.authme.impl.gui;

import net.minecraft.client.gui.DrawContext;
import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.gui.widget.TextFieldWidget;
import net.minecraft.client.toast.SystemToast;
import net.minecraft.client.util.math.MatrixStack;
import net.minecraft.text.Text;

import me.axieum.mcmod.authme.api.gui.AuthScreen;
Expand Down Expand Up @@ -120,26 +120,26 @@ public boolean isFormValid()
}

@Override
public void render(MatrixStack matrices, int mouseX, int mouseY, float delta)
public void render(DrawContext context, int mouseX, int mouseY, float delta)
{
assert client != null;

// Render the background before any widgets
renderBackground(matrices);
renderBackground(context);

// Render a title for the screen
drawCenteredTextWithShadow(matrices, client.textRenderer, title, width / 2,
context.drawCenteredTextWithShadow(client.textRenderer, title, width / 2,
usernameField.getY() - 16 - 23, 0xffffff);

// Render the username field label
drawTextWithShadow(
matrices, client.textRenderer,
context.drawTextWithShadow(
client.textRenderer,
usernameField.getMessage(),
usernameField.getX(), usernameField.getY() - 16,
0xa0a0a0
);

// Cascade the rendering
super.render(matrices, mouseX, mouseY, delta);
super.render(context, mouseX, mouseY, delta);
}
}
Expand Up @@ -8,6 +8,7 @@

import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.SocialInteractionsManager;
import net.minecraft.client.realms.RealmsPeriodicCheckers;
import net.minecraft.client.report.AbuseReportContext;
import net.minecraft.client.util.ProfileKeys;
import net.minecraft.client.util.Session;
Expand Down Expand Up @@ -62,4 +63,13 @@ public interface MinecraftClientAccessor
@Accessor
@Mutable
void setAbuseReportContext(AbuseReportContext abuseReportContext);

/**
* Sets the Minecraft Realms periodic checkers.
*
* @param realmsPeriodicCheckers new Minecraft Realms periodic checkers
*/
@Accessor
@Mutable
void setRealmsPeriodicCheckers(RealmsPeriodicCheckers realmsPeriodicCheckers);
}
Expand Up @@ -8,8 +8,6 @@
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import com.mojang.datafixers.util.Pair;

import net.minecraft.client.gui.screen.Screen;
import net.minecraft.client.gui.widget.ButtonWidget;
import net.minecraft.client.realms.gui.screen.RealmsGenericErrorScreen;
Expand All @@ -32,7 +30,7 @@ public abstract class RealmsGenericErrorScreenMixin extends RealmsScreen

@Shadow
@Final
private Pair<Text, Text> errorMessages;
private RealmsGenericErrorScreen.ErrorMessages errorMessages;

private RealmsGenericErrorScreenMixin(Text title)
{
Expand All @@ -48,7 +46,7 @@ private RealmsGenericErrorScreenMixin(Text title)
private void init(CallbackInfo ci)
{
// Determine if the disconnection reason is user or session related
if (isUserRelated(errorMessages.getFirst())) {
if (isUserRelated(errorMessages.detail())) {
LOGGER.info("Adding auth button to the Realms error screen");
assert client != null;

Expand Down
2 changes: 2 additions & 0 deletions src/main/resources/authme.accesswidener
@@ -0,0 +1,2 @@
accessWidener v1 named
accessible class net/minecraft/client/realms/gui/screen/RealmsGenericErrorScreen$ErrorMessages
5 changes: 3 additions & 2 deletions src/main/resources/fabric.mod.json
Expand Up @@ -29,13 +29,14 @@
"me.axieum.mcmod.authme.impl.compat.ModMenuApiImpl"
]
},
"accessWidener" : "authme.accesswidener",
"mixins": [
"authme.mixins.json"
],
"depends": {
"java": ">=17",
"minecraft": "~1.19.4",
"fabricloader": ">=0.11.3",
"minecraft": "~1.20",
"fabricloader": ">=0.14.18",
"fabric-lifecycle-events-v1": "*",
"fabric-resource-loader-v0": "*",
"cloth-config2": "*"
Expand Down

0 comments on commit d960644

Please sign in to comment.