From 020d4f901810fae5bb10cea555600b36f657e584 Mon Sep 17 00:00:00 2001 From: GameStar <56610486+BlueBoat29@users.noreply.github.com> Date: Sun, 31 Aug 2025 13:14:14 -0500 Subject: [PATCH] Flax (#1735) * some flax stuff * linen stuff * flax line stuff * flax again * rapseed wild crop changes * flax worldgen * revert grooming station update * more flax stuff * trying to fix stuff one doesn't work * recipes and lang * Update CHANGELOG.md Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> * fixes --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> --- CHANGELOG.md | 2 + kubejs/assets/tfg/blockstates/flax.json | 34 +++++++++++ kubejs/assets/tfg/blockstates/flax_dead.json | 13 ++++ kubejs/assets/tfg/blockstates/flax_wild.json | 16 +++++ .../assets/tfg/blockstates/rapeseed_wild.json | 4 +- kubejs/assets/tfg/lang/en_us.json | 10 ++++ .../tfg/models/block/crop/flax_age_0.json | 1 + .../tfg/models/block/crop/flax_age_1.json | 1 + .../tfg/models/block/crop/flax_age_2.json | 1 + .../tfg/models/block/crop/flax_age_3.json | 1 + .../models/block/crop/flax_age_4_bottom.json | 1 + .../tfg/models/block/crop/flax_age_4_top.json | 1 + .../models/block/crop/flax_age_5_bottom.json | 1 + .../tfg/models/block/crop/flax_age_5_top.json | 1 + .../models/block/crop/flax_age_6_bottom.json | 1 + .../tfg/models/block/crop/flax_age_6_top.json | 1 + .../models/block/crop/flax_dead_bottom.json | 1 + .../tfg/models/block/crop/flax_dead_top.json | 1 + .../models/block/crop/flax_dead_young.json | 1 + .../tfg/models/block/crop/flax_wild.json | 6 ++ .../models/block/crop/flax_wild_bottom.json | 6 ++ .../tfg/models/block/crop/flax_wild_top.json | 6 ++ .../tfg/models/block/crop/rapeseed_wild.json | 2 +- .../block/crop/rapeseed_wild_bottom.json | 1 + .../models/block/crop/rapeseed_wild_top.json | 1 + kubejs/assets/tfg/models/item/flax_line.json | 6 ++ .../assets/tfg/models/item/flax_product.json | 6 ++ kubejs/assets/tfg/models/item/flax_tow.json | 6 ++ kubejs/assets/tfg/models/item/flax_waste.json | 6 ++ kubejs/assets/tfg/models/item/flax_wild.json | 3 + .../assets/tfg/models/item/linen_cloth.json | 6 ++ .../assets/tfg/models/item/linen_thread.json | 6 ++ .../assets/tfg/models/item/washed_flax.json | 6 ++ .../tfg/textures/block/crop/flax_age_0.png | Bin 0 -> 651 bytes .../tfg/textures/block/crop/flax_age_1.png | Bin 0 -> 725 bytes .../tfg/textures/block/crop/flax_age_2.png | Bin 0 -> 851 bytes .../tfg/textures/block/crop/flax_age_3.png | Bin 0 -> 963 bytes .../textures/block/crop/flax_age_4_bottom.png | Bin 0 -> 1004 bytes .../textures/block/crop/flax_age_4_top.png | Bin 0 -> 651 bytes .../textures/block/crop/flax_age_5_bottom.png | Bin 0 -> 1069 bytes .../textures/block/crop/flax_age_5_top.png | Bin 0 -> 824 bytes .../textures/block/crop/flax_age_6_bottom.png | Bin 0 -> 1084 bytes .../textures/block/crop/flax_age_6_top.png | Bin 0 -> 814 bytes .../textures/block/crop/flax_dead_bottom.png | Bin 0 -> 1066 bytes .../tfg/textures/block/crop/flax_dead_top.png | Bin 0 -> 810 bytes .../textures/block/crop/flax_dead_young.png | Bin 0 -> 865 bytes kubejs/assets/tfg/textures/item/flax_line.png | Bin 0 -> 5451 bytes .../assets/tfg/textures/item/flax_product.png | Bin 0 -> 878 bytes kubejs/assets/tfg/textures/item/flax_seed.png | Bin 0 -> 617 bytes kubejs/assets/tfg/textures/item/flax_tow.png | Bin 0 -> 875 bytes .../assets/tfg/textures/item/flax_waste.png | Bin 0 -> 857 bytes .../assets/tfg/textures/item/linen_cloth.png | Bin 0 -> 810 bytes .../assets/tfg/textures/item/linen_thread.png | Bin 0 -> 745 bytes .../assets/tfg/textures/item/washed_flax.png | Bin 0 -> 797 bytes .../configured_feature/earth/flax_patch.json | 40 +++++++++++++ .../placed_feature/earth/flax_patch.json | 20 +++++++ kubejs/server_scripts/firmaciv/recipes.js | 2 + kubejs/server_scripts/gregtech/recipes.js | 2 + kubejs/server_scripts/minecraft/recipes.js | 2 +- kubejs/server_scripts/sacksnstuff/recipes.js | 17 +++--- kubejs/server_scripts/tfc/tags.js | 2 + kubejs/server_scripts/tfg/data.js | 29 +++++++++ .../tfg/recipes.miscellaneous.js | 56 +++++++++++++++++- kubejs/server_scripts/tfg/tags.js | 6 ++ kubejs/startup_scripts/tfc/constants.js | 2 + kubejs/startup_scripts/tfg/blocks.plants.js | 33 +++++++++++ kubejs/startup_scripts/tfg/items.js | 14 +++++ pakku-lock.json | 46 +++++++------- 68 files changed, 393 insertions(+), 37 deletions(-) create mode 100644 kubejs/assets/tfg/blockstates/flax.json create mode 100644 kubejs/assets/tfg/blockstates/flax_dead.json create mode 100644 kubejs/assets/tfg/blockstates/flax_wild.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_0.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_1.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_2.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_3.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_4_bottom.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_4_top.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_5_bottom.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_5_top.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_6_bottom.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_age_6_top.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_dead_bottom.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_dead_top.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_dead_young.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_wild.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_wild_bottom.json create mode 100644 kubejs/assets/tfg/models/block/crop/flax_wild_top.json create mode 100644 kubejs/assets/tfg/models/block/crop/rapeseed_wild_bottom.json create mode 100644 kubejs/assets/tfg/models/block/crop/rapeseed_wild_top.json create mode 100644 kubejs/assets/tfg/models/item/flax_line.json create mode 100644 kubejs/assets/tfg/models/item/flax_product.json create mode 100644 kubejs/assets/tfg/models/item/flax_tow.json create mode 100644 kubejs/assets/tfg/models/item/flax_waste.json create mode 100644 kubejs/assets/tfg/models/item/flax_wild.json create mode 100644 kubejs/assets/tfg/models/item/linen_cloth.json create mode 100644 kubejs/assets/tfg/models/item/linen_thread.json create mode 100644 kubejs/assets/tfg/models/item/washed_flax.json create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_0.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_1.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_2.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_3.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_4_bottom.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_4_top.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_5_bottom.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_5_top.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_6_bottom.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_age_6_top.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_dead_bottom.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_dead_top.png create mode 100644 kubejs/assets/tfg/textures/block/crop/flax_dead_young.png create mode 100644 kubejs/assets/tfg/textures/item/flax_line.png create mode 100644 kubejs/assets/tfg/textures/item/flax_product.png create mode 100644 kubejs/assets/tfg/textures/item/flax_seed.png create mode 100644 kubejs/assets/tfg/textures/item/flax_tow.png create mode 100644 kubejs/assets/tfg/textures/item/flax_waste.png create mode 100644 kubejs/assets/tfg/textures/item/linen_cloth.png create mode 100644 kubejs/assets/tfg/textures/item/linen_thread.png create mode 100644 kubejs/assets/tfg/textures/item/washed_flax.png create mode 100644 kubejs/data/tfg/worldgen/configured_feature/earth/flax_patch.json create mode 100644 kubejs/data/tfg/worldgen/placed_feature/earth/flax_patch.json diff --git a/CHANGELOG.md b/CHANGELOG.md index cf290b08f..2a88eb4bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,9 +10,11 @@ - Sewing Tables now use a knife instead of shears @BlueBoat29 - Create Logistics Jars now hold 8000 mB each instead of just 1000 mB (#1707) @Ghoulcel - Added a way to keep your space suit with you on death, so you can more safely set your spawn on other planets (#1710) @BlueBoat29 +- Added Flax as a cold-weather alternative to jute and a plant-based option for light colored cloth @BlueBoat29 ### Bug fixes - Fixed tongs getting stuck in ovens, and now you can use them the same way you'd previously use a Peel @Pyritie - Allowed powders, gears, plates, double plates, springs, and small springs to be heated (#1727) @Redeix +- Fixed rapeseed wild block model @BlueBoat29 ### Translation updates - Chinese (simplified) @jmecn & @CN059 - Ukranian @MetEnBouldry diff --git a/kubejs/assets/tfg/blockstates/flax.json b/kubejs/assets/tfg/blockstates/flax.json new file mode 100644 index 000000000..0b8a1e705 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/flax.json @@ -0,0 +1,34 @@ +{ + "variants": { + "age=0": { + "model": "tfg:block/crop/flax_age_0" + }, + "age=1": { + "model": "tfg:block/crop/flax_age_1" + }, + "age=2": { + "model": "tfg:block/crop/flax_age_2" + }, + "age=3": { + "model": "tfg:block/crop/flax_age_3" + }, + "age=4,part=bottom": { + "model": "tfg:block/crop/flax_age_4_bottom" + }, + "age=5,part=bottom": { + "model": "tfg:block/crop/flax_age_5_bottom" + }, + "age=6,part=bottom": { + "model": "tfg:block/crop/flax_age_6_bottom" + }, + "age=4,part=top": { + "model": "tfg:block/crop/flax_age_4_top" + }, + "age=5,part=top": { + "model": "tfg:block/crop/flax_age_5_top" + }, + "age=6,part=top": { + "model": "tfg:block/crop/flax_age_6_top" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/flax_dead.json b/kubejs/assets/tfg/blockstates/flax_dead.json new file mode 100644 index 000000000..15259e1b7 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/flax_dead.json @@ -0,0 +1,13 @@ +{ + "variants": { + "mature=false": { + "model": "tfg:block/crop/flax_dead_young" + }, + "mature=true,part=top": { + "model": "tfg:block/crop/flax_dead_top" + }, + "mature=true,part=bottom": { + "model": "tfg:block/crop/flax_dead_bottom" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/flax_wild.json b/kubejs/assets/tfg/blockstates/flax_wild.json new file mode 100644 index 000000000..c8023989c --- /dev/null +++ b/kubejs/assets/tfg/blockstates/flax_wild.json @@ -0,0 +1,16 @@ +{ + "variants": { + "part=top,mature=true": { + "model": "tfg:block/crop/flax_wild_top" + }, + "part=top,mature=false": { + "model": "tfg:block/crop/flax_dead_top" + }, + "part=bottom,mature=true": { + "model": "tfg:block/crop/flax_wild_bottom" + }, + "part=bottom,mature=false": { + "model": "tfg:block/crop/flax_dead_bottom" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/rapeseed_wild.json b/kubejs/assets/tfg/blockstates/rapeseed_wild.json index 3ddbb2d6e..599bc8001 100644 --- a/kubejs/assets/tfg/blockstates/rapeseed_wild.json +++ b/kubejs/assets/tfg/blockstates/rapeseed_wild.json @@ -1,13 +1,13 @@ { "variants": { "part=top,mature=true": { - "model": "tfg:block/crop/rapeseed_age_5_top" + "model": "tfg:block/crop/rapeseed_wild_top" }, "part=top,mature=false": { "model": "tfg:block/crop/rapeseed_dead_top" }, "part=bottom,mature=true": { - "model": "tfg:block/crop/rapeseed_age_5_bottom" + "model": "tfg:block/crop/rapeseed_wild_bottom" }, "part=bottom,mature=false": { "model": "tfg:block/crop/rapeseed_dead_bottom" diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index b18665146..42ba86651 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -293,6 +293,9 @@ "block.tfg.rapeseed": "Canola", "block.tfg.rapeseed_wild": "Wild Canola", "block.tfg.rapeseed_dead": "Dead Canola", + "block.tfg.flax": "Flax", + "block.tfg.flax_wild": "Wild Flax", + "block.tfg.flax_dead": "Dead Flax", "block.tfg.casings.machine_casing_iron_desh": "Desh Machine Casing", "block.tfg.casings.machine_casing_stainless_evaporation": "Stainless Evaporation Machine Casing", "block.tfg.casings.machine_casing_vacuum_engine_intake": "Vacuum Engine Intake Machine Casing", @@ -622,6 +625,13 @@ "item.tfg.electric_extendo_grip": "Electric Extendo Grip", "item.tfg.treated_chipboard_composite": "Treated Chipboard Composite", "item.tfg.high_density_treated_fiberboard": "Medium Density Treated Fiberboard", + "item.tfg.flax_seeds": "Flax Seeds", + "item.tfg.flax_product": "Flax Stems", + "item.tfg.flax_line": "Flax Line Fibers", + "item.tfg.flax_tow": "Flax Tow Fibers", + "item.tfg.flax_waste": "Scraped Flax", + "item.tfg.linen_thread": "Linen Thread", + "item.tfg.linen_cloth": "Linen Cloth", "material.tfg.latex": "Latex", "material.tfg.vulcanized_latex": "Vulcanized Latex", "material.tfg.fluix": "Fluix", diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_0.json b/kubejs/assets/tfg/models/block/crop/flax_age_0.json new file mode 100644 index 000000000..9def03ce7 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_0.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_0"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_1.json b/kubejs/assets/tfg/models/block/crop/flax_age_1.json new file mode 100644 index 000000000..5cd40dc85 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_1.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_1"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_2.json b/kubejs/assets/tfg/models/block/crop/flax_age_2.json new file mode 100644 index 000000000..7c8d9a81f --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_2.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_2"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_3.json b/kubejs/assets/tfg/models/block/crop/flax_age_3.json new file mode 100644 index 000000000..0196b352e --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_3.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_3"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_4_bottom.json b/kubejs/assets/tfg/models/block/crop/flax_age_4_bottom.json new file mode 100644 index 000000000..3bbbff126 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_4_bottom.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_4_bottom"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_4_top.json b/kubejs/assets/tfg/models/block/crop/flax_age_4_top.json new file mode 100644 index 000000000..861deaeca --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_4_top.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_4_top"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_5_bottom.json b/kubejs/assets/tfg/models/block/crop/flax_age_5_bottom.json new file mode 100644 index 000000000..20609d2b1 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_5_bottom.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_5_bottom"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_5_top.json b/kubejs/assets/tfg/models/block/crop/flax_age_5_top.json new file mode 100644 index 000000000..90d35b5e7 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_5_top.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_5_top"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_6_bottom.json b/kubejs/assets/tfg/models/block/crop/flax_age_6_bottom.json new file mode 100644 index 000000000..6783cdc22 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_6_bottom.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_6_bottom"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_age_6_top.json b/kubejs/assets/tfg/models/block/crop/flax_age_6_top.json new file mode 100644 index 000000000..d5826d3b3 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_age_6_top.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_age_6_top"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_dead_bottom.json b/kubejs/assets/tfg/models/block/crop/flax_dead_bottom.json new file mode 100644 index 000000000..3f8fb1086 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_dead_bottom.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_dead_bottom"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_dead_top.json b/kubejs/assets/tfg/models/block/crop/flax_dead_top.json new file mode 100644 index 000000000..620d0d6b5 --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_dead_top.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_dead_top"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_dead_young.json b/kubejs/assets/tfg/models/block/crop/flax_dead_young.json new file mode 100644 index 000000000..65df8401f --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_dead_young.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/flax_dead_young"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_wild.json b/kubejs/assets/tfg/models/block/crop/flax_wild.json new file mode 100644 index 000000000..5ebc8c96a --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_wild.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/wild_crop/crop", + "textures": { + "crop": "tfg:block/crop/flax_age_5_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_wild_bottom.json b/kubejs/assets/tfg/models/block/crop/flax_wild_bottom.json new file mode 100644 index 000000000..5ebc8c96a --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_wild_bottom.json @@ -0,0 +1,6 @@ +{ + "parent": "tfc:block/wild_crop/crop", + "textures": { + "crop": "tfg:block/crop/flax_age_5_bottom" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/flax_wild_top.json b/kubejs/assets/tfg/models/block/crop/flax_wild_top.json new file mode 100644 index 000000000..9bdde56bf --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/flax_wild_top.json @@ -0,0 +1,6 @@ +{ + "parent": "block/crop", + "textures": { + "crop": "tfg:block/crop/flax_age_5_top" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/rapeseed_wild.json b/kubejs/assets/tfg/models/block/crop/rapeseed_wild.json index 2033e4839..0e99f6b04 100644 --- a/kubejs/assets/tfg/models/block/crop/rapeseed_wild.json +++ b/kubejs/assets/tfg/models/block/crop/rapeseed_wild.json @@ -1 +1 @@ -{"parent":"block/crop","textures":{"crop":"tfg:block/crop/rapeseed_age_2"}} \ No newline at end of file +{"parent":"tfc:block/wild_crop/crop","textures":{"crop":"tfg:block/crop/rapeseed_age_2"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/rapeseed_wild_bottom.json b/kubejs/assets/tfg/models/block/crop/rapeseed_wild_bottom.json new file mode 100644 index 000000000..f90e2a6fe --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/rapeseed_wild_bottom.json @@ -0,0 +1 @@ +{"parent":"tfc:block/wild_crop/crop","textures":{"crop":"tfg:block/crop/rapeseed_age_5_bottom"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/crop/rapeseed_wild_top.json b/kubejs/assets/tfg/models/block/crop/rapeseed_wild_top.json new file mode 100644 index 000000000..b85951c0e --- /dev/null +++ b/kubejs/assets/tfg/models/block/crop/rapeseed_wild_top.json @@ -0,0 +1 @@ +{"parent":"block/crop","textures":{"crop":"tfg:block/crop/rapeseed_age_5_top"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/flax_line.json b/kubejs/assets/tfg/models/item/flax_line.json new file mode 100644 index 000000000..4e95ef350 --- /dev/null +++ b/kubejs/assets/tfg/models/item/flax_line.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/flax_line" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/flax_product.json b/kubejs/assets/tfg/models/item/flax_product.json new file mode 100644 index 000000000..1df7e23a2 --- /dev/null +++ b/kubejs/assets/tfg/models/item/flax_product.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/flax_product" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/flax_tow.json b/kubejs/assets/tfg/models/item/flax_tow.json new file mode 100644 index 000000000..e55451cde --- /dev/null +++ b/kubejs/assets/tfg/models/item/flax_tow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/flax_tow" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/flax_waste.json b/kubejs/assets/tfg/models/item/flax_waste.json new file mode 100644 index 000000000..d738595dd --- /dev/null +++ b/kubejs/assets/tfg/models/item/flax_waste.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/flax_waste" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/flax_wild.json b/kubejs/assets/tfg/models/item/flax_wild.json new file mode 100644 index 000000000..bc8d85359 --- /dev/null +++ b/kubejs/assets/tfg/models/item/flax_wild.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/crop/flax_wild" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/linen_cloth.json b/kubejs/assets/tfg/models/item/linen_cloth.json new file mode 100644 index 000000000..bfe64ab12 --- /dev/null +++ b/kubejs/assets/tfg/models/item/linen_cloth.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/linen_cloth" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/linen_thread.json b/kubejs/assets/tfg/models/item/linen_thread.json new file mode 100644 index 000000000..492133d0d --- /dev/null +++ b/kubejs/assets/tfg/models/item/linen_thread.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/linen_thread" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/washed_flax.json b/kubejs/assets/tfg/models/item/washed_flax.json new file mode 100644 index 000000000..3f67bc269 --- /dev/null +++ b/kubejs/assets/tfg/models/item/washed_flax.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/washed_flax" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_0.png b/kubejs/assets/tfg/textures/block/crop/flax_age_0.png new file mode 100644 index 0000000000000000000000000000000000000000..b99477ad697bf79155ad6bad436eca8162fd8b9e GIT binary patch literal 651 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4(FKU~I{Bb`J1#c2+1T%1_J8No8Qr zm{>c}*5j~)%+dJhrLIvfZxk*mI$u4ir}ZdeRRjz7(zO>>HJ@A>e_@HDXJMg83^!k$ zPMB=WoYK+)QI>=J0_6uiFS>gDi4V#Ue0;Fb{@&f{JA0Y;td$Dx*=Mm}#j<&xYArR1 zp&#}uHE^^E9BMhiqdPVB%)!!{yN3^7-z{;z$o~6tj+3sEz^Z0Y3^yEYHbE&iU+8D2SZuI#`V$#AphlBVxcdZjRFW{c)y0j+$ zUgFHpV(Ck-CCshvH{ZW2we+Q?y5^I8?Tjubr>+$)F z#q*b#?~eMyA#sOIZ{6-$Ti9dXF(~`bTG74j$>Nu~Qyab;|60amP{Yl$#&U1zx58fx zPgbmcD*fPrfP{YVw_T@qGwr@tGAEEo@2N?k+$Y2!1;6t_M<_ z1s;*b3=De8Ak0{?)V>TT$X?><>&pI;Lq<@Vt!v_wCqN;|64!_l=ltB<)VvY~=c3fa zlGGH1^30M91$R&1fbd2>aiF4PPZ!4!i_^&o60D08QW#z)to?6d+S1wB*ywo2_ow|X zrIdg3&)aiKcjR>JnEk1~#ImGNVs;=<>i_)w{gM(ua8It1<@tWwPaT43xBI8ZOGNC5 jko;Hkn|C=#7Q|tY{iXYUp)S89&^iWBS3j3^P6EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITcV02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{006B?L_t(I%k7Xc4udcZMeQi46>292hDt2mdIsiRpy%WQ z%sB%aOC*L2nLr4XNa^Ir4X9Oj{^qam=Pv^sI`l)g*CYHD+*>H0_wW^*22u#kMP2Rs zBBc*aha9??2><}B(#YX{T%o9|ApGn$RPM<|kg*T+9SkY2dy00000NkvXX Hu0mjfP3AG| literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_2.png b/kubejs/assets/tfg/textures/block/crop/flax_age_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2a41f78110527f2b178f885b21d3ef994abfa4 GIT binary patch literal 851 zcmV-Z1FZasP)EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00ApWL_t(I%k7apZi7G&h2N~Oa1c~3wyU zOP`YqP)3{qDFsE4D7K&qA}B_g6w#~!$2Z6{v-6|*-p&C3W^I2>c<$HvXE6XkXVD_L zJ0Jdx*L?t>0ALz!i=yLg9%AWRt5MS61g@25ikh6jeNZZc#75KK6|{Lpqv;n#F(I3x zCV}WI;;r_72W+*!AndOR%Ufp=cV$EC!2(q}i@41z0sxUcnjWU8ZSHtE*?kC1ymA89 zZh0%1A+R>DNM{kNHm^wJI^G6h8uNVXUD?pMooroT`)k6}aJw&2{QK)0 zN!*nU9WN)I*SoTzFpYUMJ-V_X1pqXBV|PCA{7ga;`Oi+O0DwKUIG3+p7DMD~01&1z di^?#K`3I0yrgNbPV^aVC002ovPDHLkV1g;`Yx4jA literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_3.png b/kubejs/assets/tfg/textures/block/crop/flax_age_3.png new file mode 100644 index 0000000000000000000000000000000000000000..347557b6cbd118f1f4ccd2ec7d291b7b8cd50353 GIT binary patch literal 963 zcmV;!13dhRP)EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00EmxL_t(I%bk(2j+;OfMej_;0wYMXil#tX7s#?i+*6si@9Li>qF6UKi2_30)UD!#jZUvqPMx#Q!==Xr7zFY$|n@5RXko z9=69ljiz(sV~qj64zWG%iA|-7JUqQT)3R-LA5Di_I{*NlUY<$)`i)yV;Bq<(oh2k( zo>5`+E#}|uZ9r4jLT3q?q7phw$o3OLxrY7r<^G7<;$-UEPIy7Z1#OAQ0*X|V*NT^`toB<$|YXCs^HXxL1*U{#%qtUncx{B^opg=y1 lYhJjV|K_kG?()_S_ygcf3)7{sQ@a2F002ovPDHLkV1nDot62a5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_4_bottom.png b/kubejs/assets/tfg/textures/block/crop/flax_age_4_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..49d943b5708876d09fb7b10842f762686526eb41 GIT binary patch literal 1004 zcmVEX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITD?02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00G2FL_t(I%Waass@pIW#y<%;v4wpDxq}D8?GQr2Qy$>b zF-t~2XU8sgEPjAag;MTNLkABwBr>vNiKv5ngp$^ae2(Sc_nkj@etmI8RXY5AimG(^ zapz+Ipg7FaJCE}eR$asUXy4vh2(;SxJpCxLH2{GB{`{TMMF6nsiqMf&SHyYh;RGX5 zPBcnbZ9q^`o!Y?z2u2|ONRIOqk3A4F^5qb$s~c8SrQ?q_t-AX9{%5pl#ILVEnAHZe a8u15GG$=@&NLmg600009_p= literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_4_top.png b/kubejs/assets/tfg/textures/block/crop/flax_age_4_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5ad34b4ddf7a40b07fa0aa4b986ea8cd2ed5c1fd GIT binary patch literal 651 zcmV;60(AX}P)EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{003i2L_t(I%VS^|1*3qPKss3KKiQha-IV{+)Mk7ZFcC6T zI#}!f%UyRFaT@UF^G^&xWHDqmx=Y{|3ERm1$LCy_LUcKCH|76K3=9kmEL^Mz8^8U= l=^|t~VH>&sFL&K#1OQBTEAk6um&E`8002ovPDHLkV1jWE4NU+5 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_5_bottom.png b/kubejs/assets/tfg/textures/block/crop/flax_age_5_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7efed0da9a97efb2f1a9c13159bb8b371b6d92 GIT binary patch literal 1069 zcmV+|1k(G7P)EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00IR`L_t(I%Vm7N}KCn8wbHg=tmudVeE40GR~*{&DLryg#ml1p-vr z-nC+379{^AhiObY8yWkvOaiAalfc0?%e5FTCdRXN99h-KB%nLUuIFw^^=* zbzqgp^Qq|$t{bBj*|mx=jq&W@vgbEvwFsLJYWCfNEi|gm5b11W?BWa;6BAWuDhA2{V*tI*pP>GhDG0`e>;Ry`U@ zB6{rF(|&vC-!>m4@Y=dN%n{Gm{y}oL~%gVItMoM#w-7evhOD})e$tFPmh~uBJabZ#9j}; n+3hCMsFGjbe+pf+G^*q;^EN}iJAm?%00000NkvXXu0mjf^fcla literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_5_top.png b/kubejs/assets/tfg/textures/block/crop/flax_age_5_top.png new file mode 100644 index 0000000000000000000000000000000000000000..c767d68e9d0d62469526c82396c283b3c64c765c GIT binary patch literal 824 zcmV-81IPS{P)EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009t5L_t(I%hgdUj>9kz9b1l?jS^H~P^qMBRgeP|_W;?8 zloS?4%5i#t1Qah14X&((j`C3~dC|DG>q@0HvOI6z&j6o)_Lr;9t490pdDZCs<*MH% z+5CJPFhA~`tTd zn5Tft001nB3|Pt8bb`+Aw-cyQKHCl1M@4&PBKymJ`+he_h%-8g-f3Bl67ILtqoi!* z%$;b%0+b~Yv}HjsPg@qm22G-ezu&XT%d*vjJc*to_%`i%s4J@E4F0441ED**qoVGJ zt*GP-YFG?N)Ex=A#0WH0Ow3aUh{`tc`moia?#MrxZK@o=2woEa0000EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00IB*D*_tKb8eG*j(G5NshiZ|YkbeL7-v4oO zdTa-i*v{rt3ow|(wm0fp8q3AKQP&P8u?3jTr*<%jtqePw%kwjmaqWFlbi<`X%v-#ATG$-unI-4RZxw^O!QGCSh!!r^< zg#p)hkM)DwhvymykZ!WN6bJkH>o+g=OW`%i0AWXC(!Bnx!k|`HVNkd9mIDE3zfHQykgLU7xD1@~aNM`e#x-qpB3bc4*wK{>VMp`&^j4?3Q)W-i zogLUgrBR69sB2%J-h>+(X%tDaWwls~;ka*i${>v*D?ZSE8yCCXQ(?f#>9LKX1Cq^_ zC{nd@R(wz-B`pc+Fd*4%X{8!4C@QFMbxISkQ#sB3YnQQFtVM6swc2l2z^tStHNjyu zU}8A#+a%fIYmXu;iJ}8sto=3sNwTFSHD9|7UweCS&!mR((*l*9CN;I^Mw)L{YQK#! zRg;I~el>~S53x5WEm=+F*Dm|!zex>$|1AGoZ}EX>4Tx04R}tkv&MmKpe$iTct%>MC>5aAw$*0E-Koq#-~;169;uB1Wr9ih&I6CtUoawm(fSiCk4M zax9<@1)}W-|AXJ%8l~weCn=Z!`d=*TV+`=`0_~<{eIHv^`vmYk16OL-UvB|(pQJat zTJ#7Q+y*YLyPC8ITeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009O`L_t(I%gs@-3c^4P%^fNtl#aS}kPdZp>#T#D&aMjL z;39s6e;^`$MdvPlM4h_ZQ4UH`;T$w2m#gAvw!FOLy(9pC5xe6;|AJM8+#MJCdcGJ9 zpRlhE`jem}^afqco41>>{yKy=(Sd&GSo_g17I;_tTh=Qe4bbNiD(%R=3NgVZLibFRvAkV%{hs#vJoYqxhKaVn}@ s;;SY7IUdGow+tdG)4_h|=_F3Y6R-@@-m6*}asU7T07*qoM6N<$f<9_s=Kufz literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_dead_bottom.png b/kubejs/assets/tfg/textures/block/crop/flax_dead_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..cdc10966657f09dcaf997b60a021a1eaf67d862c GIT binary patch literal 1066 zcmV+_1l9YAP)EX>4Tx04R}tkv&MmKpe$iQ>8^J9qb??lA$`ai(fdFDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRlrQAk ztZ?4qtXAu+b5H)lKtWr{aGmBT5?DeKDTt6!M+H?_h|;Q&Vj@lZaTouH<4=)GCRYWF z91EyHh2;3b|KNAGW^rn=ofL=z{V%rtF%I~4fmXw|zmILZbpm*wfh(=+uQh?WPtqG* zEqnw7w}Ff6t|spRmpj1llP(#OBY9~G#Uk*2M&FbNhHim@wRUfveVjf3S?X%}1~@nb zCQ6jO?(%MbZ*Tve>GbylHyCpD9z^Xh00006VoOIv00000008+zyMF)x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=?ESVI4jLoi2(or02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00II@L_t(I%UzSdZ`wc<$G^`?B^!ZIy&$ugC{j|%0|Nt5 zCzfvA8KRPb8D&L;HHg*XF9?+f_HJF6DlZHSmMSDvym0bz5e30X8Lor#T$5Yw$9wmA z-}l}f9`0`Sbkx>(8`Du+k9#fscwf)X#=Vy2nSJ@pXm~ERB0+xa|Gr>Opq02rOYjPjSaBEikgCzJ{w@btW-tw_-D+|14}1{q9aNkS@g1~Ynk zUS{A$6lbY0j6ueGa>H{o7{eXg%+?I^gOH}9wl-J}leZ!{Q}kZ8AB2=o*BJL&T1b`U z)St|WqX0l>Fe6sLAWo<1RA30H;MgXrP6gZ|KM0AdoF5DVfWz^GMHIvEgOFGOM;>;Y zI$yYa8#zd^V4>l;X%QQqi~eMuNxi7{!8xMHEBs6ux|}VG+gn`Rn(a zHH8{nPx#07*qoM6N<$f_N3wlK=n! literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_dead_top.png b/kubejs/assets/tfg/textures/block/crop/flax_dead_top.png new file mode 100644 index 0000000000000000000000000000000000000000..922995fca6efee751904ddbe86ed12f0eb2bb9b1 GIT binary patch literal 810 zcmV+_1J(SAP)EX>4Tx04R}tkv&MmKpe$iQ>8^J9qb??lA$`ai(fdFDi*;)X)CnqU~=gfG-*gu zTpR`0f`cE6RRlrQAk ztZ?4qtXAu+b5H)lKtWr{aGmBT5?DeKDTt6!M+H?_h|;Q&Vj@lZaTouH<4=)GCRYWF z91EyHh2;3b|KNAGW^rn=ofL=z{V%rtF%I~4fmXw|zmILZbpm*wfh(=+uQh?WPtqG* zEqnw7w}Ff6t|spRmpj1llP(#OBY9~G#Uk*2M&FbNhHim@wRUfveVjf3S?X%}1~@nb zCQ6jO?(%MbZ*Tve>GbylHyCpD9z^Xh00006VoOIv00000008+zyMF)x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=?ESVH8}i6wvqq<02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{009C?L_t(I%VS^|9-t%F;Xg9JI$r-j$%ZUy3;z$(oENI~ zpIAefV2o$aUotQ-Ffg<(yvWGQ#mbh|34Ef42-qqQJf|z#KC~>I+#~su54X+krBoJ=-~l#J~lbH zmyiPwTdbh_9ofK+T!;TmXRkg)@e_J@NJ)z0^xE@xKNy%Kg*X_{{e-OO?A3=Tu0S?W zQiuc7|LD#{md6%WOvoV&6T}q*=xWbieaOI6G5G)^vW?H4zeEXxipd8UvAGiF1tx3( ogPtZ}HX|FHA8ql!V)6k-0L2rU+?LE`cK`qY07*qoM6N<$g3M@I8UO$Q literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/block/crop/flax_dead_young.png b/kubejs/assets/tfg/textures/block/crop/flax_dead_young.png new file mode 100644 index 0000000000000000000000000000000000000000..537b89f0d96e3f8de49f66f5f3fcb80d8c2f091e GIT binary patch literal 865 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/flax_product.png b/kubejs/assets/tfg/textures/item/flax_product.png new file mode 100644 index 0000000000000000000000000000000000000000..e11d74c1096e6bef8b4a267ef4e9b750fd28664d GIT binary patch literal 878 zcmV-!1CjiRP)EX>4Tx04R}tkv&MmKpe$iTcuSh4(%YKkfAzR2NiKFRV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;yWphgA|?JWDYS_3;J6>}?mh0_0p4bnDMn8WP*hV- zC*ndbzbg1&5x^)ym_(n*3@w>i%))hi-NVDzyC~0cKlkStkP8L_JOXiyX}U?gK|H%@ zYMl3p!>laI#OK5lI$ez!^A?Vi={4RWnCejA&$t3O8MTL z!!qYB&Puh;+V|uy3>MUt4A*InAb}+$k%9mTbyQG=i72fqDF)KCA9wK&+x`@}Byv^2 z$gzML6o|GT{11M2YZRxaoTOkJ=zX!Qk1@c%3$z-R^?htvtrNia3|y%lf2|43eUjej zXptjea2vR|?r72;aJd5vJ!zsY+LDi^w^#(;&*+=-KeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00BlxL_t(I%VS`m2bexL{XZ@_CSo*yy#4}i2)bbe4Vb<8 z5Cgxa1Vd)>Oh$CWhyq&9%Kud@<^MAvs*F{DK}5Dr8R zUN(l$FTXKd+k2N0X4viH4;dpJ%@{u2dd1K^G5$YJ15_>L|Nr>>3+_yqVGIlm42yRj zXW&y4V<^pEh}{cD0h<3=xmXxDc-b%vQ!*E^WJo5o;{4P-kFZfcq6@*tNZP8TGu>{(pJ> z9m8f67jW>hp~NpN`t-ci{{Q^)3#VqHfRd@~f12i00C;Mn^Tuv8D*ylh07*qoM6N<$ Ef>NS^fB*mh literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/flax_seed.png b/kubejs/assets/tfg/textures/item/flax_seed.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea5f5337b0d3f69a4d6b3f956c019bd7bb77931 GIT binary patch literal 617 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 literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/linen_thread.png b/kubejs/assets/tfg/textures/item/linen_thread.png new file mode 100644 index 0000000000000000000000000000000000000000..1cb8f845f1342055f238245cab1cf511cea6b40f GIT binary patch literal 745 zcmVEX>4Tx04R}tkv&MmKpe$iTct&+4t5Yx3|O7)q9Tr^ibb$c+6t{Ym|Xe=O&XFE z7e~Rh;NZt%)xpJCR|i)?5c~jf7n~Gbq{ROvg%&X$9QWhhy~o`Mx?e2oV;u1B0?oQ*eIHv^^91lc16OL>Uu^($pQP8@ zTKEX)-v%zO+nTfoTtU0~4_Hp_EWT>m<8{ps& zm?%>Ay34x*oxS~grq$mMeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{006;BL_t(I%e|7Z4Z|Q1MgK{e!gfpH9nxlrq{)zQ&6157Rpa%u>;i=$pHWsrGc5rCTp*kfUc=4w8t}HW?GbHB(ugaO%3dQ zycXtxv$Lv)Z_^i`KnZ|+Jkit@7Ny;Oy5E4A$yqd(vDLP(mFN^@hv@ZoBr#>$Gl}lJ biCq{Ue3h67htXp`00000NkvXXu0mjfViQ7D literal 0 HcmV?d00001 diff --git a/kubejs/assets/tfg/textures/item/washed_flax.png b/kubejs/assets/tfg/textures/item/washed_flax.png new file mode 100644 index 0000000000000000000000000000000000000000..20f41ed14c2ce9a5215d4956c2c705f887e5a28c GIT binary patch literal 797 zcmV+&1LFLNP)EX>4Tx04R}tkv&MmKpe$iTcuSh4(%YKkfAzR2NiKFRV;#q(pG5I!Q|2}Xws0R zxHt-~1qVMCs}3&Cx;nTDg5U>;yWphgA|?JWDYS_3;J6>}?mh0_0p4bnDMn8WP*hV- zC*ndbzbg1&5x^)ym_(n*3@w>i%))hi-NVDzyC~0cKlkStkP8L_JOXiyX}U?gK|H%@ zYMl3p!>laI#OK5lI$ez!^A?Vi={4RWnCejA&$t3O8MTL z!!qYB&Puh;+V|uy3>MUt4A*InAb}+$k%9mTbyQG=i72fqDF)KCA9wK&+x`@}Byv^2 z$gzML6o|GT{11M2YZRxaoTOkJ=zX!Qk1@c%3$z-R^?htvtrNia3|y%lf2|43eUjej zXptjea2vR|?r72;aJd5vJ!zsY+LDi^w^#(;&*+=-KeSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{008w#L_t(I%dL|?4}vfh#D6soVw!HoFXBMrf|GF|apN;O zJ22wtS24zg;NPVVFVzCAI`|eIx#PGy3jAwU3+ykPB5(7Qf0L!y=|uL;wv9PFNx z-}ZWm9gpPN6EIqG#tzYZhCQBSzdxkdpAJfQ)=R7(L-}Rx_9*v1#GE*h^BFF;2;rLx bCj#&U!uDshzM0A*00000NkvXXu0mjfjUHB| literal 0 HcmV?d00001 diff --git a/kubejs/data/tfg/worldgen/configured_feature/earth/flax_patch.json b/kubejs/data/tfg/worldgen/configured_feature/earth/flax_patch.json new file mode 100644 index 000000000..a45b5eb4e --- /dev/null +++ b/kubejs/data/tfg/worldgen/configured_feature/earth/flax_patch.json @@ -0,0 +1,40 @@ +{ + "type": "minecraft:random_patch", + "config": { + "feature": { + "feature": { + "type": "tfc:tall_wild_crop", + "config": { + "block": "tfg:flax_wild" + } + }, + "placement": [ + { + "type": "minecraft:heightmap", + "heightmap": "WORLD_SURFACE_WG" + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "tfc:replaceable" + } + }, + { + "type": "block_predicate_filter", + "predicate": { + "type": "would_survive", + "state": { + "Name": "tfg:flax_wild", + "Properties": { + "part": "bottom" + } + } + } + } + ] + }, + "tries": 20, + "xz_spread": 16, + "y_spread": 1 + } +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/earth/flax_patch.json b/kubejs/data/tfg/worldgen/placed_feature/earth/flax_patch.json new file mode 100644 index 000000000..15312c13a --- /dev/null +++ b/kubejs/data/tfg/worldgen/placed_feature/earth/flax_patch.json @@ -0,0 +1,20 @@ +{ + "feature": "tfg:earth/flax_patch", + "placement": [ + { + "type": "minecraft:rarity_filter", + "chance": 55 + }, + { + "type": "minecraft:in_square" + }, + { + "type": "tfc:climate", + "min_temperature": -5, + "max_temperature": 27, + "min_rainfall": 175, + "max_rainfall": 475, + "max_forest": "sparse" + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/firmaciv/recipes.js b/kubejs/server_scripts/firmaciv/recipes.js index dbb956595..c8f0d6b75 100644 --- a/kubejs/server_scripts/firmaciv/recipes.js +++ b/kubejs/server_scripts/firmaciv/recipes.js @@ -104,6 +104,8 @@ const registerFirmaCivRecipes = (event) => { //#endregion // #region More rope + event.replaceInput({ output: 'firmaciv:rope_coil'}, 'tfc:jute_fiber', '#tfg:burlap_fiber') + event.shaped('firmaciv:rope_coil', [ 'A ', 'AB', diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 2b09e8271..7b3e926eb 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1171,6 +1171,8 @@ const registerGTCEURecipes = (event) => { //#region GT Facades + event.remove({ id: 'gtceu:crafting/facade_cover'}) + event.shapeless(Item.of('gtceu:facade_cover', 8, '{Facade: {Count:1b,id:"minecraft:stone"}}'), ['3x #forge:plates/iron', "#tfg:whitelisted/facades"]) .modifyResult((craftingGrid, result) => { let blockID = craftingGrid.find(Ingredient.of("#tfg:whitelisted/facades")).id diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 5b96b8489..24bbbeb91 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -780,7 +780,7 @@ const registerMinecraftRecipes = (event) => { ' BA', 'A ' ], { - A: 'tfc:jute_fiber', + A: '#tfg:burlap_fiber', B: '#forge:rings' }).id('tfc:crafting/lead') diff --git a/kubejs/server_scripts/sacksnstuff/recipes.js b/kubejs/server_scripts/sacksnstuff/recipes.js index 5f0db5160..b29697338 100644 --- a/kubejs/server_scripts/sacksnstuff/recipes.js +++ b/kubejs/server_scripts/sacksnstuff/recipes.js @@ -59,7 +59,7 @@ const registerSNSRecipes = (event) => { 'BCB', 'DBE' ], { - A: 'tfc:jute_fiber', + A: '#tfg:burlap_fiber', B: 'sns:leather_strip', C: 'sns:unfinished_leather_sack', D: 'minecraft:name_tag', @@ -68,7 +68,7 @@ const registerSNSRecipes = (event) => { ) ).id('sns:crafting/leather_sack') - event.recipes.tfc.damage_inputs_shaped_crafting( + /*event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped('sns:leather_sack', [ ' A ', 'BCB', @@ -81,7 +81,7 @@ const registerSNSRecipes = (event) => { E: 'tfc:bone_needle' } ) - ).id('sns:crafting/leather_sack_coil') + ).id('sns:crafting/leather_sack_coil')*/ event.recipes.tfc.damage_inputs_shaped_crafting( event.shaped('sns:ore_sack', [ @@ -161,7 +161,7 @@ const registerSNSRecipes = (event) => { itemAsHead: 'gtceu:small_pipe_extruder_mold', results: [{ item: '2x sns:buckle' }], processingTime: 80 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER - }).id('sns:vi/curving/buckle') + }).id('sns:vi/curving/buckle2') event.shaped('sns:pack_frame', [ 'AAA', @@ -177,11 +177,11 @@ const registerSNSRecipes = (event) => { 'BBB', 'AAA' ], { - A: 'tfc:jute_fiber', + A: '#tfg:burlap_fiber', B: '#forge:string' }).id('sns:shaped/reinforced_fiber') - + /* event.shaped('2x sns:reinforced_fiber', [ ' A ', 'BBB', @@ -191,10 +191,10 @@ const registerSNSRecipes = (event) => { B: '#forge:string', C: '#forge:tools/knives' - }).id('sns:shaped/reinforced_fiber_rope') + }).id('sns:shaped/reinforced_fiber_rope')*/ event.recipes.gtceu.assembler('sns:reinforced_fiber') - .itemInputs('2x tfc:jute_fiber', '#forge:string') + .itemInputs('2x #tfg:burlap_fiber', '#forge:string') .itemOutputs('sns:reinforced_fiber') .duration(40) .EUt(GTValues.VA[GTValues.LV]) @@ -215,7 +215,6 @@ const registerSNSRecipes = (event) => { .duration(120) .EUt(GTValues.VA[GTValues.LV]) - event.recipes.gtceu.bender('sns:horseshoe_steel_electric_only') .itemInputs('#forge:rods/steel') .itemOutputs('sns:metal/horseshoe/steel') diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index bdec8b8dc..259dbf20f 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -332,6 +332,7 @@ const registerTFCItemTags = (event) => { }) event.add('tfc:any_knapping', '#tfc:pit_kiln_straw') + event.add('tfg:burlap_fiber', 'tfc:jute_fiber') } const registerTFCBlockTags = (event) => { @@ -603,6 +604,7 @@ const registerTFCPlacedFeatures = (event) => { // Crops event.add('tfc:feature/crops', 'tfg:earth/sunflower_patch') event.add('tfc:feature/crops', 'tfg:earth/rapeseed_patch') + event.add('tfc:feature/crops', 'tfg:earth/flax_patch') // Other decoration event.add('tfc:in_biome/underground_decoration', 'tfg:glow_lichen') diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 10ef9f334..4fe84fcf7 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -258,6 +258,8 @@ const registerTFGFoodData = (event) => { food.decayModifier(1.5) }) + + // high-tech food @@ -429,6 +431,15 @@ const registerTFGCropRanges = (event) => { climate.hydrationWiggle(7.5) climate.temperatureWiggle(1.5) }, 'tfg:rapeseed') + + event.climateRange(climate => { + climate.minHydration(15) + climate.maxHydration(65) + climate.minTemperature(-8) + climate.maxTemperature(25) + climate.hydrationWiggle(6.5) + climate.temperatureWiggle(3) + }, 'tfg:flax') // Mars event.climateRange(climate => { @@ -523,6 +534,24 @@ const registerTFGFLPlanters = (event) => { ], null ) + + event.firmalifePlantable( + 'tfg:flax_seeds', + 'large', + 0, + 3, + 0.2, + 'tfg:flax_seeds', + 'tfg:flax_product', + 'nitrogen', + [ + 'tfg:block/crop/flax_age_0', + 'tfg:block/crop/flax_age_1', + 'tfg:block/crop/flax_age_5_top', + 'tfg:block/crop/flax_age_6_top' + ], + null + ) event.firmalifePlantable( 'betterend:amber_root_seeds', diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 9e87f0aab..16f97a4cd 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -1367,6 +1367,60 @@ function registerTFGMiscellaneousRecipes(event) { B: 'beneath:warped_straw' }).id('tfg:shaped_large_nest_warped') - //#endregion + + //#region flax stuff + + event.recipes.tfc.scraping( + 'tfg:flax_waste', + 'tfg:flax_product', + 'tfg:item/flax_waste', + 'tfg:item/flax_product', + '2x tfg:flax_line' + ).id('tfg:scraping/flax_line') + + event.recipes.tfc.scraping( + 'tfc:groundcover/humus', + 'tfg:flax_waste', + 'tfc:item/groundcover/humus', + 'tfg:item/flax_waste', + 'tfg:flax_tow' + ).id('tfg:scraping/flax_tow') + + event.recipes.tfc.damage_inputs_shapeless_crafting( + event.shapeless('4x tfg:linen_thread', [ + 'tfg:flax_line', + 'tfc:spindle' + ]).id('tfg:shapeless/linen_thread') + ) + + //#region looming + event.recipes.tfc.loom( + '1x tfg:linen_cloth', + '16x tfg:linen_thread', + 8, + 'tfc:block/burlap' + ) + + event.recipes.tfc.loom( + '1x tfc:burlap_cloth', + '16x tfg:flax_tow', + 12, + 'tfc:block/burlap' + ) + + event.recipes.gtceu.assembler('tfg:assembler/linen_cloth') + .itemInputs('16x tfg:linen_thread') + .circuit(10) + .itemOutputs('tfg:linen_cloth') + .duration(100) + .EUt(4) + + event.recipes.gtceu.assembler('tfg:assembler/flax_burlap') + .itemInputs('16x tfg:flax_tow') + .circuit(10) + .itemOutputs('tfc:burlap_cloth') + .duration(100) + .EUt(4) + } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index 9c31a059b..2a3a3f3b7 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -7,9 +7,11 @@ const registerTFGItemTags = (event) => { //crop stuff event.add('tfc:seeds', 'tfg:sunflower_seeds') event.add('tfc:seeds', 'tfg:rapeseed_seeds') + event.add('tfc:seeds', 'tfg:flax_seeds') event.add('tfc:foods', 'tfg:roasted_sunflower_seeds') event.add('tfc:compost_greens_high', 'tfg:rapeseed_product') event.add('tfc:compost_greens_high', 'tfg:sunflower_product') + event.add('tfc:compost_greens_high', 'tfg:flax_product') event.add('tfg:water_breathing_ingredients', 'tfg:rapeseed_product') event.add('tfg:night_vision_ingredients', 'tfg:sunflower_product') @@ -101,6 +103,7 @@ const registerTFGItemTags = (event) => { event.add('tfc:sewing_dark_cloth', 'tfg:polycaprolactam_fabric') event.add('forge:string', 'tfg:phantom_thread') event.add('forge:string', 'tfg:polycaprolactam_string') + event.add('forge:string', 'firmalife:pineapple_yarn') //#endregion // #region Medicines @@ -448,6 +451,9 @@ const registerTFGBlockTags = (event) => { event.add('tfc:crops', 'tfg:sunflower') event.add('tfc:mineable_with_sharp_tool', 'tfg:sunflower') + + event.add('tfc:crops', 'tfg:flax') + event.add('tfc:mineable_with_sharp_tool', 'tfg:flax') // #region Nether blocks event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate') diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 2f8c73dff..85ff1b4bd 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -1035,6 +1035,8 @@ global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = [ { input: '8x tfc:seeds/yellow_bell_pepper', fluid_amount: 4000, output: '24x tfc:food/yellow_bell_pepper', name: 'yellow_bell_pepper' }, { input: '8x tfg:sunflower_seeds', fluid_amount: 4000, output: '24x tfg:sunflower_product', name: 'sunflower' }, { input: '8x tfg:rapeseed_seeds', fluid_amount: 4000, output: '24x tfg:rapeseed_product', name: 'rapeseed' }, + { input: '8x tfg:flax_seeds', fluid_amount: 4000, output: '24x tfg:flax_product', name: 'flax' } + ]; global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ diff --git a/kubejs/startup_scripts/tfg/blocks.plants.js b/kubejs/startup_scripts/tfg/blocks.plants.js index 0e1b496aa..83099b7fc 100644 --- a/kubejs/startup_scripts/tfg/blocks.plants.js +++ b/kubejs/startup_scripts/tfg/blocks.plants.js @@ -59,6 +59,39 @@ const registerTFGCrops = (event) => { .tagBoth('tfc:wild_crops') .tagBlock('minecraft:mineable/hoe') .tagItem('c:hidden_from_recipe_viewers') + + event.create('tfg:flax', 'tfc:double_crop') + .translationKey('block.tfg.flax') + .soundType('crop') + .nutrient('nitrogen') + .stages(5) + .doubleStages(3) + .hardness(0.4) + .growthModifier(1.2) + .expiryModifier(1.2) + .tagBlock('minecraft:mineable/hoe') + .productItem(product => { + product.texture('tfg:item/flax_product') + product.tag('tfc:scrapable') + }) + .seedItem(seed => { + seed.texture('tfg:item/flax_seed') + }) + .deadBlock(dead => { + dead.hardness(0.2) + dead.soundType('crop') + dead.tagBlock('minecraft:mineable/hoe') + }) + + event.create('tfg:flax_wild', 'tfc:wild_crop') + .type('double') + .soundType('crop') + .seeds('tfg:flax_seeds') + .food('tfg:flax_product') + .hardness(0.2) + .tagBoth('tfc:wild_crops') + .tagBlock('minecraft:mineable/hoe') + .tagItem('c:hidden_from_recipe_viewers') // Mars Crops diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index a301cf31c..6e34a4554 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -401,4 +401,18 @@ const registerTFGItems = (event) => { .tag('tfc:sweetener') //#endregion + //#region Flax Stuff + event.create('tfg:flax_waste') + .tag('tfc:scrapable') + event.create('tfg:flax_tow') + .tag('tfg:burlap_fiber') + .tag('tfc:compost_browns') + event.create('tfg:flax_line') + .tag('tfc:compost_browns_low') + event.create('tfg:linen_thread') + .tag('forge:string') + event.create('tfg:linen_cloth') + .tag('forge:cloth') + .tag('tfc:sewing_light_cloth') + } diff --git a/pakku-lock.json b/pakku-lock.json index dff8dd7fe..9c12fe6ed 100644 --- a/pakku-lock.json +++ b/pakku-lock.json @@ -12709,6 +12709,29 @@ "modrinth": "2yZ8ZSeO" }, "files": [ + { + "type": "curseforge", + "file_name": "tfcgroomer-1.20.1-0.1.4.jar", + "mc_versions": [ + "1.20.1" + ], + "loaders": [ + "forge" + ], + "release_type": "release", + "url": "https://edge.forgecdn.net/files/6118/92/tfcgroomer-1.20.1-0.1.4.jar", + "id": "6118092", + "parent_id": "1003785", + "hashes": { + "sha1": "e1bb7e932f900cee6be0bf5faf3fc77111488865", + "md5": "e4f19ca0413c9716cb86a3b50ae27a36" + }, + "required_dependencies": [ + "302973" + ], + "size": 134178, + "date_published": "2025-01-23T23:02:18.440Z" + }, { "type": "modrinth", "file_name": "tfcgroomer-1.20.1-0.1.4.jar", @@ -12729,29 +12752,6 @@ "required_dependencies": [], "size": 134178, "date_published": "2025-07-27T17:29:15.479048Z" - }, - { - "type": "curseforge", - "file_name": "tfcgroomer-1.20.1-0.2.0.jar", - "mc_versions": [ - "1.20.1" - ], - "loaders": [ - "forge" - ], - "release_type": "release", - "url": "https://edge.forgecdn.net/files/6935/736/tfcgroomer-1.20.1-0.2.0.jar", - "id": "6935736", - "parent_id": "1003785", - "hashes": { - "sha1": "ad89216cf3689907af1c28b133bae6e26f749941", - "md5": "2f48a69948c27210a6c791c6c338124d" - }, - "required_dependencies": [ - "302973" - ], - "size": 152509, - "date_published": "2025-08-27T22:46:58.430Z" } ] },