Skip to content

Commit

Permalink
Merge pull request #241 from boholder/1.20-upgrade-to-1.20.4
Browse files Browse the repository at this point in the history
Upgrade to 1.20.4
  • Loading branch information
khanshoaib3 committed Jan 14, 2024
2 parents abe461a + dbcb3ae commit db4d5c5
Show file tree
Hide file tree
Showing 17 changed files with 60 additions and 40 deletions.
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.1-SNAPSHOT" apply false
// ref: https://maven.architectury.dev/dev/architectury/architectury-loom/
id "dev.architectury.loom" version "1.4.380" apply false
}

architectury {
Expand Down Expand Up @@ -37,7 +38,7 @@ allprojects {
// for more information about repositories.
}

tasks.withType(JavaCompile) {
tasks.withType(JavaCompile).configureEach {
options.encoding = "UTF-8"
options.release = 17
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ private void updateConfig() {
@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
this.speakValue();
this.renderBackground(context);
this.renderBackground(context, mouseX, mouseY, delta);
context.drawCenteredTextWithShadow(this.textRenderer, this.title, this.width / 2, 15, 16777215);
context.drawCenteredTextWithShadow(this.textRenderer, value, this.width / 2, this.height / 2, 16777215);
super.render(context, mouseX, mouseY, delta);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.screen.AddServerScreen;
import net.minecraft.client.gui.screen.DirectConnectScreen;
import net.minecraft.client.gui.screen.TitleScreen;
import net.minecraft.client.gui.screen.multiplayer.AddServerScreen;
import net.minecraft.client.gui.screen.multiplayer.DirectConnectScreen;
import net.minecraft.client.gui.screen.multiplayer.MultiplayerScreen;
import net.minecraft.client.gui.screen.option.*;
import net.minecraft.client.gui.screen.pack.PackScreen;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import net.minecraft.client.gui.screen.ingame.StonecutterScreen;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemStack;
import net.minecraft.recipe.RecipeEntry;
import net.minecraft.recipe.StonecuttingRecipe;
import net.minecraft.registry.DynamicRegistryManager;
import net.minecraft.registry.entry.RegistryEntry;
Expand Down Expand Up @@ -80,11 +81,11 @@ public String getNarratableText() {
}

if (MinecraftClient.getInstance().currentScreen instanceof StonecutterScreen stonecutterScreen) {
List<StonecuttingRecipe> list = stonecutterScreen.getScreenHandler().getAvailableRecipes();
List<RecipeEntry<StonecuttingRecipe>> list = stonecutterScreen.getScreenHandler().getAvailableRecipes();
if (list.size() == 0) return "";

int scrollOffset = ((StonecutterScreenAccessor) stonecutterScreen).getScrollOffset();
ItemStack item = list.get(recipeOrTradeIndex + scrollOffset).getOutput(DynamicRegistryManager.EMPTY);
ItemStack item = list.get(recipeOrTradeIndex + scrollOffset).value().getResult(DynamicRegistryManager.EMPTY);
List<Text> toolTip = MinecraftClient.getInstance().currentScreen.getTooltipFromItem(MinecraftClient.getInstance(),item);
StringBuilder toolTipString = new StringBuilder();
for (Text text : toolTip) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ private ButtonWidget buildButtonWidget(String translationKey, ButtonWidget.Press

@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
this.renderBackground(context);
this.renderBackground(context, mouseX, mouseY, delta);
context.drawCenteredTextWithShadow(this.textRenderer, this.title, this.width / 2, 15, 16777215);
super.render(context, mouseX, mouseY, delta);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ public class AnimatedResultButtonMixin {
// @Inject(at = @At("HEAD"), method = "appendNarrations", cancellable = true) // Pre 1.19.3
@Inject(at = @At("HEAD"), method = "appendClickableNarrations", cancellable = true) // From 1.19.3
private void appendNarrations(NarrationMessageBuilder builder, CallbackInfo callbackInfo) {
ItemStack itemStack = ((AnimatedResultButtonAccessor) this).callGetResults().get(((AnimatedResultButtonAccessor) this).getCurrentResultIndex()).getOutput(DynamicRegistryManager.EMPTY);
ItemStack itemStack = ((AnimatedResultButtonAccessor) this).callGetResults().get(((AnimatedResultButtonAccessor) this).getCurrentResultIndex()).getResult(DynamicRegistryManager.EMPTY);
String itemName = itemStack.getName().getString();

boolean sameItem = itemName.equalsIgnoreCase(minecraft_access$previousItemName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
import net.minecraft.network.listener.ClientPlayPacketListener;
import net.minecraft.network.listener.TickablePacketListener;
import net.minecraft.network.packet.s2c.play.ItemPickupAnimationS2CPacket;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
Expand All @@ -25,22 +24,21 @@
@Slf4j
@Mixin(ClientPlayNetworkHandler.class)
public abstract class ClientPlayNetworkHandlerMixin implements TickablePacketListener, ClientPlayPacketListener {
@Shadow
@Final
private MinecraftClient client;

@Shadow
private ClientWorld world;

@Inject(at = @At("HEAD"), method = "onItemPickupAnimation")
public void onItemPickupAnimation(ItemPickupAnimationS2CPacket packet, CallbackInfo ci) {
MinecraftClient client = MinecraftClient.getInstance();
if (client == null) return;

// This method will be executed at the head of injected method.
// Invoke ahead here do no harm, according to this method's implementation.
NetworkThreadUtils.forceMainThread(packet, this, this.client);
NetworkThreadUtils.forceMainThread(packet, this, client);

if (!OtherConfigsMap.getInstance().isFishingHarvestEnabled()) return;

ClientPlayerEntity player = this.client.player;
ClientPlayerEntity player = client.player;
if (player == null) return;
// Am "I" holding a fishing pod? (will be Air if holding nothing)
if (player.getMainHandStack().getItem() instanceof FishingRodItem) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package com.github.khanshoaib3.minecraft_access.mixin;

import net.minecraft.block.spawner.MobSpawnerLogic;
import net.minecraft.entity.Entity;
import net.minecraft.world.MobSpawnerLogic;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.gen.Accessor;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
public class PageTurnWidgetMixin {
@Shadow @Final private boolean isNextPageButton;

@Inject(at = @At("HEAD"), method = "renderButton")
@Inject(at = @At("HEAD"), method = "renderWidget")
public void renderButton(DrawContext context, int mouseX, int mouseY, float delta, CallbackInfo ci){
if(this.isNextPageButton)
((ClickableWidgetAccessor)this).setMessage(Text.literal(I18n.translate("minecraft_access.menus.book_screen.next_page_button_name")));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ protected ButtonWidget buildButtonWidget(String translationKeyOrText, ButtonWidg

@Override
public void render(DrawContext context, int mouseX, int mouseY, float delta) {
this.renderBackground(context);
this.renderBackground(context, mouseX, mouseY, delta);
context.drawCenteredTextWithShadow(this.textRenderer, this.title, this.width / 2, 15, 16777215);
super.render(context, mouseX, mouseY, delta);
}
Expand Down
11 changes: 10 additions & 1 deletion doc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Release v1.5.0 (2024-)
Release v1.5.0 (2024-01)
---------------------------

### Feature Changes
Expand All @@ -12,6 +12,15 @@ Release v1.5.0 (2024-)
* Change some log message's level to `DEBUG`, make these logs controlled by config "Debug Mode" (and tested in dev and prod environments).
* Use lombok's `@Getter` `@Setter` to replace `*ConfigMap`'s boilerplate code.

### Dependencies Changes

* minecraft_version: `1.20.1` -> `1.20.4`
* architectury_version: `9.0.8` -> `11.0.9`
* fabric_loader_version: `0.14.21` -> `0.15.1`
* fabric_api_version: `0.84.0+1.20.1` -> `0.93.1+1.20.4`
* forge_version: `1.20.1-47.0.19` -> `1.20.4-49.0.19`
* dev.architectury.loom: `1.1-SNAPSHOT` -> `1.4.380`

Release v1.4.3 (2024-01)
---------------------------

Expand Down
8 changes: 5 additions & 3 deletions fabric/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,20 @@ shadowJar {
exclude "architectury.common.json"

configurations = [project.configurations.shadowCommon]
classifier "dev-shadow"
// "classifier" is removed in gradle 8, use "archiveClassifier" instead
// ref: https://github.com/architectury/architectury-api/blob/18ba59c9041d3fa535278097ee4b3d574dfec6d2/fabric/build.gradle#L48
archiveClassifier = "dev-shadow"
}

remapJar {
injectAccessWidener = true
input.set shadowJar.archiveFile
dependsOn shadowJar
classifier null
archiveClassifier = null
}

jar {
classifier "dev"
archiveClassifier = "dev"
}

sourcesJar {
Expand Down
4 changes: 2 additions & 2 deletions fabric/src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@
],

"depends": {
"fabricloader": ">=0.14.6",
"fabricloader": ">=0.15.1",
"fabric": "*",
"minecraft": "1.20.1"
"minecraft": "1.20.4"
},
"suggests": {
"another-mod": "*"
Expand Down
6 changes: 3 additions & 3 deletions forge/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -55,18 +55,18 @@ shadowJar {
exclude "architectury.common.json"

configurations = [project.configurations.shadowCommon]
classifier "dev-shadow"
archiveClassifier = "dev-shadow"
}

remapJar {
//noinspection GrDeprecatedAPIUsage
input.set shadowJar.archiveFile
dependsOn shadowJar
classifier null
archiveClassifier = null
}

jar {
classifier "dev"
archiveClassifier = "dev"
}

sourcesJar {
Expand Down
8 changes: 4 additions & 4 deletions forge/src/main/resources/META-INF/mods.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
modLoader = "javafml"
loaderVersion = "[43,)"
loaderVersion = "[49,)"
#issueTrackerURL = ""
license = "GNU GPLv3"

Expand All @@ -16,20 +16,20 @@ A mod for minecraft java that adds accessibility feature.
[[dependencies.minecraft_access]]
modId = "forge"
mandatory = true
versionRange = "[43,)"
versionRange = "[49,)"
ordering = "NONE"
side = "BOTH"

[[dependencies.minecraft_access]]
modId = "minecraft"
mandatory = true
versionRange = "[1.20.1,)"
versionRange = "[1.20.4,)"
ordering = "NONE"
side = "BOTH"

[[dependencies.minecraft_access]]
modId = "architectury"
mandatory = true
versionRange = "[6.2.43,)"
versionRange = "[11.0.9,)"
ordering = "AFTER"
side = "BOTH"
19 changes: 12 additions & 7 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
org.gradle.jvmargs=-Xmx2048M

minecraft_version=1.20.1
fabric_yarn_version=1.20.1+build.8:v2
minecraft_version=1.20.4
# ":v2" to resolve the error that "Forge cannot be used with V1 mappings!"
# ref: https://discord.com/channels/792699517631594506/1019641814497640568/threads/1051233446153945128
fabric_yarn_version=1.20.4+build.1:v2
enabled_platforms=fabric,forge

archives_base_name=minecraft-access
mod_version=1.4.3+1.20.1
mod_version=1.5.0+1.20.4
maven_group=com.github.khanshoaib3.minecraft_access

architectury_version=9.0.8
# https://maven.architectury.dev/dev/architectury/
architectury_version=11.0.9

fabric_loader_version=0.14.21
fabric_api_version=0.84.0+1.20.1
# https://fabricmc.net/2023/11/30/1203.html
fabric_loader_version=0.15.1
fabric_api_version=0.93.1+1.20.4

forge_version=1.20.1-47.2.17
# https://files.minecraftforge.net/net/minecraftforge/forge/index_1.20.4.html
forge_version=1.20.4-49.0.19
6 changes: 5 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip
# After bump architectury loom version to 1.4.380:
# A problem occurred evaluating root project 'minecraft_access'.
#> Failed to apply plugin 'dev.architectury.loom'.
# > You are using an outdated version of Gradle (7.4). Gradle 8.3 or higher is required.
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

0 comments on commit db4d5c5

Please sign in to comment.