diff --git a/.gitignore b/.gitignore index 05a47ee..a05127e 100755 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ bin/ # fabric run/ +/src/main/generated/.cache diff --git a/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f b/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f index af7c372..a6ec1cd 100644 --- a/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f +++ b/src/main/generated/.cache/0809c40fc61808c03cb356ec122a9518709ab04f @@ -1,4 +1,4 @@ -// 1.21 2024-09-16T20:01:04.36031781 This Rocks!/rocks +// 1.21 2024-09-17T00:30:20.766025931 This Rocks!/rocks d71c0556b644dcaf5737175f7336de62ebdbb167 data/rocks/worldgen/configured_feature/mangrove_stick.json dcc0d9933482f519f2f7e50417b78be0a515918d data/rocks/worldgen/placed_feature/soul_soil_rock.json fa2f1ffb8e1754f320b7fa507bebaecccdc48390 data/rocks/worldgen/configured_feature/spruce_stick.json @@ -8,8 +8,8 @@ fa2f1ffb8e1754f320b7fa507bebaecccdc48390 data/rocks/worldgen/configured_feature/ 9848f6c90ac79ec1021ce737f502f5f919cddc0b data/rocks/worldgen/placed_feature/acacia_stick.json 3bb5af6803e29079a3757ab026bcdedee9a3f4a3 data/rocks/worldgen/placed_feature/crimson_stick.json 7fbc9d652d5a02582c260b4c76d05566339a68a1 data/rocks/worldgen/configured_feature/granite_rock.json +91cdd883e2f96bd18ff43e0451ede59f64045d04 data/rocks/worldgen/placed_feature/rock.json 9a4bf562fe53bfcff21a39bfe6043a48986ab87d data/rocks/worldgen/placed_feature/sand_rock.json -683bc011a2fa35ca0a457d0eeaab4a900ee6dd55 data/rocks/worldgen/placed_feature/rock.json c33151e25a50dcc5a826e65933ab9719ad639d6d data/rocks/worldgen/placed_feature/end_stone_rock.json dbda0b9c6a571f8d5cbe47fda3cda2f8d08ff9f2 data/rocks/worldgen/configured_feature/bamboo_stick.json 3a37c1f098d280104c74d2ddff197ec9d2225f39 data/rocks/worldgen/configured_feature/diorite_rock.json @@ -19,8 +19,8 @@ ac68decd062ded192b01770ec250d76a55e76177 data/rocks/worldgen/configured_feature/ 66039045c4bce89398ae0466b1c14ca3cd68912a data/rocks/worldgen/configured_feature/warped_stick.json ae1b4c625b9387c5dfc8c1eb53c1eda353ffa712 data/rocks/worldgen/placed_feature/jungle_stick.json 6454db935e810df3ad97aa625308e827b57e115d data/rocks/worldgen/configured_feature/acacia_stick.json -5e1c33acb6043e8e33561f06650d0973382d6054 data/rocks/worldgen/placed_feature/nether_geyser.json 6b1fa178181fd3ec1138da12e220976bf11f831c data/rocks/worldgen/configured_feature/nether_gravel_rock.json +5e1c33acb6043e8e33561f06650d0973382d6054 data/rocks/worldgen/placed_feature/nether_geyser.json 16e9b2f47ac483b8f672c42a5c36194d14e7f7f7 data/rocks/worldgen/placed_feature/nether_gravel_rock.json a09aa0e744166ba6c07e640a55dcb6570c34936f data/rocks/worldgen/placed_feature/andesite_rock.json 07245b68ad42948f36707d5b83dc995ded4b3038 data/rocks/worldgen/placed_feature/seashell.json @@ -29,6 +29,7 @@ de8a64d00b10892f62b21dd3e034608836b4215b data/rocks/worldgen/configured_feature/ 26574f35fb852a572ad10c2882160b4fc280aad8 data/rocks/worldgen/configured_feature/sand_rock.json 6b1fa178181fd3ec1138da12e220976bf11f831c data/rocks/worldgen/configured_feature/gravel_rock.json 4554733520656e979093beaa05d881213ad81415 data/rocks/worldgen/configured_feature/underwater_seashell.json +63deabd85376d70de53571f72e29690d2781d6b6 data/rocks/worldgen/configured_feature/ice_rock.json a2553fb89e8382c0e04dcf3ded89ffcad51b111b data/rocks/worldgen/configured_feature/andesite_rock.json 8d525964606767ac06f52fb03e331029444d934f data/rocks/worldgen/placed_feature/snowy_geyser.json 91fa443267b7ba1d67d25466457e35cbc2123a12 data/rocks/worldgen/configured_feature/dark_oak_stick.json @@ -41,6 +42,7 @@ d0179c57f1a557cd656ebcd902bfbb57fd877e16 data/rocks/worldgen/configured_feature/ 5bc6faa179ca69a8a89cc04910f0288621ce89ea data/rocks/worldgen/configured_feature/nether_geyser.json eb9d7f31f960d8ec61122d75623acb1e2529b4fa data/rocks/worldgen/placed_feature/cherry_stick.json e36c8db5ef949c547e917e3543da41cfbe378970 data/rocks/worldgen/placed_feature/bamboo_stick.json +9faf9589496f2b0dea0c6597e0bcacbbdd18b194 data/rocks/worldgen/placed_feature/ice_rock.json 5b90945a0ecc164ea8ae165da3d2c03c74b96cc7 data/rocks/worldgen/placed_feature/birch_stick.json 384c6ad8b5505b2b9900c159f9cf9ff7e0ff7a62 data/rocks/worldgen/placed_feature/netherrack_rock.json 3543cb07163388142629427a44900841e9da1869 data/rocks/worldgen/configured_feature/soul_soil_rock.json diff --git a/src/main/generated/.cache/1fbe32a694326cbc22446c7b535df1f442a946d8 b/src/main/generated/.cache/1fbe32a694326cbc22446c7b535df1f442a946d8 index c36edd3..3abf1e8 100644 --- a/src/main/generated/.cache/1fbe32a694326cbc22446c7b535df1f442a946d8 +++ b/src/main/generated/.cache/1fbe32a694326cbc22446c7b535df1f442a946d8 @@ -1 +1 @@ -// 1.21 2024-09-16T20:01:04.361596285 This Rocks!/Tags for minecraft:block +// 1.21 2024-09-17T00:30:20.768022552 This Rocks!/Tags for minecraft:block diff --git a/src/main/generated/.cache/7df76d5247a36d2b525b52d21f61ffe0e75fec0a b/src/main/generated/.cache/7df76d5247a36d2b525b52d21f61ffe0e75fec0a index 47ac77a..baa905f 100644 --- a/src/main/generated/.cache/7df76d5247a36d2b525b52d21f61ffe0e75fec0a +++ b/src/main/generated/.cache/7df76d5247a36d2b525b52d21f61ffe0e75fec0a @@ -1,26 +1,26 @@ -// 1.21 2024-09-16T20:01:04.361779283 This Rocks!/Block Loot Tables +// 1.21 2024-09-17T00:30:20.768248467 This Rocks!/Block Loot Tables 847f71960b56bcc92eaebfb2f98818477868e56b data/rocks/loot_table/blocks/soul_soil_rock.json +f0908425c618a5483354eba1ead6a611f1fa51fb data/rocks/loot_table/blocks/birch_stick.json +cf62804400411aabc548c741280abde43a3d0d59 data/rocks/loot_table/blocks/mangrove_stick.json e9d103438e87429bf353ae9f8c72b986cfb03982 data/rocks/loot_table/blocks/oak_stick.json 0b5f09e47b168ea1605353b441cf84423e998781 data/rocks/loot_table/blocks/red_sand_rock.json 1ed5083da79cd8c0e4629b4906efcdfa7fa13f7b data/rocks/loot_table/blocks/starfish.json a943852527aa61b311a21312312cb67b0e941593 data/rocks/loot_table/blocks/crimson_stick.json 706890e011d7e0f74f575790ea9e50b55085f256 data/rocks/loot_table/blocks/spruce_stick.json a4daf8fc7c400e7c9a16f4f1392e29d35dcddc5a data/rocks/loot_table/blocks/ice_rock.json -f34d9890e8353b13952972d71085eeff4bcab1eb data/rocks/loot_table/blocks/cherry_stick.json -6628d84cd87044ac74c6170bf1adb4a0ba3e1451 data/rocks/loot_table/blocks/netherrack_rock.json -95e50bb507ce330ceff8c04eca287457193015bb data/rocks/loot_table/blocks/acacia_stick.json -aa89fb0888b5a8abaef4c713c292ec8076298170 data/rocks/loot_table/blocks/gravel_rock.json -57039ec5e50322cbfde63394dd304315fb670dd7 data/rocks/loot_table/blocks/andesite_rock.json -8cbee37f5a070e21308dc7c0aa9b0beea416b84a data/rocks/loot_table/blocks/sand_rock.json -8224883d1a2ed01334a64216168b1f56c4ed2a90 data/rocks/loot_table/blocks/pinecone.json -c37079a8ac71c003bdda9d8e6a9c4b770c8a8bbc data/rocks/loot_table/blocks/rock.json -f0908425c618a5483354eba1ead6a611f1fa51fb data/rocks/loot_table/blocks/birch_stick.json -cf62804400411aabc548c741280abde43a3d0d59 data/rocks/loot_table/blocks/mangrove_stick.json 71181493ade8079fbb528115025e4a4d345e29e3 data/rocks/loot_table/blocks/end_stone_rock.json 7c6403bd90213358a18381e79395d986daf21a88 data/rocks/loot_table/blocks/diorite_rock.json +f34d9890e8353b13952972d71085eeff4bcab1eb data/rocks/loot_table/blocks/cherry_stick.json +6628d84cd87044ac74c6170bf1adb4a0ba3e1451 data/rocks/loot_table/blocks/netherrack_rock.json 2793e53c85ec8bad852f656856298d6e00bfdf85 data/rocks/loot_table/blocks/seashell.json +95e50bb507ce330ceff8c04eca287457193015bb data/rocks/loot_table/blocks/acacia_stick.json 852ccbedaeaa82a525f8dc435fb7a30a495f842f data/rocks/loot_table/blocks/bamboo_stick.json +aa89fb0888b5a8abaef4c713c292ec8076298170 data/rocks/loot_table/blocks/gravel_rock.json +57039ec5e50322cbfde63394dd304315fb670dd7 data/rocks/loot_table/blocks/andesite_rock.json fb92bcdad8ef685be9a0604c0dec357992389bbf data/rocks/loot_table/blocks/dark_oak_stick.json 67d948f5d9305509d2a23e13137a14b26eccf6d7 data/rocks/loot_table/blocks/warped_stick.json 31015a9cbb6ab6790056eb16ecb9aff0ad0a03b1 data/rocks/loot_table/blocks/jungle_stick.json +8cbee37f5a070e21308dc7c0aa9b0beea416b84a data/rocks/loot_table/blocks/sand_rock.json +8224883d1a2ed01334a64216168b1f56c4ed2a90 data/rocks/loot_table/blocks/pinecone.json 283f96ab013b53fe1569127810bdc838f7746c09 data/rocks/loot_table/blocks/granite_rock.json +c37079a8ac71c003bdda9d8e6a9c4b770c8a8bbc data/rocks/loot_table/blocks/rock.json diff --git a/src/main/generated/.cache/ef95184f2e259c8d7b29584bde1d7a9631cc116f b/src/main/generated/.cache/ef95184f2e259c8d7b29584bde1d7a9631cc116f index 7f73783..47afc04 100644 --- a/src/main/generated/.cache/ef95184f2e259c8d7b29584bde1d7a9631cc116f +++ b/src/main/generated/.cache/ef95184f2e259c8d7b29584bde1d7a9631cc116f @@ -1,4 +1,4 @@ -// 1.21 2024-09-16T20:01:04.362147985 This Rocks!/Recipes +// 1.21 2024-09-17T00:30:20.768641104 This Rocks!/Recipes b6c911282f64d7f0e0b3f6108bad4dbb3df515a6 data/rocks/advancement/recipes/building_blocks/stone_from_splitter.json 54e83b6dcb86d6449ac69700336bac9f7b308931 data/rocks/recipe/andesite_from_splitter.json 667857ccb79ec82999a28a0ac364ef3abfb1e940 data/rocks/recipe/ice_from_splitter.json @@ -11,11 +11,11 @@ a7c075826da6d91e9a8dd4c45a62e2584252d35a data/rocks/recipe/granite_from_splitter 09e9680aafaaa8e6ef2c08063ecdf88f94d1fea1 data/rocks/recipe/stone_from_splitter.json 1c7de94400d03b90df1468e12bf793c073d2063c data/rocks/recipe/netherrack_from_splitter.json ec73556fd65c48863750db345532e88ba051a7af data/rocks/advancement/recipes/building_blocks/netherrack_from_splitter.json -2979c1cbad1e33cf3eddee36831abab780f11fe4 data/rocks/advancement/recipes/building_blocks/end_stone_from_splitter.json 5ca53887c2cc9e9b22aedfe362821e29ad0d1bdf data/rocks/advancement/recipes/building_blocks/red_sandstone_from_splitter.json +2979c1cbad1e33cf3eddee36831abab780f11fe4 data/rocks/advancement/recipes/building_blocks/end_stone_from_splitter.json 81d37fc236c6c2aa9b53219d4d2be41e9686f0f4 data/rocks/advancement/recipes/building_blocks/sandstone_from_splitter.json 424226dbb76410282b0abf7cab1123a760cf36fe data/rocks/advancement/recipes/building_blocks/granite_from_splitter.json e6b4864bd839293dcdf078ebdbb1284a378d0862 data/rocks/recipe/diorite_from_splitter.json ee5e78fedb2ca204462d67398a668f01cba976b3 data/rocks/recipe/red_sandstone_from_splitter.json -d190015248ae4c1bc3fd274e6fbd4cb262300507 data/rocks/recipe/end_stone_from_splitter.json 12d6109625cde783570f8337c4e5ace2804731e6 data/rocks/recipe/sandstone_from_splitter.json +d190015248ae4c1bc3fd274e6fbd4cb262300507 data/rocks/recipe/end_stone_from_splitter.json diff --git a/src/main/generated/data/rocks/worldgen/configured_feature/ice_rock.json b/src/main/generated/data/rocks/worldgen/configured_feature/ice_rock.json new file mode 100644 index 0000000..5968b0c --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/configured_feature/ice_rock.json @@ -0,0 +1,46 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "tiny" + } + }, + "weight": 10 + }, + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "small" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "medium" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "large" + } + }, + "weight": 1 + } + ] + } + } +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/ice_rock.json b/src/main/generated/data/rocks/worldgen/placed_feature/ice_rock.json new file mode 100644 index 0000000..c66aba4 --- /dev/null +++ b/src/main/generated/data/rocks/worldgen/placed_feature/ice_rock.json @@ -0,0 +1,93 @@ +{ + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:weighted_state_provider", + "entries": [ + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "tiny" + } + }, + "weight": 10 + }, + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "small" + } + }, + "weight": 7 + }, + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "medium" + } + }, + "weight": 5 + }, + { + "data": { + "Name": "rocks:ice_rock", + "Properties": { + "variation": "large" + } + }, + "weight": 1 + } + ] + } + } + }, + "placement": [ + { + "type": "minecraft:count", + "count": 3 + }, + { + "type": "minecraft:rarity_filter", + "chance": 5 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_blocks", + "blocks": [ + "minecraft:ice", + "minecraft:packed_ice", + "minecraft:blue_ice" + ], + "offset": [ + 0, + -1, + 0 + ] + } + ] + } + } + ] +} \ No newline at end of file diff --git a/src/main/generated/data/rocks/worldgen/placed_feature/rock.json b/src/main/generated/data/rocks/worldgen/placed_feature/rock.json index 14bebc6..2935c9c 100644 --- a/src/main/generated/data/rocks/worldgen/placed_feature/rock.json +++ b/src/main/generated/data/rocks/worldgen/placed_feature/rock.json @@ -79,6 +79,7 @@ "type": "minecraft:matching_blocks", "blocks": [ "minecraft:ice", + "minecraft:packed_ice", "minecraft:sand", "minecraft:red_sand", "minecraft:end_stone" diff --git a/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java b/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java index 682008f..03321e9 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/config/RocksConfig.java @@ -13,6 +13,7 @@ public class RocksConfig extends MidnightConfig { @Entry(category = rocks, name = "block.rocks.sand_rock") public static boolean sandRock = true; @Entry(category = rocks, name = "block.rocks.red_sand_rock") public static boolean redSandRock = true; @Entry(category = rocks, name = "block.rocks.gravel_rock") public static boolean gravelRock = true; + @Entry(category = rocks, name = "block.rocks.ice_rock") public static boolean iceRock = true; @Entry(category = rocks, name = "block.rocks.end_stone_rock") public static boolean endStoneRock = true; @Entry(category = rocks, name = "block.rocks.netherrack_rock") public static boolean netherrackRock = true; @Entry(category = rocks, name = "block.rocks.soul_soil_rock") public static boolean soulSoilRock = true; diff --git a/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java b/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java index e402d0b..e442435 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/world/FeatureInjector.java @@ -8,8 +8,11 @@ import net.minecraft.registry.RegistryKey; import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.tag.BiomeTags; import net.minecraft.util.Identifier; +import net.minecraft.world.biome.Biome; +import net.minecraft.world.biome.BiomeKeys; import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.feature.PlacedFeature; +import net.minecraft.world.gen.structure.OceanRuinStructure; import java.util.function.Predicate; @@ -32,6 +35,9 @@ public class FeatureInjector { if (RocksConfig.redSandRock) BiomeModifications.addFeature(red_sand_rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("red_sand_rock")); + Predicate ice_rocks = (ctx -> ctx.hasTag(BiomeTags.IGLOO_HAS_STRUCTURE) || ctx.getBiome().getTemperature() < 0.15F); + if (RocksConfig.iceRock) BiomeModifications.addFeature(ice_rocks, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("ice_rock")); + if (RocksConfig.endStoneRock) BiomeModifications.addFeature(ctx -> ctx.getBiomeKey().getValue().toString().contains("the_end"), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("end_stone_rock")); // Sticks @@ -79,7 +85,7 @@ public class FeatureInjector { if (RocksConfig.seashell) BiomeModifications.addFeature(beach, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("seashell")); if (RocksConfig.starfish) BiomeModifications.addFeature(beach, GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("starfish")); - if (RocksConfig.underwaterStarfish) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_starfish")); + if (RocksConfig.underwaterStarfish) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN) && !ctx.getBiomeKey().toString().contains("cold"), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_starfish")); if (RocksConfig.underwaterSeashell) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_OCEAN), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("underwater_seashell")); if (RocksConfig.netherrackRock) BiomeModifications.addFeature(ctx -> ctx.hasTag(BiomeTags.IS_NETHER), GenerationStep.Feature.TOP_LAYER_MODIFICATION, getKey("netherrack_rock")); diff --git a/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java b/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java index 23a2776..5d03eb8 100755 --- a/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java +++ b/src/main/java/eu/midnightdust/motschen/rocks/world/configured_feature/RockFeatures.java @@ -77,8 +77,15 @@ public class RockFeatures { .add(rocksByType.get(RockType.GRAVEL).getDefaultState().with(RocksMain.ROCK_VARIATION,RockVariation.MEDIUM), 5) .add(rocksByType.get(RockType.GRAVEL).getDefaultState().with(RocksMain.ROCK_VARIATION,RockVariation.LARGE), 1).build())) ); + public static ConfiguredFeature ICE_ROCK_FEATURE = new ConfiguredFeature<>(Feature.SIMPLE_BLOCK, new SimpleBlockFeatureConfig( + new WeightedBlockStateProvider(DataPool.builder() + .add(rocksByType.get(RockType.ICE).getDefaultState().with(RocksMain.ROCK_VARIATION,RockVariation.TINY), 10) + .add(rocksByType.get(RockType.ICE).getDefaultState().with(RocksMain.ROCK_VARIATION,RockVariation.SMALL), 7) + .add(rocksByType.get(RockType.ICE).getDefaultState().with(RocksMain.ROCK_VARIATION,RockVariation.MEDIUM), 5) + .add(rocksByType.get(RockType.ICE).getDefaultState().with(RocksMain.ROCK_VARIATION,RockVariation.LARGE), 1).build())) + ); - public static PlacedFeature ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.not(BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.ICE,Blocks.SAND,Blocks.RED_SAND,Blocks.END_STONE))))))); + public static PlacedFeature ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.not(BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.ICE, Blocks.PACKED_ICE, Blocks.SAND, Blocks.RED_SAND, Blocks.END_STONE))))))); public static PlacedFeature GRANITE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(GRANITE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRANITE)))))); public static PlacedFeature DIORITE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(DIORITE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.DIORITE)))))); public static PlacedFeature ANDESITE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ANDESITE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.ANDESITE)))))); @@ -86,6 +93,7 @@ public class RockFeatures { public static PlacedFeature RED_SAND_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(RED_SAND_ROCK_FEATURE), List.of(CountPlacementModifier.of(7), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.RED_SAND, Blocks.RED_SANDSTONE)))))); public static PlacedFeature END_STONE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(END_STONE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.MOTION_BLOCKING_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.END_STONE)))))); public static PlacedFeature GRAVEL_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(GRAVEL_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(1), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.GRAVEL)))))); + public static PlacedFeature ICE_ROCK_PLACED_FEATURE = new PlacedFeature(RegistryEntry.of(ICE_ROCK_FEATURE), List.of(CountPlacementModifier.of(3), RarityFilterPlacementModifier.of(5), SquarePlacementModifier.of(), PlacedFeatures.WORLD_SURFACE_WG_HEIGHTMAP, BiomePlacementModifier.of(), BlockFilterPlacementModifier.of(BlockPredicate.bothOf(BlockPredicate.IS_AIR, BlockPredicate.matchingBlocks(new Vec3i(0, -1, 0), ImmutableList.of(Blocks.ICE, Blocks.PACKED_ICE, Blocks.BLUE_ICE)))))); public static void initConfigured(Registerable> context) { register(context, "rock", ROCK_FEATURE); @@ -96,6 +104,7 @@ public class RockFeatures { register(context, "red_sand_rock", RED_SAND_ROCK_FEATURE); register(context, "end_stone_rock", END_STONE_ROCK_FEATURE); register(context, "gravel_rock", GRAVEL_ROCK_FEATURE); + register(context, "ice_rock", ICE_ROCK_FEATURE); } public static void initPlaced(Registerable context) { register(context, "rock", ROCK_PLACED_FEATURE); @@ -106,5 +115,6 @@ public class RockFeatures { register(context, "red_sand_rock", RED_SAND_ROCK_PLACED_FEATURE); register(context, "end_stone_rock", END_STONE_ROCK_PLACED_FEATURE); register(context, "gravel_rock", GRAVEL_ROCK_PLACED_FEATURE); + register(context, "ice_rock", ICE_ROCK_PLACED_FEATURE); } } diff --git a/src/main/resources/assets/rocks/blockstates/ice_rock.json b/src/main/resources/assets/rocks/blockstates/ice_rock.json new file mode 100755 index 0000000..49231b1 --- /dev/null +++ b/src/main/resources/assets/rocks/blockstates/ice_rock.json @@ -0,0 +1,28 @@ +{ + "variants": { + "variation=tiny": [ + {"model": "rocks:block/tiny_ice_rock"}, + {"model": "rocks:block/tiny_ice_rock", "y": 90}, + {"model": "rocks:block/tiny_ice_rock", "y": 180}, + {"model": "rocks:block/tiny_ice_rock", "y": 270} + ], + "variation=small": [ + {"model": "rocks:block/small_ice_rock"}, + {"model": "rocks:block/small_ice_rock", "y": 90}, + {"model": "rocks:block/small_ice_rock", "y": 180}, + {"model": "rocks:block/small_ice_rock", "y": 270} + ], + "variation=medium": [ + {"model": "rocks:block/medium_ice_rock"}, + {"model": "rocks:block/medium_ice_rock", "y": 90}, + {"model": "rocks:block/medium_ice_rock", "y": 180}, + {"model": "rocks:block/medium_ice_rock", "y": 270} + ], + "variation=large": [ + {"model": "rocks:block/large_ice_rock"}, + {"model": "rocks:block/large_ice_rock", "y": 90}, + {"model": "rocks:block/large_ice_rock", "y": 180}, + {"model": "rocks:block/large_ice_rock", "y": 270} + ] + } +} diff --git a/src/main/resources/assets/rocks/lang/de_de.json b/src/main/resources/assets/rocks/lang/de_de.json index 8cfc33e..f0cc9e0 100755 --- a/src/main/resources/assets/rocks/lang/de_de.json +++ b/src/main/resources/assets/rocks/lang/de_de.json @@ -11,6 +11,7 @@ "block.rocks.end_stone_rock":"Endsteinbrocken", "block.rocks.netherrack_rock":"Netherrackbrocken", "block.rocks.soul_soil_rock":"Seelenerdebrocken", + "block.rocks.ice_rock":"Eisbrocken", "block.rocks.oak_stick":"Eichenholzstock", "block.rocks.birch_stick":"Birkenholzstock", @@ -18,6 +19,9 @@ "block.rocks.jungle_stick":"Tropenholzstock", "block.rocks.acacia_stick":"Akazienholzstock", "block.rocks.dark_oak_stick":"Schwarzeichenholzstock", + "block.rocks.mangrove_stick":"Mangrovenholzstock", + "block.rocks.cherry_stick":"Kirschholzstock", + "block.rocks.bamboo_stick":"Bambusstock", "block.rocks.crimson_stick":"Karmesinstock", "block.rocks.warped_stick":"Wirrstock", diff --git a/src/main/resources/assets/rocks/lang/en_us.json b/src/main/resources/assets/rocks/lang/en_us.json index 6ea0480..1e0848a 100755 --- a/src/main/resources/assets/rocks/lang/en_us.json +++ b/src/main/resources/assets/rocks/lang/en_us.json @@ -11,6 +11,7 @@ "block.rocks.end_stone_rock":"End Stone Rock", "block.rocks.netherrack_rock":"Netherrack Rock", "block.rocks.soul_soil_rock":"Soul Soil Rock", + "block.rocks.ice_rock":"Ice Rock", "block.rocks.oak_stick":"Oak Stick", "block.rocks.birch_stick":"Birch Stick", @@ -40,6 +41,7 @@ "item.rocks.end_stone_splitter":"End Stone Splitter", "item.rocks.netherrack_splitter":"Netherrack Splitter", "item.rocks.soul_soil_splitter":"Soul Soil Splitter", + "item.rocks.ice_splitter":"Ice Splitter", "rocks.midnightconfig.title":"This Rocks! Config", "rocks.midnightconfig.category.rocks":"Rocks", @@ -55,5 +57,8 @@ "rocks.midnightconfig.underwaterSeashell":"Underwater Seashell", "rocks.midnightconfig.underwaterStarfish":"Underwater Starfish", "rocks.midnightconfig.geyserLevitation":"Geyser Levitation", - "rocks.midnightconfig.netherGeyserDamage":"Nether Geyser Damage" + "rocks.midnightconfig.netherGeyserDamage":"Nether Geyser Damage", + "rocks.midnightconfig.enablePolymerMode":"Enable Polymer Mode", + "rocks.midnightconfig.enablePolymerMode.tooltip":"Allows the mod to work fully server-sided when used in combination with Polymer and FactoryTools", + "rocks.midnightconfig.polymerViewDistance":"Polymer View Distance" } \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/large_ice_rock.json b/src/main/resources/assets/rocks/models/block/large_ice_rock.json new file mode 100755 index 0000000..af7055a --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/large_ice_rock.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/large_rock", + "textures": { + "0": "block/packed_ice", + "particle": "block/packed_ice" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/medium_ice_rock.json b/src/main/resources/assets/rocks/models/block/medium_ice_rock.json new file mode 100755 index 0000000..1a75f9a --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/medium_ice_rock.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/medium_rock", + "textures": { + "0": "block/packed_ice", + "particle": "block/packed_ice" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/small_ice_rock.json b/src/main/resources/assets/rocks/models/block/small_ice_rock.json new file mode 100755 index 0000000..51f81a1 --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/small_ice_rock.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/small_rock", + "textures": { + "0": "block/packed_ice", + "particle": "block/packed_ice" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/block/tiny_ice_rock.json b/src/main/resources/assets/rocks/models/block/tiny_ice_rock.json new file mode 100755 index 0000000..869b295 --- /dev/null +++ b/src/main/resources/assets/rocks/models/block/tiny_ice_rock.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:block/tiny_rock", + "textures": { + "0": "block/packed_ice", + "particle": "block/packed_ice" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/item/ice_rock.json b/src/main/resources/assets/rocks/models/item/ice_rock.json new file mode 100755 index 0000000..fbe789e --- /dev/null +++ b/src/main/resources/assets/rocks/models/item/ice_rock.json @@ -0,0 +1,3 @@ +{ + "parent": "rocks:block/large_ice_rock" +} \ No newline at end of file diff --git a/src/main/resources/assets/rocks/models/item/ice_splitter.json b/src/main/resources/assets/rocks/models/item/ice_splitter.json new file mode 100755 index 0000000..e6cab6e --- /dev/null +++ b/src/main/resources/assets/rocks/models/item/ice_splitter.json @@ -0,0 +1,7 @@ +{ + "parent": "rocks:item/cobblestone_splitter", + "textures": { + "0": "block/packed_ice", + "particle": "block/packed_ice" + } +} \ No newline at end of file