From 9918b78f69f8a2d81737549fc16c3a7a7dfd1c0c Mon Sep 17 00:00:00 2001 From: dima_dencep Date: Sun, 17 May 2026 02:54:21 +0700 Subject: [PATCH 1/2] initial --- build.gradle | 32 +++++++++++++++++++ gradle.properties | 4 +-- .../fabric/BendableCuboidsModFabric.java | 2 ++ src/fabric/resources/fabric.mod.json | 4 +-- .../bendable_cuboids/BendableCuboidsMod.java | 2 ++ .../bendable_cuboids/ModMixinPlugin.java | 2 ++ .../bendable_cuboids/api/IMutableModel.java | 2 ++ .../impl/compatibility/SkinLayersCompat.java | 2 ++ .../neoforge/BendableCuboidsModNeo.java | 2 ++ .../resources/META-INF/neoforge.mods.toml | 4 +-- 10 files changed, 50 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index 75e6658..606c78e 100644 --- a/build.gradle +++ b/build.gradle @@ -196,6 +196,38 @@ publishing { mavenMain(MavenPublication) { artifactId = "BendableCuboidsMerged" + pom { + name = artifactId + description = "Adds model cubes that can be bent, for example like arms in MC Story Mode!" + url = "https://github.com/PlayerAnimationLibrary/BendableCuboids" + + developers { + developer { + id = "dima_dencep" + name = "dima_dencep" + email = "dima_dencep@redlance.org" + } + developer { + id = "zigythebird" + name = "ZigyTheBird" + email = "imanyarandi222@gmail.com" + } + } + + licenses { + license { + name = "MIT" + url = "https://github.com/PlayerAnimationLibrary/BendableCuboids/blob/HEAD/LICENSE" + } + } + + scm { + connection = "scm:git:github.com/PlayerAnimationLibrary/BendableCuboids.git" + developerConnection = "scm:git:github.com/PlayerAnimationLibrary/BendableCuboids.git" + url = "https://github.com/PlayerAnimationLibrary/BendableCuboids.git" + } + } + artifact shadowJar artifact mergedSourcesJar } diff --git a/gradle.properties b/gradle.properties index f670076..19f2770 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ org.gradle.jvmargs=-Xmx4G org.gradle.parallel=true # Mod properties -mod_version = 2.0.2 +mod_version = 2.0.2+dev maven_group = com.zigythebird.bendable_cuboids archives_base_name = BendableCuboids @@ -13,4 +13,4 @@ minecraft_version = 26.1.2 # Dependencies fabric_loader_version = 0.19.2 neoforge_version = 26.1.2.59-beta -player_anim_version = 1.2.3+mc.26.1 +player_anim_version = 1.2.3+dev+mc.26.1 diff --git a/src/fabric/java/com/zigythebird/bendable_cuboids/fabric/BendableCuboidsModFabric.java b/src/fabric/java/com/zigythebird/bendable_cuboids/fabric/BendableCuboidsModFabric.java index 6ead177..ef93465 100644 --- a/src/fabric/java/com/zigythebird/bendable_cuboids/fabric/BendableCuboidsModFabric.java +++ b/src/fabric/java/com/zigythebird/bendable_cuboids/fabric/BendableCuboidsModFabric.java @@ -1,9 +1,11 @@ package com.zigythebird.bendable_cuboids.fabric; +import com.google.j2objc.annotations.J2ObjCIncompatible; import com.zigythebird.bendable_cuboids.BendableCuboidsMod; import net.fabricmc.api.ClientModInitializer; import net.fabricmc.loader.api.FabricLoader; +@J2ObjCIncompatible public class BendableCuboidsModFabric extends BendableCuboidsMod implements ClientModInitializer { @Override public void onInitializeClient() { diff --git a/src/fabric/resources/fabric.mod.json b/src/fabric/resources/fabric.mod.json index 8fdd473..44213b5 100644 --- a/src/fabric/resources/fabric.mod.json +++ b/src/fabric/resources/fabric.mod.json @@ -12,8 +12,8 @@ ], "contributors": [], "contact": { - "sources": "https://github.com/ZigyTheBird/BendableCuboids", - "issues": "https://github.com/ZigyTheBird/BendableCuboids/issues" + "sources": "https://github.com/PlayerAnimationLibrary/BendableCuboids", + "issues": "https://github.com/PlayerAnimationLibrary/BendableCuboids/issues" }, "license": "MIT License", "environment": "client", diff --git a/src/main/java/com/zigythebird/bendable_cuboids/BendableCuboidsMod.java b/src/main/java/com/zigythebird/bendable_cuboids/BendableCuboidsMod.java index b8782f3..154ea36 100644 --- a/src/main/java/com/zigythebird/bendable_cuboids/BendableCuboidsMod.java +++ b/src/main/java/com/zigythebird/bendable_cuboids/BendableCuboidsMod.java @@ -1,9 +1,11 @@ package com.zigythebird.bendable_cuboids; +import com.google.j2objc.annotations.J2ObjCIncompatible; import com.zigythebird.bendable_cuboids.impl.compatibility.SkinLayersCompat; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@J2ObjCIncompatible public abstract class BendableCuboidsMod { public static final Logger LOGGER = LoggerFactory.getLogger("BendableCuboids"); diff --git a/src/main/java/com/zigythebird/bendable_cuboids/ModMixinPlugin.java b/src/main/java/com/zigythebird/bendable_cuboids/ModMixinPlugin.java index 3d3e66a..45879ce 100644 --- a/src/main/java/com/zigythebird/bendable_cuboids/ModMixinPlugin.java +++ b/src/main/java/com/zigythebird/bendable_cuboids/ModMixinPlugin.java @@ -1,5 +1,6 @@ package com.zigythebird.bendable_cuboids; +import com.google.j2objc.annotations.J2ObjCIncompatible; import org.objectweb.asm.tree.ClassNode; import org.spongepowered.asm.mixin.extensibility.IMixinConfigPlugin; import org.spongepowered.asm.mixin.extensibility.IMixinInfo; @@ -9,6 +10,7 @@ import java.util.List; import java.util.Set; +@J2ObjCIncompatible public class ModMixinPlugin implements IMixinConfigPlugin { @Override public boolean shouldApplyMixin(String targetClassName, String mixinClassName) { diff --git a/src/main/java/com/zigythebird/bendable_cuboids/api/IMutableModel.java b/src/main/java/com/zigythebird/bendable_cuboids/api/IMutableModel.java index 86c0b27..5a590cd 100644 --- a/src/main/java/com/zigythebird/bendable_cuboids/api/IMutableModel.java +++ b/src/main/java/com/zigythebird/bendable_cuboids/api/IMutableModel.java @@ -1,10 +1,12 @@ package com.zigythebird.bendable_cuboids.api; +import com.google.j2objc.annotations.J2ObjCIncompatible; import com.zigythebird.playeranim.animation.AvatarAnimManager; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; @ApiStatus.Internal +@J2ObjCIncompatible public interface IMutableModel { @Nullable AvatarAnimManager bc$getAnimation(); diff --git a/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/SkinLayersCompat.java b/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/SkinLayersCompat.java index dbe258c..615ec68 100644 --- a/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/SkinLayersCompat.java +++ b/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/SkinLayersCompat.java @@ -1,5 +1,6 @@ package com.zigythebird.bendable_cuboids.impl.compatibility; +import com.google.j2objc.annotations.J2ObjCIncompatible; import com.zigythebird.bendable_cuboids.BendableCuboidsMod; import com.zigythebird.bendable_cuboids.api.BendableCube; import com.zigythebird.bendable_cuboids.api.BendableModelPart; @@ -19,6 +20,7 @@ import java.util.EnumSet; import java.util.Set; +@J2ObjCIncompatible public class SkinLayersCompat implements MeshTransformerProvider, MeshTransformer { private static final Set ALL_VISIBLE = EnumSet.allOf(Direction.class); diff --git a/src/neoforge/java/com/zigythebird/bendable_cuboids/neoforge/BendableCuboidsModNeo.java b/src/neoforge/java/com/zigythebird/bendable_cuboids/neoforge/BendableCuboidsModNeo.java index 695fdfe..c387033 100644 --- a/src/neoforge/java/com/zigythebird/bendable_cuboids/neoforge/BendableCuboidsModNeo.java +++ b/src/neoforge/java/com/zigythebird/bendable_cuboids/neoforge/BendableCuboidsModNeo.java @@ -1,10 +1,12 @@ package com.zigythebird.bendable_cuboids.neoforge; +import com.google.j2objc.annotations.J2ObjCIncompatible; import com.zigythebird.bendable_cuboids.BendableCuboidsMod; import net.neoforged.api.distmarker.Dist; import net.neoforged.fml.common.Mod; import net.neoforged.fml.loading.FMLLoader; +@J2ObjCIncompatible @Mod(value = "bendable_cuboids", dist = Dist.CLIENT) public class BendableCuboidsModNeo extends BendableCuboidsMod { public BendableCuboidsModNeo() { diff --git a/src/neoforge/resources/META-INF/neoforge.mods.toml b/src/neoforge/resources/META-INF/neoforge.mods.toml index 2bf7ec3..ffa77cb 100644 --- a/src/neoforge/resources/META-INF/neoforge.mods.toml +++ b/src/neoforge/resources/META-INF/neoforge.mods.toml @@ -1,12 +1,12 @@ modLoader = "javafml" loaderVersion = "*" -issueTrackerURL = "https://github.com/ZigyTheBird/BendableCuboids/issues" +issueTrackerURL = "https://github.com/PlayerAnimationLibrary/BendableCuboids/issues" license = "MIT License" [[mods]] modId = "bendable_cuboids" version = "${version}" -displayURL = "https://github.com/ZigyTheBird/BendableCuboids" +displayURL = "https://github.com/PlayerAnimationLibrary/BendableCuboids" displayName = "Bendable Cuboids Library" authors = "Zigy, dima_dencep, KosmX" description = ''' From ba1261d1251f228c9fe55252e8500d89e9567fa9 Mon Sep 17 00:00:00 2001 From: dima_dencep Date: Sun, 17 May 2026 03:01:59 +0700 Subject: [PATCH 2/2] @AutoreleasePool --- .../com/zigythebird/bendable_cuboids/api/package-info.java | 4 ++++ .../com/zigythebird/bendable_cuboids/impl/BendableCuboid.java | 4 ++++ .../bendable_cuboids/impl/compatibility/package-info.java | 4 ++++ .../com/zigythebird/bendable_cuboids/impl/package-info.java | 4 ++++ 4 files changed, 16 insertions(+) create mode 100644 src/main/java/com/zigythebird/bendable_cuboids/api/package-info.java create mode 100644 src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/package-info.java create mode 100644 src/main/java/com/zigythebird/bendable_cuboids/impl/package-info.java diff --git a/src/main/java/com/zigythebird/bendable_cuboids/api/package-info.java b/src/main/java/com/zigythebird/bendable_cuboids/api/package-info.java new file mode 100644 index 0000000..e99477a --- /dev/null +++ b/src/main/java/com/zigythebird/bendable_cuboids/api/package-info.java @@ -0,0 +1,4 @@ +@ReflectionSupport(ReflectionSupport.Level.NATIVE_ONLY) +package com.zigythebird.bendable_cuboids.api; + +import com.google.j2objc.annotations.ReflectionSupport; \ No newline at end of file diff --git a/src/main/java/com/zigythebird/bendable_cuboids/impl/BendableCuboid.java b/src/main/java/com/zigythebird/bendable_cuboids/impl/BendableCuboid.java index 1cb76ae..480ba2c 100644 --- a/src/main/java/com/zigythebird/bendable_cuboids/impl/BendableCuboid.java +++ b/src/main/java/com/zigythebird/bendable_cuboids/impl/BendableCuboid.java @@ -1,5 +1,6 @@ package com.zigythebird.bendable_cuboids.impl; +import com.google.j2objc.annotations.AutoreleasePool; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.zigythebird.bendable_cuboids.api.BendableCube; @@ -106,6 +107,7 @@ public BendableCuboid(int texCoordU, int texCoordV, float originX, float originY } @Override + @AutoreleasePool public void compile(PoseStack.Pose pose, VertexConsumer buffer, int packedLight, int packedOverlay, int color) { if ((this.useSodiumRendering && this.bend == 0) || this.sides == null) { super.compile(pose, buffer, packedLight, packedOverlay, color); @@ -123,6 +125,7 @@ public void compile(PoseStack.Pose pose, VertexConsumer buffer, int packedLight, * @param bendValue bend value (Same as rotX) */ @Override + @AutoreleasePool public void applyBend(float bendValue) { // Don't enable bend until rotation is bigger than epsilon. // This should avoid unnecessary heavy calculations. @@ -183,6 +186,7 @@ public float getBend() { return this.bend; } + @AutoreleasePool public void iteratePositions(Function function) { if (this.positions == null) return; for (RememberingPos pos : this.positions) { diff --git a/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/package-info.java b/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/package-info.java new file mode 100644 index 0000000..e820d27 --- /dev/null +++ b/src/main/java/com/zigythebird/bendable_cuboids/impl/compatibility/package-info.java @@ -0,0 +1,4 @@ +@ReflectionSupport(ReflectionSupport.Level.NATIVE_ONLY) +package com.zigythebird.bendable_cuboids.impl.compatibility; + +import com.google.j2objc.annotations.ReflectionSupport; \ No newline at end of file diff --git a/src/main/java/com/zigythebird/bendable_cuboids/impl/package-info.java b/src/main/java/com/zigythebird/bendable_cuboids/impl/package-info.java new file mode 100644 index 0000000..682c13a --- /dev/null +++ b/src/main/java/com/zigythebird/bendable_cuboids/impl/package-info.java @@ -0,0 +1,4 @@ +@ReflectionSupport(ReflectionSupport.Level.NATIVE_ONLY) +package com.zigythebird.bendable_cuboids.impl; + +import com.google.j2objc.annotations.ReflectionSupport; \ No newline at end of file