From a57be844ef44c4997fd7a4ec06f2aaf081cdfec9 Mon Sep 17 00:00:00 2001 From: TheCuteFox Date: Thu, 14 Nov 2024 14:59:21 +0100 Subject: [PATCH 1/4] Workable port to 1.21.1 --- build.gradle | 8 +++--- gradle.properties | 10 ++++---- gradle/wrapper/gradle-wrapper.properties | 2 +- .../resources/vulpine.client.mixins.json | 2 +- .../talonfox/vulpine/FoxFollowPlayerGoal.java | 2 +- .../talonfox/vulpine/FoxVariantTexture.java | 20 +++++++-------- .../java/sh/talonfox/vulpine/Vulpine.java | 9 +++++-- .../vulpine/mixin/FoxEntityMixin.java | 8 +++--- .../talonfox/vulpine/mixin/FoxTypeMixin.java | 24 +++++++++++++----- .../fox/{cross_eep.png => cross_sleep.png} | Bin .../fox/{gray_eep.png => gray_sleep.png} | Bin .../fox/{silver_eep.png => silver_sleep.png} | Bin .../fox/{talon_eep.png => talon_sleep.png} | Bin src/main/resources/fabric.mod.json | 6 ++--- src/main/resources/vulpine.mixins.json | 2 +- 15 files changed, 55 insertions(+), 38 deletions(-) rename src/main/resources/assets/vulpine/textures/entity/fox/{cross_eep.png => cross_sleep.png} (100%) rename src/main/resources/assets/vulpine/textures/entity/fox/{gray_eep.png => gray_sleep.png} (100%) rename src/main/resources/assets/vulpine/textures/entity/fox/{silver_eep.png => silver_sleep.png} (100%) rename src/main/resources/assets/vulpine/textures/entity/fox/{talon_eep.png => talon_sleep.png} (100%) diff --git a/build.gradle b/build.gradle index 67146bf..7472b5a 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'fabric-loom' version '1.3-SNAPSHOT' + id 'fabric-loom' version '1.8-SNAPSHOT' id 'maven-publish' } @@ -56,7 +56,7 @@ processResources { } tasks.withType(JavaCompile).configureEach { - it.options.release = 17 + it.options.release = 21 } java { @@ -65,8 +65,8 @@ java { // If you remove this line, sources will not be generated. withSourcesJar() - sourceCompatibility = JavaVersion.VERSION_17 - targetCompatibility = JavaVersion.VERSION_17 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } jar { diff --git a/gradle.properties b/gradle.properties index 941d1f6..ae82bb8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,14 +4,14 @@ org.gradle.parallel=true # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=1.20.1 -yarn_mappings=1.20.1+build.10 -loader_version=0.14.21 +minecraft_version=1.21.1 +yarn_mappings=1.21.1+build.3 +loader_version=0.16.9 # Mod Properties -mod_version=1.0.1 +mod_version=2.0.0 maven_group=sh.talonfox.vulpine archives_base_name=vulpine # Dependencies -fabric_version=0.86.1+1.20.1 \ No newline at end of file +fabric_version=0.108.0+1.21.1 \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 62f495d..94113f2 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/src/client/resources/vulpine.client.mixins.json b/src/client/resources/vulpine.client.mixins.json index d218965..a8242b3 100644 --- a/src/client/resources/vulpine.client.mixins.json +++ b/src/client/resources/vulpine.client.mixins.json @@ -1,7 +1,7 @@ { "required": true, "package": "sh.talonfox.vulpine.mixin.client", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_21", "client": [ "FoxEntityModelMixin", "FoxEntityRendererMixin", diff --git a/src/main/java/sh/talonfox/vulpine/FoxFollowPlayerGoal.java b/src/main/java/sh/talonfox/vulpine/FoxFollowPlayerGoal.java index 52cc63f..3492ce8 100644 --- a/src/main/java/sh/talonfox/vulpine/FoxFollowPlayerGoal.java +++ b/src/main/java/sh/talonfox/vulpine/FoxFollowPlayerGoal.java @@ -115,7 +115,7 @@ private boolean tryTeleportTo(int x, int y, int z) { } private boolean canTeleportTo(BlockPos pos) { - PathNodeType pathNodeType = LandPathNodeMaker.getLandNodeType(this.fop.getWorld(), pos.mutableCopy()); + PathNodeType pathNodeType = LandPathNodeMaker.getLandNodeType(fop, pos.mutableCopy()); if (pathNodeType != PathNodeType.WALKABLE) { return false; } diff --git a/src/main/java/sh/talonfox/vulpine/FoxVariantTexture.java b/src/main/java/sh/talonfox/vulpine/FoxVariantTexture.java index 2c1b7ef..037d883 100644 --- a/src/main/java/sh/talonfox/vulpine/FoxVariantTexture.java +++ b/src/main/java/sh/talonfox/vulpine/FoxVariantTexture.java @@ -7,29 +7,29 @@ public class FoxVariantTexture { public static HashMap foxTextures = new HashMap<>(); - public static final FoxVariantTexture TALON = new FoxVariantTexture(new Identifier("vulpine","talon"), new Identifier("vulpine","talon_eep")); + public static final FoxVariantTexture TALON = new FoxVariantTexture(Identifier.of("vulpine","talon"), Identifier.of("vulpine","talon_seep")); public final Identifier normalTexture; - public final Identifier eepTexture; + public final Identifier sleepTexture; - private FoxVariantTexture(Identifier normalTexture, Identifier eepTexture) { - this.normalTexture = new Identifier(normalTexture.getNamespace(), "textures/entity/fox/" + normalTexture.getPath() + ".png"); - this.eepTexture = new Identifier(eepTexture.getNamespace(), "textures/entity/fox/" + eepTexture.getPath() + ".png"); + private FoxVariantTexture(Identifier normalTexture, Identifier sleepTexture) { + this.normalTexture = Identifier.of(normalTexture.getNamespace(), "textures/entity/fox/" + normalTexture.getPath() + ".png"); + this.sleepTexture = Identifier.of(sleepTexture.getNamespace(), "textures/entity/fox/" + sleepTexture.getPath() + ".png"); } public static Identifier getTexture(FoxEntity fox) { if("Talon".equals(fox.getName().getString())) { - return fox.isSleeping()?TALON.eepTexture:TALON.normalTexture; + return fox.isSleeping()?TALON.sleepTexture :TALON.normalTexture; } if(foxTextures.containsKey(fox.getVariant())) { - return fox.isSleeping()?foxTextures.get(fox.getVariant()).eepTexture:foxTextures.get(fox.getVariant()).normalTexture; + return fox.isSleeping()?foxTextures.get(fox.getVariant()).sleepTexture :foxTextures.get(fox.getVariant()).normalTexture; } return null; } public static void init() { - foxTextures.put(Vulpine.SILVER_FOX,new FoxVariantTexture(new Identifier("vulpine","silver"),new Identifier("vulpine","silver_eep"))); - foxTextures.put(Vulpine.GRAY_FOX,new FoxVariantTexture(new Identifier("vulpine","gray"),new Identifier("vulpine","gray_eep"))); - foxTextures.put(Vulpine.CROSS_FOX,new FoxVariantTexture(new Identifier("vulpine","cross"),new Identifier("vulpine","cross_eep"))); + foxTextures.put(Vulpine.SILVER_FOX,new FoxVariantTexture(Identifier.of("vulpine","silver"),Identifier.of("vulpine","silver_sleep"))); + foxTextures.put(Vulpine.GRAY_FOX,new FoxVariantTexture(Identifier.of("vulpine","gray"),Identifier.of("vulpine","gray_sleep"))); + foxTextures.put(Vulpine.CROSS_FOX,new FoxVariantTexture(Identifier.of("vulpine","cross"),Identifier.of("vulpine","cross_sleep"))); } } diff --git a/src/main/java/sh/talonfox/vulpine/Vulpine.java b/src/main/java/sh/talonfox/vulpine/Vulpine.java index 8c834ab..d597078 100644 --- a/src/main/java/sh/talonfox/vulpine/Vulpine.java +++ b/src/main/java/sh/talonfox/vulpine/Vulpine.java @@ -23,18 +23,23 @@ public class Vulpine implements ModInitializer { public static final Logger LOGGER = LoggerFactory.getLogger("vulpine"); - public static final TrackedData TAME_PROGRESS = DataTracker.registerData(net.minecraft.entity.passive.FoxEntity.class, TrackedDataHandlerRegistry.INTEGER); + public static final TrackedData TAME_PROGRESS = DataTracker.registerData(FoxEntity.class, TrackedDataHandlerRegistry.INTEGER); public static FoxEntity.Type SILVER_FOX = null; public static FoxEntity.Type GRAY_FOX = null; public static FoxEntity.Type CROSS_FOX = null; - public static ArrayList foxes = null; + public static ArrayList foxes = new ArrayList<>(); + static { + foxes.add(FoxEntity.Type.RED); + foxes.add(FoxEntity.Type.SNOW); + } @Override public void onInitialize() { } + public static void addFoxGoals(FoxEntity entity, int tameProgress) { if(tameProgress == 4) { entity.goalSelector.add(1, new FoxSitGoal(entity)); diff --git a/src/main/java/sh/talonfox/vulpine/mixin/FoxEntityMixin.java b/src/main/java/sh/talonfox/vulpine/mixin/FoxEntityMixin.java index 2648584..6dd0d32 100644 --- a/src/main/java/sh/talonfox/vulpine/mixin/FoxEntityMixin.java +++ b/src/main/java/sh/talonfox/vulpine/mixin/FoxEntityMixin.java @@ -4,6 +4,7 @@ import net.minecraft.entity.EntityType; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.ai.goal.*; +import net.minecraft.entity.data.DataTracker; import net.minecraft.entity.passive.*; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.nbt.NbtCompound; @@ -22,6 +23,7 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; +import org.spongepowered.asm.mixin.injection.callback.LocalCapture; import sh.talonfox.vulpine.Vulpine; import java.util.UUID; @@ -44,9 +46,9 @@ protected FoxEntityMixin(EntityType entityType, World wo super(entityType, world); } - @Inject(at = @At("TAIL"), method = "initDataTracker()V") - protected void addTameProgressTracker(CallbackInfo ci) { - ((FoxEntity) (Object) this).getDataTracker().startTracking(Vulpine.TAME_PROGRESS, 0); + @Inject(at = @At("TAIL"), method = "initDataTracker", locals = LocalCapture.CAPTURE_FAILHARD) + protected void addTameProgressTracker(DataTracker.Builder builder, CallbackInfo ci) { + builder.add(Vulpine.TAME_PROGRESS, 0); } @Inject(method = "writeCustomDataToNbt", at = @At("TAIL")) diff --git a/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java b/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java index 73edbc2..4ddfcf2 100644 --- a/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java +++ b/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java @@ -9,6 +9,7 @@ import java.util.ArrayList; +import static sh.talonfox.vulpine.Vulpine.SILVER_FOX; import static sh.talonfox.vulpine.Vulpine.foxes; @SuppressWarnings("unused") @@ -19,14 +20,16 @@ private static FoxEntity.Type makeVariant(String enumName, int ordinal, int id, throw new AssertionError(); } + /** * @author TalonFox * @reason To allow us to add new fox variants */ @Overwrite public static FoxEntity.Type[] values() { - if(foxes == null) { - foxes = new ArrayList<>(); + FoxEntity.toGrowUpAge(0); + if(Vulpine.SILVER_FOX == null) { + /*foxes = new ArrayList<>(); foxes.add(FoxEntity.Type.RED); foxes.add(FoxEntity.Type.SNOW); Vulpine.SILVER_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("SILVER",2,2, "silver"); @@ -35,13 +38,20 @@ public static FoxEntity.Type[] values() { foxes.add(Vulpine.SILVER_FOX); foxes.add(Vulpine.GRAY_FOX); foxes.add(Vulpine.CROSS_FOX); + FoxVariantTexture.init();*/ + Vulpine.SILVER_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("SILVER",2,2, "silver"); + Vulpine.GRAY_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("GRAY",3,3, "gray"); + Vulpine.CROSS_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("CROSS",4,4, "cross"); + foxes.add(Vulpine.SILVER_FOX); + foxes.add(Vulpine.GRAY_FOX); + foxes.add(Vulpine.CROSS_FOX); FoxVariantTexture.init(); } - FoxEntity.Type[] fops = new FoxEntity.Type[foxes.size()]; - for(FoxEntity.Type fop : foxes) { - fops[fop.getId()] = fop; - } - return fops; + //FoxEntity.Type[] fops = new FoxEntity.Type[foxes.size()]; + //for(FoxEntity.Type fop : foxes) { + // fops[fop.getId()] = fop; + //} + return foxes.stream().toArray(FoxEntity.Type[]::new); } public FoxEntity.Type vulpine$newFoxVariant(String enumName, int ordinal, int id, String typeName) { diff --git a/src/main/resources/assets/vulpine/textures/entity/fox/cross_eep.png b/src/main/resources/assets/vulpine/textures/entity/fox/cross_sleep.png similarity index 100% rename from src/main/resources/assets/vulpine/textures/entity/fox/cross_eep.png rename to src/main/resources/assets/vulpine/textures/entity/fox/cross_sleep.png diff --git a/src/main/resources/assets/vulpine/textures/entity/fox/gray_eep.png b/src/main/resources/assets/vulpine/textures/entity/fox/gray_sleep.png similarity index 100% rename from src/main/resources/assets/vulpine/textures/entity/fox/gray_eep.png rename to src/main/resources/assets/vulpine/textures/entity/fox/gray_sleep.png diff --git a/src/main/resources/assets/vulpine/textures/entity/fox/silver_eep.png b/src/main/resources/assets/vulpine/textures/entity/fox/silver_sleep.png similarity index 100% rename from src/main/resources/assets/vulpine/textures/entity/fox/silver_eep.png rename to src/main/resources/assets/vulpine/textures/entity/fox/silver_sleep.png diff --git a/src/main/resources/assets/vulpine/textures/entity/fox/talon_eep.png b/src/main/resources/assets/vulpine/textures/entity/fox/talon_sleep.png similarity index 100% rename from src/main/resources/assets/vulpine/textures/entity/fox/talon_eep.png rename to src/main/resources/assets/vulpine/textures/entity/fox/talon_sleep.png diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 424ad3c..45585e9 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -30,9 +30,9 @@ ], "accessWidener" : "vulpine.accesswidener", "depends": { - "fabricloader": ">=0.14.21", - "minecraft": "~1.20.1", - "java": ">=17", + "fabricloader": ">=0.16.9", + "minecraft": "~1.21.1", + "java": ">=21", "fabric-api": "*" } } \ No newline at end of file diff --git a/src/main/resources/vulpine.mixins.json b/src/main/resources/vulpine.mixins.json index 966b1a0..2025c7d 100644 --- a/src/main/resources/vulpine.mixins.json +++ b/src/main/resources/vulpine.mixins.json @@ -1,7 +1,7 @@ { "required": true, "package": "sh.talonfox.vulpine.mixin", - "compatibilityLevel": "JAVA_17", + "compatibilityLevel": "JAVA_21", "mixins": [ "FoxEntityMateGoalMixin", "FoxEntityMixin", From 4f93c6a8df61f4fe441dd076596d877546b8ea80 Mon Sep 17 00:00:00 2001 From: TheCuteFox Date: Thu, 14 Nov 2024 15:47:32 +0100 Subject: [PATCH 2/4] Add info on hacky workaround --- .../talonfox/vulpine/mixin/FoxTypeMixin.java | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java b/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java index 4ddfcf2..fa3adfa 100644 --- a/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java +++ b/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java @@ -27,18 +27,9 @@ private static FoxEntity.Type makeVariant(String enumName, int ordinal, int id, */ @Overwrite public static FoxEntity.Type[] values() { + //don't remove this line. It's a hacky way to ensure that TrackedData regiser in correct order. FoxEntity.toGrowUpAge(0); if(Vulpine.SILVER_FOX == null) { - /*foxes = new ArrayList<>(); - foxes.add(FoxEntity.Type.RED); - foxes.add(FoxEntity.Type.SNOW); - Vulpine.SILVER_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("SILVER",2,2, "silver"); - Vulpine.GRAY_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("GRAY",3,3, "gray"); - Vulpine.CROSS_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("CROSS",4,4, "cross"); - foxes.add(Vulpine.SILVER_FOX); - foxes.add(Vulpine.GRAY_FOX); - foxes.add(Vulpine.CROSS_FOX); - FoxVariantTexture.init();*/ Vulpine.SILVER_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("SILVER",2,2, "silver"); Vulpine.GRAY_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("GRAY",3,3, "gray"); Vulpine.CROSS_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("CROSS",4,4, "cross"); @@ -47,11 +38,11 @@ public static FoxEntity.Type[] values() { foxes.add(Vulpine.CROSS_FOX); FoxVariantTexture.init(); } - //FoxEntity.Type[] fops = new FoxEntity.Type[foxes.size()]; - //for(FoxEntity.Type fop : foxes) { - // fops[fop.getId()] = fop; - //} - return foxes.stream().toArray(FoxEntity.Type[]::new); + FoxEntity.Type[] fops = new FoxEntity.Type[foxes.size()]; + for(FoxEntity.Type fop : foxes) { + fops[fop.getId()] = fop; + } + return fops; } public FoxEntity.Type vulpine$newFoxVariant(String enumName, int ordinal, int id, String typeName) { From 1d719cbfce823b76b04a91f8407f25874bc77c97 Mon Sep 17 00:00:00 2001 From: TheCuteFox Date: Thu, 14 Nov 2024 15:47:32 +0100 Subject: [PATCH 3/4] Add info on hacky workaround --- .../talonfox/vulpine/mixin/FoxTypeMixin.java | 21 ++++++------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java b/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java index 4ddfcf2..fa3adfa 100644 --- a/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java +++ b/src/main/java/sh/talonfox/vulpine/mixin/FoxTypeMixin.java @@ -27,18 +27,9 @@ private static FoxEntity.Type makeVariant(String enumName, int ordinal, int id, */ @Overwrite public static FoxEntity.Type[] values() { + //don't remove this line. It's a hacky way to ensure that TrackedData regiser in correct order. FoxEntity.toGrowUpAge(0); if(Vulpine.SILVER_FOX == null) { - /*foxes = new ArrayList<>(); - foxes.add(FoxEntity.Type.RED); - foxes.add(FoxEntity.Type.SNOW); - Vulpine.SILVER_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("SILVER",2,2, "silver"); - Vulpine.GRAY_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("GRAY",3,3, "gray"); - Vulpine.CROSS_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("CROSS",4,4, "cross"); - foxes.add(Vulpine.SILVER_FOX); - foxes.add(Vulpine.GRAY_FOX); - foxes.add(Vulpine.CROSS_FOX); - FoxVariantTexture.init();*/ Vulpine.SILVER_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("SILVER",2,2, "silver"); Vulpine.GRAY_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("GRAY",3,3, "gray"); Vulpine.CROSS_FOX = IFoxTypeCreator.class.cast(FoxEntity.Type.RED).vulpine$newFoxVariant("CROSS",4,4, "cross"); @@ -47,11 +38,11 @@ public static FoxEntity.Type[] values() { foxes.add(Vulpine.CROSS_FOX); FoxVariantTexture.init(); } - //FoxEntity.Type[] fops = new FoxEntity.Type[foxes.size()]; - //for(FoxEntity.Type fop : foxes) { - // fops[fop.getId()] = fop; - //} - return foxes.stream().toArray(FoxEntity.Type[]::new); + FoxEntity.Type[] fops = new FoxEntity.Type[foxes.size()]; + for(FoxEntity.Type fop : foxes) { + fops[fop.getId()] = fop; + } + return fops; } public FoxEntity.Type vulpine$newFoxVariant(String enumName, int ordinal, int id, String typeName) { From 49ab23f5c9a92402512ed3306f690eaca873a831 Mon Sep 17 00:00:00 2001 From: TheCuteFox Date: Thu, 14 Nov 2024 18:49:02 +0100 Subject: [PATCH 4/4] Modified workflow to run on Java 21 --- .github/workflows/build.yml | 4 ++-- .gitignore | 2 ++ build.gradle | 4 ++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2ca3795..0900f62 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ jobs: matrix: # Use these Java versions java: [ - 17, # Current Java LTS & minimum supported by Minecraft + 21, # Current Java LTS & minimum supported by Minecraft ] # and run on both Linux and Windows os: [ubuntu-22.04, windows-2022] @@ -33,7 +33,7 @@ jobs: - name: build run: ./gradlew build - name: capture build artifacts - if: ${{ runner.os == 'Linux' && matrix.java == '17' }} # Only upload artifacts built from latest java on one OS + if: ${{ runner.os == 'Linux' && matrix.java == '21' }} # Only upload artifacts built from latest java on one OS uses: actions/upload-artifact@v3 with: name: Artifacts diff --git a/.gitignore b/.gitignore index c476faf..403cee9 100644 --- a/.gitignore +++ b/.gitignore @@ -38,3 +38,5 @@ hs_err_*.log replay_*.log *.hprof *.jfr + +src/main/generated/.cache/ diff --git a/build.gradle b/build.gradle index 7472b5a..f4d719b 100644 --- a/build.gradle +++ b/build.gradle @@ -75,6 +75,10 @@ jar { } } +fabricApi { + configureDataGeneration() +} + // configure the maven publication publishing { publications {