diff --git a/src/main/java/net/krituximon/stalinium/block/ModBlocks.java b/src/main/java/net/krituximon/stalinium/block/ModBlocks.java index aa3952a..d1c2a23 100644 --- a/src/main/java/net/krituximon/stalinium/block/ModBlocks.java +++ b/src/main/java/net/krituximon/stalinium/block/ModBlocks.java @@ -17,10 +17,23 @@ public class ModBlocks { public static final DeferredRegister.Blocks BLOCKS = DeferredRegister.createBlocks(Stalinium.MODID); + public static final DeferredBlock COMPRESSED_BEDROCK = registerBlock("compressed_bedrock", + () -> new Block(BlockBehaviour.Properties.of() + .strength(50f, 1200f) + .requiresCorrectToolForDrops() + .sound(SoundType.STONE))); + + public static final DeferredBlock STALINIUM_ORE = registerBlock("stalinium_ore", + () -> new Block(BlockBehaviour.Properties.of() + .strength(5f, 6f) + .requiresCorrectToolForDrops() + .sound(SoundType.NETHER_ORE))); + public static final DeferredBlock STALINIUM_BLOCK = registerBlock("stalinium_block", () -> new Block(BlockBehaviour.Properties.of() - .strength(5f).requiresCorrectToolForDrops().sound(SoundType.NETHERITE_BLOCK))); - + .strength(10f, 15f) + .requiresCorrectToolForDrops() + .sound(SoundType.NETHERITE_BLOCK))); private static DeferredBlock registerBlock(String name, Supplier block) { DeferredBlock toReturn = BLOCKS.register(name, block); @@ -35,4 +48,4 @@ public class ModBlocks { public static void register(IEventBus eventBus) { BLOCKS.register(eventBus); } -} +} \ No newline at end of file diff --git a/src/main/java/net/krituximon/stalinium/datagen/DataGenerators.java b/src/main/java/net/krituximon/stalinium/datagen/DataGenerators.java index bc0469d..47ea3ee 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/DataGenerators.java +++ b/src/main/java/net/krituximon/stalinium/datagen/DataGenerators.java @@ -25,17 +25,15 @@ public class DataGenerators { ExistingFileHelper existingFileHelper = event.getExistingFileHelper(); CompletableFuture lookupProvider = event.getLookupProvider(); - generator.addProvider(event.includeServer(), new LootTableProvider(packOutput, Collections.emptySet(), - List.of(new LootTableProvider.SubProviderEntry(ModBlockLootTableProvider::new, LootContextParamSets.BLOCK)), lookupProvider)); + generator.addProvider(event.includeServer(), new LootTableProvider(packOutput, Collections.emptySet(), List.of(new LootTableProvider.SubProviderEntry(ModBlockLootTableProvider::new, LootContextParamSets.BLOCK)), lookupProvider)); generator.addProvider(event.includeServer(), new ModRecipeProvider(packOutput, lookupProvider)); BlockTagsProvider blockTagsProvider = new ModBlockTagProvider(packOutput, lookupProvider, existingFileHelper); generator.addProvider(event.includeServer(), blockTagsProvider); generator.addProvider(event.includeServer(), new ModItemTagProvider(packOutput, lookupProvider, blockTagsProvider.contentsGetter(), existingFileHelper)); - - generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper)); generator.addProvider(event.includeClient(), new ModBlockStateProvider(packOutput, existingFileHelper)); + generator.addProvider(event.includeClient(), new ModItemModelProvider(packOutput, existingFileHelper)); generator.addProvider(event.includeServer(), new ModDatapackProvider(packOutput, lookupProvider)); } } diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModBlockLootTableProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModBlockLootTableProvider.java index e28ae32..2c2f15e 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModBlockLootTableProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModBlockLootTableProvider.java @@ -25,7 +25,9 @@ public class ModBlockLootTableProvider extends BlockLootSubProvider { @Override protected void generate() { + dropSelf(ModBlocks.STALINIUM_ORE.get()); dropSelf(ModBlocks.STALINIUM_BLOCK.get()); + dropSelf(ModBlocks.COMPRESSED_BEDROCK.get()); } protected LootTable.Builder createMultipleOreDrops(Block pBlock, Item item, float minDrops, float maxDrops) { diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java index 09138d1..8b7b60c 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModBlockStateProvider.java @@ -14,9 +14,15 @@ public class ModBlockStateProvider extends BlockStateProvider { @Override protected void registerStatesAndModels() { - blockWithItem(ModBlocks.STALINIUM_BLOCK); + simpleBlock(ModBlocks.COMPRESSED_BEDROCK.get(), + models().cubeAll("compressed_bedrock", modLoc("block/compressed_bedrock"))); + simpleBlock(ModBlocks.STALINIUM_ORE.get(), + models().cubeAll("stalinium_ore", modLoc("block/stalinium_ore"))); + simpleBlock(ModBlocks.STALINIUM_BLOCK.get(), + models().cubeAll("stalinium_block", modLoc("block/stalinium_block"))); } + private void blockWithItem(DeferredBlock deferredBlock) { simpleBlockWithItem(deferredBlock.get(), cubeAll(deferredBlock.get())); } diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModDatapackProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModDatapackProvider.java index 2dd792e..77a1e66 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModDatapackProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModDatapackProvider.java @@ -16,7 +16,6 @@ import java.util.concurrent.CompletableFuture; public class ModDatapackProvider extends DatapackBuiltinEntriesProvider { public static final RegistrySetBuilder BUILDER = new RegistrySetBuilder() - .add(Registries.CONFIGURED_FEATURE, ModConfiguredFeatures::bootstrap) .add(Registries.PLACED_FEATURE, ModPlacedFeatures::bootstrap) .add(NeoForgeRegistries.Keys.BIOME_MODIFIERS, ModBiomeModifiers::bootstrap); diff --git a/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java b/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java index 81c8e40..463e420 100644 --- a/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java +++ b/src/main/java/net/krituximon/stalinium/datagen/ModItemModelProvider.java @@ -13,7 +13,12 @@ public class ModItemModelProvider extends ItemModelProvider { @Override protected void registerModels() { - basicItem(ModItems.STALINIUM_INGOT.get()); - basicItem(ModItems.SOVIET_ANTHEM_MUSIC_DISC.get()); + withExistingParent("compressed_bedrock", modLoc("block/compressed_bedrock")); + withExistingParent("stalinium_ore", modLoc("block/stalinium_ore")); + withExistingParent("stalinium_block", modLoc("block/stalinium_block")); + singleTexture("stalinium_ingot", + mcLoc("item/generated"), + "layer0", + modLoc("item/stalinium_ingot")); } } diff --git a/src/main/resources/assets/stalinium/textures/block/compressed_bedrock.png b/src/main/resources/assets/stalinium/textures/block/compressed_bedrock.png new file mode 100644 index 0000000..bdc3e0d Binary files /dev/null and b/src/main/resources/assets/stalinium/textures/block/compressed_bedrock.png differ diff --git a/src/main/resources/assets/stalinium/textures/block/stalinium_ore.png b/src/main/resources/assets/stalinium/textures/block/stalinium_ore.png new file mode 100644 index 0000000..16761ac Binary files /dev/null and b/src/main/resources/assets/stalinium/textures/block/stalinium_ore.png differ