From 4a173da96a8ea1c58290ec7be3a3a2147ead4850 Mon Sep 17 00:00:00 2001 From: IM23a-spirgif Date: Tue, 27 May 2025 16:04:27 +0200 Subject: [PATCH] Added blockstate JSON and model configuration for Stalinium Press, enhancing support for the new block. Updated Gradle build script to exclude duplicate resources during processing. --- build.gradle | 4 ++++ .../stalinium/datagen/ModBlockStateProvider.java | 11 +++++++++++ .../assets/stalinium/blockstates/stalinium_press.json | 5 +++++ 3 files changed, 20 insertions(+) create mode 100644 src/main/resources/assets/stalinium/blockstates/stalinium_press.json diff --git a/build.gradle b/build.gradle index 80cc778..4501170 100644 --- a/build.gradle +++ b/build.gradle @@ -25,6 +25,10 @@ base { archivesName = mod_id } +tasks.processResources { + duplicatesStrategy = DuplicatesStrategy.EXCLUDE +} + // Mojang ships Java 21 to end users starting in 1.20.5, so mods should target Java 21. java.toolchain.languageVersion = JavaLanguageVersion.of(21) diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java index a81d8d7..4a8d722 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java @@ -4,6 +4,8 @@ import net.krituximon.stalinium.block.ModBlocks; import net.krituximon.stalinium.Stalinium; import net.minecraft.data.PackOutput; import net.neoforged.neoforge.client.model.generators.BlockStateProvider; +import net.neoforged.neoforge.client.model.generators.ConfiguredModel; +import net.neoforged.neoforge.client.model.generators.ModelFile; import net.neoforged.neoforge.common.data.ExistingFileHelper; import net.neoforged.neoforge.registries.DeferredBlock; @@ -17,6 +19,15 @@ public class ModBlockStateProvider extends BlockStateProvider { blockWithItem(ModBlocks.COMPRESSED_BEDROCK); blockWithItem(ModBlocks.STALINIUM_BLOCK); blockWithItem(ModBlocks.STALINIUM_ORE); + ModelFile pressModel = models() + .getBuilder("stalinium_press") + .parent(new ModelFile.UncheckedModelFile(modLoc("block/stalinium_press"))); + getVariantBuilder(ModBlocks.STALINIUM_PRESS.get()) + .forAllStates(state -> ConfiguredModel.builder() + .modelFile(pressModel) + .build()); + simpleBlockItem(ModBlocks.STALINIUM_PRESS.get(), pressModel); + } diff --git a/src/main/resources/assets/stalinium/blockstates/stalinium_press.json b/src/main/resources/assets/stalinium/blockstates/stalinium_press.json new file mode 100644 index 0000000..c4beb37 --- /dev/null +++ b/src/main/resources/assets/stalinium/blockstates/stalinium_press.json @@ -0,0 +1,5 @@ +{ + "variants": { + "": { "model": "stalinium:block/stalinium_press" } + } +} \ No newline at end of file