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 000000000..b99477ad6 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_0.png differ diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_1.png b/kubejs/assets/tfg/textures/block/crop/flax_age_1.png new file mode 100644 index 000000000..d752f49a0 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_1.png differ 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 000000000..ff2a41f78 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_2.png differ 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 000000000..347557b6c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_3.png differ 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 000000000..49d943b57 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_4_bottom.png differ 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 000000000..5ad34b4dd Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_4_top.png differ 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 000000000..cd7efed0d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_5_bottom.png differ 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 000000000..c767d68e9 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_5_top.png differ diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_6_bottom.png b/kubejs/assets/tfg/textures/block/crop/flax_age_6_bottom.png new file mode 100644 index 000000000..33905b917 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_6_bottom.png differ diff --git a/kubejs/assets/tfg/textures/block/crop/flax_age_6_top.png b/kubejs/assets/tfg/textures/block/crop/flax_age_6_top.png new file mode 100644 index 000000000..edaa3caa2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_age_6_top.png differ 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 000000000..cdc109666 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_dead_bottom.png differ 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 000000000..922995fca Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_dead_top.png differ 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 000000000..537b89f0d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/crop/flax_dead_young.png differ diff --git a/kubejs/assets/tfg/textures/item/flax_line.png b/kubejs/assets/tfg/textures/item/flax_line.png new file mode 100644 index 000000000..0ff9bc17f Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flax_line.png differ 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 000000000..e11d74c10 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flax_product.png differ 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 000000000..4ea5f5337 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flax_seed.png differ diff --git a/kubejs/assets/tfg/textures/item/flax_tow.png b/kubejs/assets/tfg/textures/item/flax_tow.png new file mode 100644 index 000000000..e157552b7 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flax_tow.png differ diff --git a/kubejs/assets/tfg/textures/item/flax_waste.png b/kubejs/assets/tfg/textures/item/flax_waste.png new file mode 100644 index 000000000..6825dab03 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flax_waste.png differ diff --git a/kubejs/assets/tfg/textures/item/linen_cloth.png b/kubejs/assets/tfg/textures/item/linen_cloth.png new file mode 100644 index 000000000..6bd36cb28 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/linen_cloth.png differ 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 000000000..1cb8f845f Binary files /dev/null and b/kubejs/assets/tfg/textures/item/linen_thread.png differ 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 000000000..20f41ed14 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/washed_flax.png differ 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" } ] },