From f8b8c09f283aac5a932cbfc5fc0e7a8a3251d5a6 Mon Sep 17 00:00:00 2001 From: Pyritie Date: Sat, 6 Sep 2025 00:58:30 +0100 Subject: [PATCH] added floating water plants --- .../betterend/blockstates/lacugrove.json | 10 +++++ kubejs/assets/betterend/lang/en_us.json | 1 + .../betterend/models/block/lacugrove.json | 37 ++++++++++++++++ .../betterend/models/item/lacugrove.json | 6 +++ .../mars/surface/flamaea.json | 10 +++-- .../mars/surface/lacugrove.json | 44 +++++++++++++++++++ .../placed_feature/mars/surface/flamaea.json | 6 +-- .../mars/surface/lacugrove.json | 15 +++++++ kubejs/server_scripts/ad_astra/tags.js | 1 + kubejs/server_scripts/tfg/tags.js | 1 + kubejs/startup_scripts/betterend/blocks.js | 22 +++++++--- 11 files changed, 139 insertions(+), 14 deletions(-) create mode 100644 kubejs/assets/betterend/blockstates/lacugrove.json create mode 100644 kubejs/assets/betterend/models/block/lacugrove.json create mode 100644 kubejs/assets/betterend/models/item/lacugrove.json create mode 100644 kubejs/data/tfg/worldgen/configured_feature/mars/surface/lacugrove.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/mars/surface/lacugrove.json diff --git a/kubejs/assets/betterend/blockstates/lacugrove.json b/kubejs/assets/betterend/blockstates/lacugrove.json new file mode 100644 index 000000000..4132397f2 --- /dev/null +++ b/kubejs/assets/betterend/blockstates/lacugrove.json @@ -0,0 +1,10 @@ +{ + "variants": { + "": [ + { "model": "betterend:block/lacugrove", "y": 0 }, + { "model": "betterend:block/lacugrove", "y": 90 }, + { "model": "betterend:block/lacugrove", "y": 180 }, + { "model": "betterend:block/lacugrove", "y": 270 } + ] + } +} diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json index 7e6a60e08..5f870d052 100644 --- a/kubejs/assets/betterend/lang/en_us.json +++ b/kubejs/assets/betterend/lang/en_us.json @@ -49,6 +49,7 @@ "block.betterend.hydralux": "Hydralux", "block.betterend.hydralux_sapling": "Hydralux Sprout", "block.betterend.inflexia": "Inflexia", + "block.betterend.lacugrove": "Lacugrove Algae", "block.betterend.lamellarium": "Lamellarium", "block.betterend.lanceleaf": "Lanceleaf", "block.betterend.lanceleaf_seed": "Lanceleaf Dagger", diff --git a/kubejs/assets/betterend/models/block/lacugrove.json b/kubejs/assets/betterend/models/block/lacugrove.json new file mode 100644 index 000000000..fc3dd601f --- /dev/null +++ b/kubejs/assets/betterend/models/block/lacugrove.json @@ -0,0 +1,37 @@ +{ + "ambientocclusion": false, + "textures": { + "particle": "betterend:block/lacugrove_leaves", + "layer0": "betterend:block/lacugrove_leaves" + }, + "elements": [ + { + "from": [ -0.02, 0.05, -0.02 ], + "to": [ 16.02, 0.05, 16.02 ], + "faces": { + "up": { + "uv": [ 0, 0, 16, 16 ], + "texture": "#layer0" + }, + "down": { + "uv": [ 0, 16, 16, 0 ], + "texture": "#layer0" + } + } + }, + { + "from": [ 1, 1, 1 ], + "to": [ 15, 1, 15 ], + "faces": { + "up": { + "uv": [ 16, 16, 0, 0 ], + "texture": "#layer0" + }, + "down": { + "uv": [ 16, 0, 0, 16 ], + "texture": "#layer0" + } + } + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/betterend/models/item/lacugrove.json b/kubejs/assets/betterend/models/item/lacugrove.json new file mode 100644 index 000000000..68a19bcd5 --- /dev/null +++ b/kubejs/assets/betterend/models/item/lacugrove.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "betterend:block/lacugrove_leaves" + } +} diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json index 6251d7a73..c7d23a7b5 100644 --- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json @@ -14,6 +14,10 @@ } }, "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE" + }, { "type": "minecraft:block_predicate_filter", "predicate": { @@ -26,7 +30,7 @@ { "type": "minecraft:matching_block_tag", "offset": [ 0, -1, 0 ], - "tag": "tfg:mars_soil" + "tag": "tfg:fluid/semiheavy_ammoniacal_water" } ] } @@ -34,7 +38,7 @@ ] }, "tries": 16, - "xz_spread": 16, - "y_spread": 2 + "xz_spread": 8, + "y_spread": 1 } } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lacugrove.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lacugrove.json new file mode 100644 index 000000000..6e6d53a9d --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lacugrove.json @@ -0,0 +1,44 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "minecraft:simple_block", + "config": { + "to_place": { + "type": "minecraft:simple_state_provider", + "state": { + "Name": "betterend:lacugrove" + } + } + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE" + }, + { + "type": "minecraft:block_predicate_filter", + "predicate": { + "type": "minecraft:all_of", + "predicates": [ + { + "type": "minecraft:matching_blocks", + "blocks": "minecraft:air" + }, + { + "type": "minecraft:matching_block_tag", + "offset": [ 0, -1, 0 ], + "tag": "tfg:fluid/semiheavy_ammoniacal_water" + } + ] + } + } + ] + }, + "tries": 16, + "xz_spread": 8, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flamaea.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flamaea.json index 22ef61ef8..1d9b3cc95 100644 --- a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flamaea.json +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flamaea.json @@ -3,17 +3,13 @@ "placement": [ { "type": "minecraft:rarity_filter", - "chance": 2 + "chance": 3 }, { "type": "minecraft:in_square" }, { "type": "minecraft:biome" - }, - { - "type": "minecraft:heightmap", - "heightmap": "WORLD_SURFACE" } ] } \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lacugrove.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lacugrove.json new file mode 100644 index 000000000..45e97a873 --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lacugrove.json @@ -0,0 +1,15 @@ +{ + "feature": "tfg:mars/surface/lacugrove", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 3 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js index 8f21e2b5a..c53d8e34f 100644 --- a/kubejs/server_scripts/ad_astra/tags.js +++ b/kubejs/server_scripts/ad_astra/tags.js @@ -468,6 +468,7 @@ const registerAdAstraPlacedFeatures = (event) => { // Vegetation event.add("tfg:mars_global_small_plants", "tfg:mars/surface/charnia") event.add("tfg:mars_global_small_plants", "tfg:mars/surface/flamaea") + event.add("tfg:mars_global_small_plants", "tfg:mars/surface/lacugrove") event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants") event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_global_small_plants") diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 4bf7daa34..1ccdc8c82 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -577,6 +577,7 @@ const registerTFGBlockTags = (event) => { event.add('forge:mineable/wrench', 'tfg:reflector') event.add('forge:mineable/wrench', 'tfg:machine_casing_aluminium_plated_steel') + event.add('tfg:decorative_plant_attachable', '#minecraft:logs') } //#endregion diff --git a/kubejs/startup_scripts/betterend/blocks.js b/kubejs/startup_scripts/betterend/blocks.js index 49f5fe49c..812f216fb 100644 --- a/kubejs/startup_scripts/betterend/blocks.js +++ b/kubejs/startup_scripts/betterend/blocks.js @@ -42,8 +42,6 @@ function registerBetterEndBlocks(event) { createPlant(event, 'creeping_moss', 'mars') .box(2, 0, 2, 14, 20, 14) .lootItem('beneath:warped_straw') - createPlant(event, 'flamaea', 'mars') - .box(2, 0, 2, 14, 3, 14) createPlant(event, 'flammalix', 'mars') createPlant(event, 'globulagus', 'mars') .box(3, 0, 3, 13, 13, 13) @@ -60,10 +58,8 @@ function registerBetterEndBlocks(event) { createPlant(event, 'small_amaranita_mushroom', 'mars') .box(3, 0, 3, 13, 8, 13) createPlant(event, 'lucernia_outer_leaves', 'mars') - // TODO: needs a feature createPlant(event, 'lanceleaf_small', 'mars') .box(4, 0, 4, 12, 8, 12) - // TODO: needs a feature // 1 block tall waterlogged @@ -74,6 +70,22 @@ function registerBetterEndBlocks(event) { createPlant(event, 'charnia_purple', 'mars') createPlant(event, 'charnia_red', 'mars') + // Water surface + + event.create('betterend:flamaea', 'tfg:floating_plant') + .soundType('crop') + .box(1, 0, 1, 15, 2, 15) + .mapColor('color_light_blue') + .tagItem('tfg:mars_plants') + .tagItem('forge:mushrooms') + + event.create('betterend:lacugrove', 'tfg:floating_plant') + .xz_offset(false) + .soundType('crop') + .box(0, 0, 0, 16, 1, 16) + .mapColor('color_cyan') + .tagItem('tfg:mars_plants') + // Mosses / Can go on sides of blocks //createPlant(event, 'aurant_polypore', 'mars') @@ -138,7 +150,6 @@ function registerBetterEndBlocks(event) { event.create('betterend:large_amaranita_mushroom', 'tfg:tall_decorative_plant') .height(3) .soundType('nether_wart') - .tagBlock('minecraft:mineable/hoe') .tagItem('tfg:mars_plants') .tagItem('forge:mushrooms') .mapColor('fire') @@ -146,7 +157,6 @@ function registerBetterEndBlocks(event) { event.create('betterend:lanceleaf', 'tfg:tall_decorative_plant') .height(5) .soundType('crop') - .tagBlock('minecraft:mineable/hoe') .tagItem('tfg:mars_plants') .mapColor('color_orange')