diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz.json new file mode 100644 index 000000000..3e3e11444 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz.json @@ -0,0 +1,7 @@ +{ + "type": "tfc:if_then", + "config": { + "if": "tfg:earth/rose_quartz/rose_quartz_geode", + "then": "tfg:earth/rose_quartz/rose_quartz_decoration" + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json new file mode 100644 index 000000000..a40bfa57d --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_air.json @@ -0,0 +1,11 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:rose_quartz_bud_indicator" + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json new file mode 100644 index 000000000..78ee7755e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_bud_water.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:rose_quartz_bud_indicator", + "Properties": { + "waterlogged": "true" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_decoration.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_decoration.json new file mode 100644 index 000000000..14179866a --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_decoration.json @@ -0,0 +1,9 @@ +{ + "type": "tfc:multiple", + "config": { + "features": [ + "tfg:earth/rose_quartz/rose_quartz_bud_air", + "tfg:earth/rose_quartz/rose_quartz_bud_water" + ] + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json new file mode 100644 index 000000000..ba4f8c8f2 --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/rose_quartz/rose_quartz_geode.json @@ -0,0 +1,83 @@ +{ + "type": "minecraft:geode", + "config": { + "blocks": { + "filling_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:raw_rose_quartz_block" + } + }, + "inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_rose_quartz_ore" + } + }, + "alternate_inner_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "gtceu:quartzite_quartzite_ore" + } + }, + "middle_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:ice" + } + }, + "outer_layer_provider": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "minecraft:blue_ice" + } + }, + "inner_placements": [ + { + "Name": "gtceu:quartzite_rose_quartz_ore" + } + ], + "cannot_replace": "#minecraft:features_cannot_replace", + "invalid_blocks": "#minecraft:geode_invalid_blocks" + }, + "crack": { + "base_crack_size": 0, + "crack_point_offset": 0, + "generate_crack_chance": 0 + }, + "distribution_points": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 4, + "min_inclusive": 3 + } + }, + "invalid_blocks_threshold": 1, + "layers": { + "filling": 0.4, + "inner_layer": 2.1, + "middle_layer": 3.5, + "outer_layer": 4.5 + }, + "max_gen_offset": 32, + "min_gen_offset": -32, + "noise_multiplier": 0.05, + "outer_wall_distance": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 6, + "min_inclusive": 4 + } + }, + "placements_require_layer0_alternate": false, + "point_offset": { + "type": "minecraft:uniform", + "value": { + "max_inclusive": 2, + "min_inclusive": 1 + } + }, + "use_alternate_layer0_chance": 0.40, + "use_potential_placements_chance": 0.30 + } +} diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz.json b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz.json new file mode 100644 index 000000000..4f6da2f35 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz.json @@ -0,0 +1,23 @@ +{ + "feature": "tfg:earth/rose_quartz/rose_quartz", + "placement": [ + { + "type": "tfc:climate", + "config": { + "max_temperature": -10, + "fuzzy": true + } + }, + { + "type": "minecraft:rarity_filter", + "chance": 10 + }, + { + "type": "minecraft:biome" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_bud_air.json b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_bud_air.json new file mode 100644 index 000000000..842e41906 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_bud_air.json @@ -0,0 +1,14 @@ +{ + "feature": "tfg:earth/rose_quartz/rose_quartz_bud_air", + "placement": [ + { + "type": "minecraft:environment_scan", + "direction_of_search": "up", + "max_steps": 15, + "target_condition": { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_bud_water.json b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_bud_water.json new file mode 100644 index 000000000..7ef7e97f0 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_bud_water.json @@ -0,0 +1,14 @@ +{ + "feature": "tfg:earth/rose_quartz/rose_quartz_bud_water", + "placement": [ + { + "type": "minecraft:environment_scan", + "direction_of_search": "up", + "max_steps": 15, + "target_condition": { + "type": "minecraft:matching_fluids", + "fluids": "tfc:salt_water" + } + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_decoration.json b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_decoration.json new file mode 100644 index 000000000..de5e96811 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_decoration.json @@ -0,0 +1,16 @@ +{ + "feature": "tfg:earth/rose_quartz/rose_quartz_decoration", + "placement": [ + { + "type": "minecraft:count", + "count": 30 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:heightmap", + "heightmap": "OCEAN_FLOOR" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_geode.json b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_geode.json new file mode 100644 index 000000000..1a67dd9ec --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/rose_quartz/rose_quartz_geode.json @@ -0,0 +1,4 @@ +{ + "feature": "tfg:earth/rose_quartz/rose_quartz_geode", + "placement": [] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 1101bef09..073905f70 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -297,6 +297,19 @@ const registerTFGBiomeTags = (event) => { const registerTFGPlacedFeatures = (event) => { + + // #region Earth biomes + + event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/ocean_reef', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/deep_ocean', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/deep_ocean_trench', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/shore', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/tidal_flats', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/lowlands', 'tfg:earth/rose_quartz/rose_quartz') + event.add('tfc:in_biome/surface_decoration/salt_marsh', 'tfg:earth/rose_quartz/rose_quartz') + + // #endregion // #region Nether ores diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js index f4dbfe7a9..c172117ce 100644 --- a/kubejs/startup_scripts/gtceu/materials.js +++ b/kubejs/startup_scripts/gtceu/materials.js @@ -289,4 +289,9 @@ const registerGTCEuMaterialModification = (event) => { var property = material.getProperty(PropertyKey.FLUID); property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null); }); + + + let rose_quartz = GTCEuAPI.materialManager.getMaterial('greate:rose_quartz'); + rose_quartz.setProperty(PropertyKey.ORE, new $ORE_PROPERTY()); + rose_quartz.setMaterialIconSet(GTMaterialIconSet.getByName('nether_quartz')) } \ No newline at end of file