From db87876edf6df80f7694b14211bea2986266ce32 Mon Sep 17 00:00:00 2001 From: Felix14-v2 <75726196+Felix14-v2@users.noreply.github.com> Date: Thu, 7 Apr 2022 00:20:09 +0300 Subject: [PATCH 01/13] Create ru_ru.json --- src/main/resources/assets/animatica/lang/ru_ru.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/ru_ru.json diff --git a/src/main/resources/assets/animatica/lang/ru_ru.json b/src/main/resources/assets/animatica/lang/ru_ru.json new file mode 100644 index 0000000..2f3b402 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/ru_ru.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Пользов. анимации" +} From 8953df70980f6176b7b155d5f7e78aa00ab84903 Mon Sep 17 00:00:00 2001 From: fedetrifo06 <61948220+fedetrifo06@users.noreply.github.com> Date: Mon, 5 Sep 2022 16:20:37 +0200 Subject: [PATCH 02/13] Create it_it.json --- src/main/resources/assets/animatica/lang/it_it.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/it_it.json diff --git a/src/main/resources/assets/animatica/lang/it_it.json b/src/main/resources/assets/animatica/lang/it_it.json new file mode 100644 index 0000000..7c98840 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/it_it.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Animazioni Personalizzate" +} From 3e3d502c1e03f3fd7f51d0a777e0ceb1087e4dae Mon Sep 17 00:00:00 2001 From: Cccc_ <47687154+Cccc-owo@users.noreply.github.com> Date: Mon, 26 Dec 2022 12:00:35 +0800 Subject: [PATCH 03/13] i18n: Add Simplified Chinese language support --- src/main/resources/assets/animatica/lang/zh_cn.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/zh_cn.json diff --git a/src/main/resources/assets/animatica/lang/zh_cn.json b/src/main/resources/assets/animatica/lang/zh_cn.json new file mode 100644 index 0000000..ea2cdcf --- /dev/null +++ b/src/main/resources/assets/animatica/lang/zh_cn.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "自定义动画" +} From 0d849370cc5ce37e5ec817964ee48e27a630bd57 Mon Sep 17 00:00:00 2001 From: notlin4 <121224522+notlin4@users.noreply.github.com> Date: Thu, 2 Feb 2023 16:26:29 +0800 Subject: [PATCH 04/13] Create zh_tw.json --- src/main/resources/assets/animatica/lang/zh_tw.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/zh_tw.json diff --git a/src/main/resources/assets/animatica/lang/zh_tw.json b/src/main/resources/assets/animatica/lang/zh_tw.json new file mode 100644 index 0000000..9f4f3c8 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/zh_tw.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "自定義動畫" +} From 111f8e993c1599364bb8fa50729a722b171d01fe Mon Sep 17 00:00:00 2001 From: BurrConnie <114810287+BurrConnie@users.noreply.github.com> Date: Fri, 17 Mar 2023 15:37:57 +0200 Subject: [PATCH 05/13] Create Ukrainian localization --- src/main/resources/assets/animatica/lang/uk_ua.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/uk_ua.json diff --git a/src/main/resources/assets/animatica/lang/uk_ua.json b/src/main/resources/assets/animatica/lang/uk_ua.json new file mode 100644 index 0000000..b81fc67 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/uk_ua.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Власні анімації" +} From 68b681a0c343dd8b1f3595fc74aed42a7ad24016 Mon Sep 17 00:00:00 2001 From: smoong951 <135527138+smoong951@users.noreply.github.com> Date: Tue, 6 Jun 2023 20:52:44 +0900 Subject: [PATCH 06/13] Add ko_kr.json --- src/main/resources/assets/animatica/lang/ko_kr.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/ko_kr.json diff --git a/src/main/resources/assets/animatica/lang/ko_kr.json b/src/main/resources/assets/animatica/lang/ko_kr.json new file mode 100644 index 0000000..423f9e0 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/ko_kr.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "사용자 지정 애니메이션" +} \ No newline at end of file From 2af4bdb2a555c998f1f4c929ea75db98d5c6ab03 Mon Sep 17 00:00:00 2001 From: notlin4 <121224522+notlin4@users.noreply.github.com> Date: Tue, 20 Jun 2023 18:45:24 +0800 Subject: [PATCH 07/13] Add Traditional Chinese --- src/main/resources/assets/animatica/lang/zh_tw.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/assets/animatica/lang/zh_tw.json b/src/main/resources/assets/animatica/lang/zh_tw.json index 9f4f3c8..b87c509 100644 --- a/src/main/resources/assets/animatica/lang/zh_tw.json +++ b/src/main/resources/assets/animatica/lang/zh_tw.json @@ -1,3 +1,3 @@ { - "option.animatica.animated_textures": "自定義動畫" + "option.animatica.animated_textures": "自訂動畫" } From a59197f79c721c1ea782aa18f874551174fd177c Mon Sep 17 00:00:00 2001 From: I_am_Vietnam <91591390+ImVietnam@users.noreply.github.com> Date: Tue, 4 Jul 2023 11:24:09 +0700 Subject: [PATCH 08/13] Create vi_vn.json --- src/main/resources/assets/animatica/lang/vi_vn.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/vi_vn.json diff --git a/src/main/resources/assets/animatica/lang/vi_vn.json b/src/main/resources/assets/animatica/lang/vi_vn.json new file mode 100644 index 0000000..1434684 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/vi_vn.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Hoạt hình tùy chỉnh" +} From e28f761b28a3a59655d6e5d465d1d5de221eca3b Mon Sep 17 00:00:00 2001 From: Alex Gazmanovich <128359229+Gazmanovich@users.noreply.github.com> Date: Wed, 9 Aug 2023 20:36:36 +0300 Subject: [PATCH 09/13] Create be_by.json --- src/main/resources/assets/animatica/lang/be_by.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/be_by.json diff --git a/src/main/resources/assets/animatica/lang/be_by.json b/src/main/resources/assets/animatica/lang/be_by.json new file mode 100644 index 0000000..f24d47b --- /dev/null +++ b/src/main/resources/assets/animatica/lang/be_by.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Карыстальніцкія Анімацыі" +} From 2d827a587882228357b050eb7957ea0f34358272 Mon Sep 17 00:00:00 2001 From: Rad Date: Mon, 23 Oct 2023 23:32:49 +0200 Subject: [PATCH 10/13] Create pl_pl.json --- src/main/resources/assets/animatica/lang/pl_pl.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/pl_pl.json diff --git a/src/main/resources/assets/animatica/lang/pl_pl.json b/src/main/resources/assets/animatica/lang/pl_pl.json new file mode 100644 index 0000000..667e98b --- /dev/null +++ b/src/main/resources/assets/animatica/lang/pl_pl.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Niestandardowe animacje" +} From 18cff0d90c51bb4e88e245b8bba354c4be8ea177 Mon Sep 17 00:00:00 2001 From: Santiago Hernandez <73335686+TheLegendofSaram@users.noreply.github.com> Date: Mon, 1 Apr 2024 20:38:05 -0300 Subject: [PATCH 11/13] Mexican Spanish Translation I know is just a line, i just find it funny :) --- src/main/resources/assets/animatica/lang/es_mx.json | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/main/resources/assets/animatica/lang/es_mx.json diff --git a/src/main/resources/assets/animatica/lang/es_mx.json b/src/main/resources/assets/animatica/lang/es_mx.json new file mode 100644 index 0000000..6034063 --- /dev/null +++ b/src/main/resources/assets/animatica/lang/es_mx.json @@ -0,0 +1,3 @@ +{ + "option.animatica.animated_textures": "Animaciones personalizadas" +} \ No newline at end of file From 6b22ca19de6eadb7ef591333259fece3115a5805 Mon Sep 17 00:00:00 2001 From: FoundationGames <43485105+FoundationGames@users.noreply.github.com> Date: Thu, 13 Jun 2024 21:41:27 -0700 Subject: [PATCH 12/13] 1.20.4, attempt at optimizing animations --- build.gradle | 2 +- gradle.properties | 12 ++-- gradle/wrapper/gradle-wrapper.properties | 2 +- .../animatica/animation/AnimatedTexture.java | 53 ++++++++++----- .../animatica/mixin/NativeImageAccessor.java | 11 ++++ .../animatica/util/TextureUtil.java | 65 ++++++++++--------- src/main/resources/animatica.mixins.json | 3 +- src/main/resources/fabric.mod.json | 2 +- 8 files changed, 94 insertions(+), 56 deletions(-) create mode 100644 src/main/java/io/github/foundationgames/animatica/mixin/NativeImageAccessor.java diff --git a/build.gradle b/build.gradle index 556fb08..1f85c52 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.2-SNAPSHOT' + id 'fabric-loom' version '1.6-SNAPSHOT' } sourceCompatibility = JavaVersion.VERSION_17 diff --git a/gradle.properties b/gradle.properties index 1cc90a2..949e119 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,13 @@ org.gradle.jvmargs=-Xmx1G -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.3 -loader_version=0.14.21 +minecraft_version=1.20.4 +yarn_mappings=1.20.4+build.3 +loader_version=0.15.11 -#Fabric api -fabric_version=0.83.1+1.20.1 +# Fabric API +fabric_version=0.97.1+1.20.4 -mod_version = 0.6+1.20 +mod_version = 0.6.1+1.20.4 maven_group = io.github.foundationgames archives_base_name = animatica diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 59bc51a..48c0a02 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/src/main/java/io/github/foundationgames/animatica/animation/AnimatedTexture.java b/src/main/java/io/github/foundationgames/animatica/animation/AnimatedTexture.java index 0d46e2e..b46c2ef 100644 --- a/src/main/java/io/github/foundationgames/animatica/animation/AnimatedTexture.java +++ b/src/main/java/io/github/foundationgames/animatica/animation/AnimatedTexture.java @@ -3,22 +3,32 @@ import com.google.common.collect.ImmutableList; import io.github.foundationgames.animatica.Animatica; import io.github.foundationgames.animatica.util.TextureUtil; +import net.minecraft.client.MinecraftClient; import net.minecraft.client.texture.NativeImage; import net.minecraft.client.texture.NativeImageBackedTexture; import net.minecraft.resource.ResourceManager; import net.minecraft.util.Identifier; import net.minecraft.util.math.MathHelper; +import org.jetbrains.annotations.Nullable; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Optional; +import java.util.concurrent.CompletableFuture; +import java.util.concurrent.Executor; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; public class AnimatedTexture extends NativeImageBackedTexture { + public static final ExecutorService EXECUTORS = Executors.newFixedThreadPool(4); + public final Animation[] anims; private final NativeImage original; private int frame = 0; + private CompletableFuture frameWaitingOn = null; + public static Optional tryCreate(ResourceManager resources, Identifier targetTexId, List anims) { try (var targetTexResource = resources.getResourceOrThrow(targetTexId).getInputStream()) { return Optional.of(new AnimatedTexture(resources, anims, NativeImage.read(targetTexResource))); @@ -36,7 +46,7 @@ public AnimatedTexture(ResourceManager resources, List metas, Nat } this.original = image; - updateAndDraw(this.getImage(), true); + updateAndDraw(this.getImage(), true, MinecraftClient.getInstance()); this.upload(); } @@ -50,7 +60,15 @@ public boolean canLoop() { return true; } - public boolean updateAndDraw(NativeImage image, boolean force) { + private @Nullable CompletableFuture getFrameWaitingOn() { + if (this.frameWaitingOn != null && this.frameWaitingOn.isDone()) { + this.frameWaitingOn = null; + } + + return this.frameWaitingOn; + } + + public void updateAndDraw(NativeImage image, boolean force, Executor exec) { boolean changed = false; if (canLoop()) { @@ -69,16 +87,23 @@ public boolean updateAndDraw(NativeImage image, boolean force) { } if (changed || force) { - image.copyFrom(this.original); + // Skip if still waiting for a frame to finish + if (this.getFrameWaitingOn() == null) { + this.frameWaitingOn = CompletableFuture.supplyAsync(() -> { + image.copyFrom(this.original); + + Phase phase; + for (var anim : anims) { + phase = anim.getCurrentPhase(); + if (phase instanceof InterpolatedPhase iPhase) { + TextureUtil.blendCopy(anim.sourceTexture, 0, iPhase.prevV, 0, iPhase.v, anim.width, anim.height, image, anim.targetX, anim.targetY, iPhase.blend.getBlend(anim.getPhaseFrame())); + } else { + TextureUtil.copy(anim.sourceTexture, 0, phase.v, anim.width, anim.height, image, anim.targetX, anim.targetY); + } + } - Phase phase; - for (var anim : anims) { - phase = anim.getCurrentPhase(); - if (phase instanceof InterpolatedPhase iPhase) { - TextureUtil.blendCopy(anim.sourceTexture, 0, iPhase.prevV, 0, iPhase.v, anim.width, anim.height, image, anim.targetX, anim.targetY, iPhase.blend.getBlend(anim.getPhaseFrame())); - } else { - TextureUtil.copy(anim.sourceTexture, 0, phase.v, anim.width, anim.height, image, anim.targetX, anim.targetY); - } + return null; + }, exec).thenAccept(v -> MinecraftClient.getInstance().execute(this::upload)); } } @@ -86,14 +111,10 @@ public boolean updateAndDraw(NativeImage image, boolean force) { anim.advance(); } frame++; - - return changed; } public void tick() { - if (this.updateAndDraw(this.getImage(), false)) { - this.upload(); - } + this.updateAndDraw(this.getImage(), false, EXECUTORS); } @Override diff --git a/src/main/java/io/github/foundationgames/animatica/mixin/NativeImageAccessor.java b/src/main/java/io/github/foundationgames/animatica/mixin/NativeImageAccessor.java new file mode 100644 index 0000000..25037e9 --- /dev/null +++ b/src/main/java/io/github/foundationgames/animatica/mixin/NativeImageAccessor.java @@ -0,0 +1,11 @@ +package io.github.foundationgames.animatica.mixin; + +import net.minecraft.client.texture.NativeImage; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; + +@Mixin(NativeImage.class) +public interface NativeImageAccessor { + @Accessor("pointer") + long getPointer(); +} diff --git a/src/main/java/io/github/foundationgames/animatica/util/TextureUtil.java b/src/main/java/io/github/foundationgames/animatica/util/TextureUtil.java index b13699b..caeed89 100644 --- a/src/main/java/io/github/foundationgames/animatica/util/TextureUtil.java +++ b/src/main/java/io/github/foundationgames/animatica/util/TextureUtil.java @@ -1,9 +1,12 @@ package io.github.foundationgames.animatica.util; +import io.github.foundationgames.animatica.mixin.NativeImageAccessor; import net.minecraft.client.texture.NativeImage; import net.minecraft.util.math.MathHelper; +import org.lwjgl.system.MemoryUtil; public enum TextureUtil {; + private static final long SIZEOF_INT = 4; /** * Copy a section of an image into another image @@ -18,20 +21,20 @@ public enum TextureUtil {; * @param dv The v coordinate on the destination image to place the selection at */ public static void copy(NativeImage src, int u, int v, int w, int h, NativeImage dest, int du, int dv) { - // iterate through the entire section of the image to be copied over - for (int rx = 0; rx < w; rx++) { - for (int ry = 0; ry < h; ry++) { - // the current x/y coordinates in the source image - int srcX = u + rx; - int srcY = v + ry; - // the corresponding target x/y coordinates in the target image - int trgX = du + rx; - int trgY = dv + ry; - - // set the color of the target pixel on the destination image - // to the color from the corresponding pixel on the source image - dest.setColor(trgX, trgY, src.getColor(srcX, srcY)); - } + w = MathHelper.clamp(dest.getWidth() - du, 0, w); + h = MathHelper.clamp(dest.getHeight() - dv, 0, h); + + long srcPtr = ((NativeImageAccessor)(Object)src).getPointer(); + long dstPtr = ((NativeImageAccessor)(Object)dest).getPointer(); + + for (int row = 0; row < h; row++) { + int srcRowIdx = ((v + row) * src.getWidth()) + u; + var srcRow = MemoryUtil.memIntBuffer(srcPtr + (srcRowIdx * SIZEOF_INT), w); + + int trgRowIdx = ((dv + row) * dest.getWidth()) + du; + var trgRow = MemoryUtil.memIntBuffer(dstPtr + (trgRowIdx * SIZEOF_INT), w); + + MemoryUtil.memCopy(srcRow, trgRow); } } @@ -52,22 +55,24 @@ public static void copy(NativeImage src, int u, int v, int w, int h, NativeImage * second (0 = solid first image, 1 = solid second image) */ public static void blendCopy(NativeImage src, int u0, int v0, int u1, int v1, int w, int h, NativeImage dest, int du, int dv, float blend) { - // iterate through the entire section of the image to be copied over - for (int rx = 0; rx < w; rx++) { - for (int ry = 0; ry < h; ry++) { - // the first set of x/y coordinates in the source image - int srcX0 = u0 + rx; - int srcY0 = v0 + ry; - // the second set of x/y coordinates in the source image - int srcX1 = u1 + rx; - int srcY1 = v1 + ry; - // the corresponding target x/y coordinates in the target image - int trgX = du + rx; - int trgY = dv + ry; - - // set the color of the target pixel on the destination image to a blend - // of the colors from the corresponding pixels on the source image - dest.setColor(trgX, trgY, lerpColor(src.getFormat(), src.getColor(srcX0, srcY0), src.getColor(srcX1, srcY1), blend)); + w = MathHelper.clamp(dest.getWidth() - du, 0, w); + h = MathHelper.clamp(dest.getHeight() - dv, 0, h); + + long srcPtr = ((NativeImageAccessor)(Object)src).getPointer(); + long dstPtr = ((NativeImageAccessor)(Object)dest).getPointer(); + + for (int row = 0; row < h; row++) { + int src0RowIdx = ((v0 + row) * src.getWidth()) + u0; + var src0Row = MemoryUtil.memIntBuffer(srcPtr + (src0RowIdx * SIZEOF_INT), w); + + int src1RowIdx = ((v1 + row) * src.getWidth()) + u1; + var src1Row = MemoryUtil.memIntBuffer(srcPtr + (src1RowIdx * SIZEOF_INT), w); + + int trgRowIdx = ((dv + row) * dest.getWidth()) + du; + var trgRow = MemoryUtil.memIntBuffer(dstPtr + (trgRowIdx * SIZEOF_INT), w); + + for (int col = 0; col < w; col++) { + trgRow.put(col, lerpColor(src.getFormat(), src0Row.get(col), src1Row.get(col), blend)); } } } diff --git a/src/main/resources/animatica.mixins.json b/src/main/resources/animatica.mixins.json index 0d022d5..9ceb7c1 100644 --- a/src/main/resources/animatica.mixins.json +++ b/src/main/resources/animatica.mixins.json @@ -4,8 +4,9 @@ "package": "io.github.foundationgames.animatica.mixin", "compatibilityLevel": "JAVA_16", "client": [ - "RenderSystemMixin", "IdentifierMixin", + "NativeImageAccessor", + "RenderSystemMixin", "VideoOptionsScreenMixin" ], "injectors": { diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 97de7bc..fd2c9a0 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -28,7 +28,7 @@ "depends": { "fabricloader": ">=0.11.3", "fabric": "*", - "minecraft": ["1.19.4", "1.20.x"], + "minecraft": ["1.20.x"], "java": ">=16" } } From 993951aea2abc8f33dd59b693075198735fff0e5 Mon Sep 17 00:00:00 2001 From: FoundationGames <43485105+FoundationGames@users.noreply.github.com> Date: Thu, 13 Jun 2024 23:53:26 -0700 Subject: [PATCH 13/13] 1.20.6, Java 21 --- .github/workflows/build.yml | 4 ++-- build.gradle | 6 +++--- gradle.properties | 8 ++++---- src/main/resources/fabric.mod.json | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 967a6f4..e3d7d93 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,7 +5,7 @@ jobs: build: strategy: matrix: - java: [17] + java: [21] os: [ubuntu-20.04, windows-latest] runs-on: ${{ matrix.os }} steps: @@ -23,7 +23,7 @@ jobs: - name: build run: ./gradlew build - name: capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '17' }} + if: ${{ runner.os == 'Linux' && matrix.java == '21' }} uses: actions/upload-artifact@v2 with: name: Artifacts diff --git a/build.gradle b/build.gradle index 1f85c52..512bf51 100644 --- a/build.gradle +++ b/build.gradle @@ -2,8 +2,8 @@ plugins { id 'fabric-loom' version '1.6-SNAPSHOT' } -sourceCompatibility = JavaVersion.VERSION_17 -targetCompatibility = JavaVersion.VERSION_17 +sourceCompatibility = JavaVersion.VERSION_21 +targetCompatibility = JavaVersion.VERSION_21 archivesBaseName = project.archives_base_name version = project.mod_version @@ -30,7 +30,7 @@ processResources { tasks.withType(JavaCompile).configureEach { it.options.encoding = "UTF-8" - it.options.release = 17 + it.options.release = 21 } java { diff --git a/gradle.properties b/gradle.properties index 949e119..9340f74 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,13 +1,13 @@ org.gradle.jvmargs=-Xmx1G -minecraft_version=1.20.4 -yarn_mappings=1.20.4+build.3 +minecraft_version=1.20.6 +yarn_mappings=1.20.6+build.3 loader_version=0.15.11 # Fabric API -fabric_version=0.97.1+1.20.4 +fabric_version=0.100.0+1.20.6 -mod_version = 0.6.1+1.20.4 +mod_version = 0.6.1+1.20.6 maven_group = io.github.foundationgames archives_base_name = animatica diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index fd2c9a0..5f2b4c5 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -28,7 +28,7 @@ "depends": { "fabricloader": ">=0.11.3", "fabric": "*", - "minecraft": ["1.20.x"], - "java": ">=16" + "minecraft": ">=1.20.5", + "java": ">=21" } }