diff --git a/gradle.properties b/gradle.properties index a0c413a..1811633 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,7 +6,7 @@ minecraft_version=1.20.1 yarn_mappings=1.20.1+build.10 loader_version=0.18.3 # Mod Properties -mod_version=26.4.13.2 +mod_version=26.4.13.3 maven_group=dev.tggamesyt archives_base_name=szar # Dependencies diff --git a/src/client/java/dev/tggamesyt/szar/client/SzarDataGenerator.java b/src/client/java/dev/tggamesyt/szar/client/SzarDataGenerator.java index b92703c..8ab3f80 100644 --- a/src/client/java/dev/tggamesyt/szar/client/SzarDataGenerator.java +++ b/src/client/java/dev/tggamesyt/szar/client/SzarDataGenerator.java @@ -1,14 +1,12 @@ package dev.tggamesyt.szar.client; -import dev.tggamesyt.szar.ModItemTagProvider; -import dev.tggamesyt.szar.ModPoiTagProvider; -import dev.tggamesyt.szar.ModWorldGenerator; -import dev.tggamesyt.szar.Szar; +import dev.tggamesyt.szar.*; import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint; import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.block.Block; import net.minecraft.registry.RegistryBuilder; import net.minecraft.registry.RegistryKeys; -import net.minecraft.registry.RegistryWrapper; public class SzarDataGenerator implements DataGeneratorEntrypoint { @@ -16,12 +14,17 @@ public class SzarDataGenerator implements DataGeneratorEntrypoint { public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) { FabricDataGenerator.Pack pack = fabricDataGenerator.createPack(); pack.addProvider(ModPoiTagProvider::new); - pack.addProvider(ModItemTagProvider::new); pack.addProvider(ModWorldGenerator::new); + FabricTagProvider blockTags = + pack.addProvider(ModBlockTagProvider::new); + pack.addProvider((output, registries) -> + new ModItemTagProvider(output, registries, blockTags)); + } @Override public void buildRegistry(RegistryBuilder registryBuilder) { registryBuilder.addRegistry(RegistryKeys.CONFIGURED_FEATURE, Szar.ModConfiguredFeatures::boostrap); registryBuilder.addRegistry(RegistryKeys.PLACED_FEATURE, Szar.ModPlacedFeatures::boostrap); + registryBuilder.addRegistry(RegistryKeys.BIOME, ModBiomes::bootstrap); } } diff --git a/src/main/generated/.cache/0dcec3edc46b99b91b10474633480b6842e700fc b/src/main/generated/.cache/0dcec3edc46b99b91b10474633480b6842e700fc index 50adbf0..1536a31 100644 --- a/src/main/generated/.cache/0dcec3edc46b99b91b10474633480b6842e700fc +++ b/src/main/generated/.cache/0dcec3edc46b99b91b10474633480b6842e700fc @@ -1,3 +1,3 @@ -// 1.20.1 2026-03-16T18:04:06.196888 szar/World Gen +// 1.20.1 2026-04-13T18:11:43.5891441 szar/World Gen 1d26b5da3b0a2ea6b23d456d1f0b82455a788ca1 data\szar\worldgen\configured_feature\uranium_ore.json 32864170bdb41310f9ee5d06f5720dfdb3badb6d data\szar\worldgen\placed_feature\uranium_ore_placed.json diff --git a/src/main/generated/.cache/3a1651b50f91e5e7206a47e473093a0062d49bea b/src/main/generated/.cache/3a1651b50f91e5e7206a47e473093a0062d49bea new file mode 100644 index 0000000..c7ef6e9 --- /dev/null +++ b/src/main/generated/.cache/3a1651b50f91e5e7206a47e473093a0062d49bea @@ -0,0 +1 @@ +// 1.20.1 2026-04-13T18:11:43.5911498 szar/Tags for minecraft:block diff --git a/src/main/generated/.cache/79d6404f7b0803346bb38c848032926817f10037 b/src/main/generated/.cache/79d6404f7b0803346bb38c848032926817f10037 index c246a63..979f9ab 100644 --- a/src/main/generated/.cache/79d6404f7b0803346bb38c848032926817f10037 +++ b/src/main/generated/.cache/79d6404f7b0803346bb38c848032926817f10037 @@ -1,2 +1,2 @@ -// 1.20.1 2026-03-16T18:04:06.197868 szar/Tags for minecraft:point_of_interest_type +// 1.20.1 2026-04-13T18:11:43.5911498 szar/Tags for minecraft:point_of_interest_type eba137b51c50a7143a3668876f41adaa1447b1d1 data\minecraft\tags\point_of_interest_type\acquirable_job_site.json diff --git a/src/main/generated/.cache/e8da7d0da6535b734ad1b062d141fd76f701db77 b/src/main/generated/.cache/e8da7d0da6535b734ad1b062d141fd76f701db77 index cf4574d..0ec6318 100644 --- a/src/main/generated/.cache/e8da7d0da6535b734ad1b062d141fd76f701db77 +++ b/src/main/generated/.cache/e8da7d0da6535b734ad1b062d141fd76f701db77 @@ -1,2 +1,3 @@ -// 1.20.1 2026-03-16T18:04:06.196888 szar/Tags for minecraft:item -8a0ecda725173a6312a3e5d3a4b621cdecac4eed data\minecraft\tags\items\music_discs.json +// 1.20.1 2026-04-13T18:11:43.5901497 szar/Tags for minecraft:item +edfcd4a53e9627b3d636880f560f9adfa0dc0cdc data\minecraft\tags\items\music_discs.json +aa4e63a06745e574bbe80e94cc1b417460045562 data\minecraft\tags\items\beacon_base_blocks.json diff --git a/src/main/generated/data/minecraft/tags/items/beacon_base_blocks.json b/src/main/generated/data/minecraft/tags/items/beacon_base_blocks.json new file mode 100644 index 0000000..f0ae191 --- /dev/null +++ b/src/main/generated/data/minecraft/tags/items/beacon_base_blocks.json @@ -0,0 +1,13 @@ +{ + "replace": false, + "values": [ + "minecraft:iron_block", + "minecraft:gold_block", + "minecraft:diamond_block", + "minecraft:emerald_block", + "minecraft:netherite_block", + "minecraft:lapis_block", + "szar:niggerite_block", + "szar:cigany" + ] +} \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/ModBiomes.java b/src/main/java/dev/tggamesyt/szar/ModBiomes.java new file mode 100644 index 0000000..d8315c0 --- /dev/null +++ b/src/main/java/dev/tggamesyt/szar/ModBiomes.java @@ -0,0 +1,41 @@ +package dev.tggamesyt.szar; + +import net.minecraft.entity.SpawnGroup; +import net.minecraft.registry.Registerable; +import net.minecraft.sound.BiomeMoodSound; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeEffects; +import net.minecraft.world.biome.GenerationSettings; +import net.minecraft.world.biome.SpawnSettings; + +public class ModBiomes { + + public static void bootstrap(Registerable context) { + context.register(Szar.CHORUS_FOREST, createChorusForest()); + } + + private static Biome createChorusForest() { + return new Biome.Builder() + .precipitation(false) + .temperature(0.5f) + .downfall(0.0f) + + .effects(new BiomeEffects.Builder() + .skyColor(0) + .fogColor(10518688) + .waterColor(4159204) + .waterFogColor(329011) + .moodSound(BiomeMoodSound.CAVE) + .build()) + + .spawnSettings(new SpawnSettings.Builder() + .creatureSpawnProbability(0.1f) + .spawn(SpawnGroup.MONSTER, + new SpawnSettings.SpawnEntry(net.minecraft.entity.EntityType.ENDERMAN, 10, 1, 4)) + .build()) + + .generationSettings(new GenerationSettings.Builder().build()) + + .build(); + } +} \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/ModBlockTagProvider.java b/src/main/java/dev/tggamesyt/szar/ModBlockTagProvider.java new file mode 100644 index 0000000..74b15e2 --- /dev/null +++ b/src/main/java/dev/tggamesyt/szar/ModBlockTagProvider.java @@ -0,0 +1,21 @@ +package dev.tggamesyt.szar; + +import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; +import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.registry.RegistryKeys;import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; + +import java.util.concurrent.CompletableFuture; + +public class ModBlockTagProvider extends FabricTagProvider.BlockTagProvider { + + public ModBlockTagProvider(FabricDataOutput output, + CompletableFuture registriesFuture) { + super(output, registriesFuture); + } + + @Override + protected void configure(RegistryWrapper.WrapperLookup lookup) { + + } +} \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/ModItemTagProvider.java b/src/main/java/dev/tggamesyt/szar/ModItemTagProvider.java index 5cf5b2c..3fd9df3 100644 --- a/src/main/java/dev/tggamesyt/szar/ModItemTagProvider.java +++ b/src/main/java/dev/tggamesyt/szar/ModItemTagProvider.java @@ -2,25 +2,44 @@ package dev.tggamesyt.szar; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.block.Block; +import net.minecraft.item.Item; +import net.minecraft.item.Items; +import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryWrapper; +import net.minecraft.registry.tag.BlockTags; import net.minecraft.registry.tag.ItemTags; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; import java.util.concurrent.CompletableFuture; public class ModItemTagProvider extends FabricTagProvider.ItemTagProvider { public ModItemTagProvider(FabricDataOutput output, - CompletableFuture completableFuture) { - super(output, completableFuture); + CompletableFuture registriesFuture, + FabricTagProvider blockTagProvider) { + super(output, registriesFuture, (BlockTagProvider) blockTagProvider); } - + public static final TagKey BEACON_BASE_BLOCKS = + TagKey.of(RegistryKeys.ITEM, new Identifier("minecraft", "beacon_base_blocks")); @Override protected void configure(RegistryWrapper.WrapperLookup lookup) { - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.POPTART); - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.BAITER_DISC); - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.EFN_DISK); - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.HELLO_DISC); - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.ERIKA_DISC); - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.USSR_DISC); - getOrCreateTagBuilder(ItemTags.MUSIC_DISCS).add(Szar.HUN_DISC); + getOrCreateTagBuilder(ItemTags.MUSIC_DISCS) + .add(Szar.POPTART) + .add(Szar.BAITER_DISC) + .add(Szar.EFN_DISK) + .add(Szar.HELLO_DISC) + .add(Szar.ERIKA_DISC) + .add(Szar.USSR_DISC) + .add(Szar.HUN_DISC); + getOrCreateTagBuilder(BEACON_BASE_BLOCKS) + .add(Items.IRON_BLOCK) + .add(Items.GOLD_BLOCK) + .add(Items.DIAMOND_BLOCK) + .add(Items.EMERALD_BLOCK) + .add(Items.NETHERITE_BLOCK) + .add(Items.LAPIS_BLOCK) + .add(Szar.NIGGERITE_BLOCK) + .add(Szar.CIGANYBLOCK); } } \ No newline at end of file diff --git a/src/main/java/dev/tggamesyt/szar/Szar.java b/src/main/java/dev/tggamesyt/szar/Szar.java index 913d8c4..7b736d3 100644 --- a/src/main/java/dev/tggamesyt/szar/Szar.java +++ b/src/main/java/dev/tggamesyt/szar/Szar.java @@ -1602,11 +1602,11 @@ public class Szar implements ModInitializer { .hunger(20) .alwaysEdible() .saturationModifier(20F) - .statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION,10, 255 ), 1F) - .statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST,120, 4 ), 1F) - .statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE,120, 8), 1F) + .statusEffect(new StatusEffectInstance(StatusEffects.REGENERATION,10*20, 255 ), 1F) + .statusEffect(new StatusEffectInstance(StatusEffects.HEALTH_BOOST,120*20, 4 ), 1F) + .statusEffect(new StatusEffectInstance(StatusEffects.RESISTANCE,120*20, 1), 1F) .build() - )) + ).rarity(Rarity.EPIC)) ); // Blocks public static final TrackerBlock TRACKER_BLOCK = Registry.register( diff --git a/src/main/resources/assets/szar/textures/item/super_apple.png b/src/main/resources/assets/szar/textures/item/super_apple.png index 7126abe..df9c2ed 100644 Binary files a/src/main/resources/assets/szar/textures/item/super_apple.png and b/src/main/resources/assets/szar/textures/item/super_apple.png differ diff --git a/src/main/resources/data/szar/recipes/super_beacon.json b/src/main/resources/data/szar/recipes/super_beacon.json new file mode 100644 index 0000000..d10f7cd --- /dev/null +++ b/src/main/resources/data/szar/recipes/super_beacon.json @@ -0,0 +1,26 @@ +{ + "type": "minecraft:crafting_shaped", + "pattern": [ + " E ", + "DBD", + "MMM" + ], + "key": { + "E": { + "item": "minecraft:enchanting_table" + }, + "D": { + "item": "szar:super_diamond" + }, + "B": { + "item": "minecraft:beacon" + }, + "M": { + "tag": "minecraft:beacon_base_blocks" + } + }, + "result": { + "item": "minecraft:bedrock", + "count": 1 + } +} \ No newline at end of file diff --git a/src/main/resources/data/szar/recipes/super_diamond.json b/src/main/resources/data/szar/recipes/super_diamond.json index a303f12..5319978 100644 --- a/src/main/resources/data/szar/recipes/super_diamond.json +++ b/src/main/resources/data/szar/recipes/super_diamond.json @@ -2,7 +2,7 @@ "type": "minecraft:crafting_shaped", "pattern": [ "NEN", - "EDN", + "EDE", "NEN" ], "key": { diff --git a/src/main/resources/szar.accesswidener b/src/main/resources/szar.accesswidener index 68a7e4e..acabb43 100644 --- a/src/main/resources/szar.accesswidener +++ b/src/main/resources/szar.accesswidener @@ -8,4 +8,6 @@ accessible method net/minecraft/client/render/entity/LivingEntityRenderer addFea accessible field net/minecraft/client/render/entity/EntityRenderDispatcher renderers Ljava/util/Map; accessible method net/minecraft/world/GameRules$BooleanRule create (ZLjava/util/function/BiConsumer;)Lnet/minecraft/world/GameRules$Type; accessible method net/minecraft/client/render/block/BlockModelRenderer renderQuad (Lnet/minecraft/world/BlockRenderView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/client/render/VertexConsumer;Lnet/minecraft/client/util/math/MatrixStack$Entry;Lnet/minecraft/client/render/model/BakedQuad;FFFFIIIII)V -accessible field net/minecraft/client/particle/ParticleManager world Lnet/minecraft/client/world/ClientWorld; \ No newline at end of file +accessible field net/minecraft/client/particle/ParticleManager world Lnet/minecraft/client/world/ClientWorld; + +accessible method net/minecraft/registry/tag/ItemTags of (Ljava/lang/String;)Lnet/minecraft/registry/tag/TagKey; \ No newline at end of file