diff --git a/.github/README.md b/.github/README.md
index 5c92b2a6b..efbbc238d 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -26,7 +26,7 @@
-
+
---
TerraFirmaGreg-Modern is a deep survival and tech modpack for Minecraft 1.20.1, seamlessly fusing together TerraFirmaCraft and GregTech.
@@ -60,7 +60,7 @@ Want to help translate? Please read [this](../kubejs/README%20IF%20TRANSLATING.m
---
-
+
External Credits and Special Thanks
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 223ed0f22..83663b611 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -11,7 +11,7 @@ updates:
schedule:
interval: "weekly"
labels:
- - "Type: Dependencies"
+ - "Pull request: Dependencies"
groups:
dependencies:
applies-to: version-updates
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index bd72f0b86..07c008bf5 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -190,7 +190,7 @@ jobs:
```
- name: 📝 Generate Github Summary
- uses: WcAServices/markdown-template-action@v1.1.0
+ uses: WcAServices/markdown-template-action@v1.1.1
with:
template: |
📃 **Name**: ${{ steps.check.outputs.project_name }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 76445838f..f8355388c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,53 @@
### Changes
### Bug fixes
+## [0.10.5] - 03-08-2025
+### Major changes
+- New major GregTech version! Read all about its new changes [here](https://github.com/GregTechCEu/GregTech-Modern/releases), and please report any issues you find! @gustovafing
+- Added initial implementation of interplanetary logistics @gustovafing
+### Known issues
+- Some items have multiple, incorrect recycling recipes
+- Steam machines use twice as much steam as they're supposed to
+### Other changes
+- Added universal compost items, for more efficient storage of compostables @Vazde @Redeix
+- Vanilla moss blocks/carpet are now compostable @Pyritie
+- Added missing mixer recipes for turning medium compost greens/browns into compost @Pyritie
+- Adjusted recipe times of the VI machines @Pyritie
+- Added recipe for backpack feeding upgrade (#1462) @Pyritie
+- Greate shaft recipes are now shapeless (#1453) @Pyritie
+- Added crafting table recipes for matches and the matchbox (#1449) @Pyritie
+- Made "Etched" accessible earlier (#1473) @Nebby1999
+- Added faster recipes for crafting dough until the food processor @Pyritie
+- Black bronze now has a fluid pipe instead of an item pipe, so the drum has proper containment info @Pyritie
+- Added recipes to create basic TFC alcohol in the food processor @Pyritie
+- Added melting recipes for all the TFC metal powders @Pyritie
+- Added mortar and pestle recipes for soybean and olive paste (#1480) @Pyritie
+- Added concrete to the list of valid blocks for GT facades (#1487) @TheAshenWolf
+- Removed Advanced Peripherals' Overpowered End Automata for allowing cheap interdimensional travel
+- Removed Advanced Peripherals' Chunk Controller for allowing too much offline chunkloading, slowing down large servers
+- Added Invar as a TFC-compatible metal (#1496) @Pyritie
+- Added extruder/curving press recipes for Tuyeres (#1499) @Pyritie
+- Added recipes for more train tracks @Pyritie
+- Added a recipe to get Wood Gas for your food processor in LV (#1491) @Pyritie
+- Regular thorium is also now weakly radioactive @Pyritie
+- Added grape trellises to the list of plants harvestable by baskets (#1510) @Redeix
+- Added full PBR material shader support for custom GT machines and casings (#1512) @Redeix
+### Bug fixes
+- Some bug fixes for the electric refrigerators @gustovafing
+- Fixed not being able to craft fine wire in a coiling machine for materials that didn't also have normal wire @Pyritie
+- Fixed cobalt brass and potin double plates not being obtainable until MV @Pyritie
+- Fixed missing recipe for cooking fox meat @Pyritie
+- Fixed ingot extruder mold recipe conflict @BlueBoat29
+- Fixed wire cutter head extruder recipes missing a mold @Pyritie
+- Possibly fixed the issue with airplanes and akistor carts not appearing when placing them (#1447) @Pyritie
+- Fixed not being able to make sea water with TFC salt in a barrel (#1476) @Pyritie
+- Fixed the electric greenhouse fruit tree recipes making more saplings instead of fruit (#1445) @Pyritie
+- Fixed missing firmalife jam food processor recipes (#1478) @Pyritie
+- Book and quill uses any black dye now (#1506) @Pyritie
+- Button recipe unification (mostly) (#1461) @Pyritie
+### Translation updates
+- Ukranian @Furryks & @MetEnBouldry
+
## [0.10.4] - 25-07-2025
### Changes
- Added block interactions for mossy cobble (#1434) @Redeix
@@ -25,6 +72,7 @@
- Added mortar and pestel recipes for grain to flour @Pyritie
- Added in-world shift + right-click interactions for bricks. Greens can be used to turn bricks into mossy bricks, and a knife reverts it. Hammers make cracked bricks and mortar repairs them. (#1416) @Redeix
- Steam can now be pumped into Blaze Burners via the Straw (#1379) @Nyonyix
+- Rearranged some anvil finish sequences to fit TFG convention @Zippity
- Replaced moon skeletons with Strays @Pyritie
- Replaced Beneath cave endermen with a different, passive one (same loot table though) @Pyritie
- Added sandpaper recipes for early game gems @Pyritie
@@ -34,6 +82,8 @@
- Fixed new extruder molds missing a tag to work with the curving press (#1412) @Forsuin
- Fixed contraptions no longer understanding TFC chests @Pyritie
- Fixed ice never melting in the overworld (#1408) @Pyritie
+- Fixed small gears not having heat data @Zippity
+- Fixed forgeable small gears not being meltable @Zippity
- Removed most empty tag recipes (#1420) @BlueBoat29
- Fixed Styrene Butadiene Belt recipe (#1421) @BlueBoat29
- Fixed deer dropping camelidae meat with a butchery knife @Pyritie
diff --git a/config/adaptive_performance_tweaks/spawn.toml b/config/adaptive_performance_tweaks/spawn.toml
index f6afde47b..fc894f18c 100644
--- a/config/adaptive_performance_tweaks/spawn.toml
+++ b/config/adaptive_performance_tweaks/spawn.toml
@@ -2,7 +2,7 @@
#Adaptive Performance Tweaks: Spawn
[General]
#General allow list for spawn entities (e.g. minecraft:squid) which should be ignored for optimization.
- allowList = [""]
+ allowList = ["immersive_aircraft:quadrocopter", "immersive_aircraft:airship", "immersive_aircraft:cargo_airship", "immersive_aircraft:warship", "immersive_aircraft:gyrodyne", "man_of_many_planes:economy_plane", "immersive_aircraft:biplane", "man_of_many_planes:scarlet_biplane", "immersive_aircraft:bamboo_hopper"]
#General deny list for spawn entities (e.g. minecraft:bat) to no longer spawn in all worlds.
denyList = [""]
#General list of ignored dimensions.
diff --git a/config/adaptive_performance_tweaks/spawn/AstikorCartsSpawn.toml b/config/adaptive_performance_tweaks/spawn/AstikorCartsSpawn.toml
new file mode 100644
index 000000000..77bee8c19
--- /dev/null
+++ b/config/adaptive_performance_tweaks/spawn/AstikorCartsSpawn.toml
@@ -0,0 +1,6 @@
+
+#Adaptive Performance Tweaks: Spawn
+["Astikor Carts Spawn Config"]
+ Enabled = false
+ Id = "astikorcarts"
+
diff --git a/config/adaptive_performance_tweaks/spawn/ImmersiveAircraftSpawn.toml b/config/adaptive_performance_tweaks/spawn/ImmersiveAircraftSpawn.toml
new file mode 100644
index 000000000..e53237931
--- /dev/null
+++ b/config/adaptive_performance_tweaks/spawn/ImmersiveAircraftSpawn.toml
@@ -0,0 +1,6 @@
+
+#Adaptive Performance Tweaks: Spawn
+["Immersive Aircraft Spawn Config"]
+ Enabled = false
+ Id = "immersive_aircraft"
+
diff --git a/config/adaptive_performance_tweaks/spawn/ManyOfManyPlanesSpawn.toml b/config/adaptive_performance_tweaks/spawn/ManyOfManyPlanesSpawn.toml
new file mode 100644
index 000000000..eef7b4f73
--- /dev/null
+++ b/config/adaptive_performance_tweaks/spawn/ManyOfManyPlanesSpawn.toml
@@ -0,0 +1,6 @@
+
+#Adaptive Performance Tweaks: Spawn
+["Man of Many Planes Spawn Config"]
+ Enabled = false
+ Id = "man_of_many_planes"
+
diff --git a/config/fancymenu/options.txt b/config/fancymenu/options.txt
index 14242b9e9..3491509d6 100644
--- a/config/fancymenu/options.txt
+++ b/config/fancymenu/options.txt
@@ -15,7 +15,7 @@ B:advanced_customization_mode = 'false';
##[loading]
B:preload_animations = 'true';
-S:preload_resources = '[source:location]tfg:textures/gui/tfg_title_stars.gif%!source_end!%[source:location]tfg:textures/gui/tfg_title_vignette.png%!source_end!%[cubic_panorama]beneath%!source_end!%[slideshow]new_loading_screen%!source_end!%';
+S:preload_resources = '[cubic_panorama]beneath%!source_end!%[slideshow]new_loading_screen%!source_end!%';
S:custom_game_intro_skip_text = '';
B:allow_game_intro_skip = 'true';
S:game_intro_animation_name = '';
diff --git a/config/ftbquests/quests/chapters/create_logistics.snbt b/config/ftbquests/quests/chapters/create_logistics.snbt
index c536c033a..0af188592 100644
--- a/config/ftbquests/quests/chapters/create_logistics.snbt
+++ b/config/ftbquests/quests/chapters/create_logistics.snbt
@@ -111,8 +111,6 @@
"{quests.create_logistics.nbt_handling.desc.1}"
"{@pagebreak}"
"{quests.create_logistics.nbt_handling.desc.2}"
- "{@pagebreak}"
- "{quests.create_logistics.nbt_handling.desc.3}"
]
icon: "gtceu:brass_huge_item_pipe"
id: "7E97A95EA986C476"
diff --git a/config/ftbquests/quests/chapters/gregtech_energy.snbt b/config/ftbquests/quests/chapters/gregtech_energy.snbt
index 3b8a828b4..6122cd3d9 100644
--- a/config/ftbquests/quests/chapters/gregtech_energy.snbt
+++ b/config/ftbquests/quests/chapters/gregtech_energy.snbt
@@ -6,104 +6,6 @@
group: "31B01EAD21CA863A"
icon: "gtceu:max_battery"
id: "6540429F3CA4DA1B"
- images: [
- {
- height: 1.0d
- image: "tfg:item/universal/lv_universal_circuit"
- rotation: 0.0d
- width: 1.0d
- x: -5.0d
- y: -3.0d
- }
- {
- height: 1.0d
- image: "tfg:item/universal/luv_universal_circuit"
- rotation: 0.0d
- width: 1.0d
- x: -9.5d
- y: -3.0d
- }
- {
- height: 1.0d
- image: "tfg:item/universal/ev_universal_circuit"
- rotation: 0.0d
- width: 1.0d
- x: -9.5d
- y: 0.0d
- }
- {
- height: 1.0d
- image: "tfg:item/universal/hv_universal_circuit"
- rotation: 0.0d
- width: 1.0d
- x: -9.5d
- y: 3.5d
- }
- {
- height: 1.0d
- image: "tfg:item/universal/iv_universal_circuit"
- rotation: 0.0d
- width: 1.0d
- x: -9.5d
- y: -1.5d
- }
- {
- height: 1.0d
- image: "tfg:item/universal/mv_universal_circuit"
- rotation: 0.0d
- width: 1.0d
- x: -5.0d
- y: 3.0d
- }
- {
- height: 1.0d
- image: "ad_astra:textures/painting/moon.png"
- rotation: 0.0d
- width: 1.0d
- x: -9.5d
- y: 1.5d
- }
- {
- height: 1.0d
- image: "minecraft:item/clock_00"
- rotation: 0.0d
- width: 1.0d
- x: 6.0d
- y: -3.0d
- }
- {
- height: 1.0d
- image: "gtceu:item/material_sets/bright/ingot_hot_overlay"
- rotation: 0.0d
- width: 1.0d
- x: 6.0d
- y: -1.0d
- }
- {
- height: 2.0d
- image: "ags_modernmarkings:block/marking_wall_symbol_yellow_electric"
- rotation: 0.0d
- width: 2.0d
- x: 0.0d
- y: 7.0d
- }
- {
- height: 1.0d
- image: "gtceu:block/machines/parallel_hatch_mk4/overlay_front_emissive"
- rotation: 0.0d
- width: 1.0d
- x: 6.0d
- y: 3.0d
- }
- {
- height: 1.0d
- image: "ftbteams:textures/add.png"
- rotation: 0.0d
- width: 1.0d
- x: 6.0d
- y: 1.0d
- }
- ]
order_index: 2
quest_links: [ ]
quests: [
@@ -111,6 +13,8 @@
description: ["{quests.gregtech_energy.start.desc}"]
icon: "gtceu:uhv_ultimate_battery"
id: "06B2E38F7DCF2678"
+ shape: "gear"
+ size: 1.0d
subtitle: "{quests.gregtech_energy.start.subtitle}"
tasks: [{
id: "07E1FA6A1BB796D4"
@@ -119,10 +23,10 @@
}]
title: "{quests.gregtech_energy.start.title}"
x: 0.0d
- y: 0.0d
+ y: -8.5d
}
{
- dependencies: ["06B2E38F7DCF2678"]
+ dependencies: ["4C620105AAC49381"]
description: ["{quests.gregtech_energy.moving.desc}"]
icon: "gtceu:luv_field_generator"
id: "60FF9249376DF9BD"
@@ -133,11 +37,11 @@
type: "checkmark"
}]
title: "{quests.gregtech_energy.moving.title}"
- x: 0.0d
- y: 3.0d
+ x: 6.0d
+ y: -7.0d
}
{
- dependencies: ["06B2E38F7DCF2678"]
+ dependencies: ["4C620105AAC49381"]
description: ["{quests.gregtech_energy.storage.desc}"]
icon: "gtceu:uv_field_generator"
id: "08C160A0E7BBF39D"
@@ -148,8 +52,8 @@
type: "checkmark"
}]
title: "{quests.gregtech_energy.storage.title}"
- x: 0.0d
- y: -3.0d
+ x: 9.0d
+ y: -7.0d
}
{
dependencies: [
@@ -167,11 +71,11 @@
type: "checkmark"
}]
title: "{quests.gregtech_energy.produce_energy.title}"
- x: -3.0d
- y: 0.0d
+ x: -1.0d
+ y: -8.5d
}
{
- dependencies: ["06B2E38F7DCF2678"]
+ dependencies: ["4C620105AAC49381"]
description: [
"{quests.gregtech_energy.spending_energy.desc.1}"
"{@pagebreak}"
@@ -191,7 +95,7 @@
}]
title: "{quests.gregtech_energy.spending_energy.title}"
x: 3.0d
- y: 0.0d
+ y: -7.0d
}
{
dependencies: ["60FF9249376DF9BD"]
@@ -225,8 +129,8 @@
}
]
title: "{quests.gregtech_energy.moving_wire.title}"
- x: 0.0d
- y: 5.0d
+ x: 7.0d
+ y: -6.0d
}
{
dependencies: ["60FF9249376DF9BD"]
@@ -258,11 +162,14 @@
}
]
title: "{quests.gregtech_energy.moving_amp.title}"
- x: 2.0d
- y: 5.0d
+ x: 5.0d
+ y: -6.0d
}
{
- dependencies: ["60FF9249376DF9BD"]
+ dependencies: [
+ "60FF9249376DF9BD"
+ "1DB543EFEEB67238"
+ ]
description: ["{quests.gregtech_energy.transformer.desc}"]
icon: "gtceu:active_transformer"
id: "6ECAD339C91EF194"
@@ -292,8 +199,8 @@
}
]
title: "{quests.gregtech_energy.transformer.title}"
- x: -2.0d
- y: 5.0d
+ x: 6.0d
+ y: 3.0d
}
{
dependencies: ["08C160A0E7BBF39D"]
@@ -326,11 +233,14 @@
}
]
title: "{quests.gregtech_energy.battery_buffer.title}"
- x: 0.0d
- y: -5.0d
+ x: 10.0d
+ y: -6.0d
}
{
- dependencies: ["08C160A0E7BBF39D"]
+ dependencies: [
+ "08C160A0E7BBF39D"
+ "7AF726555D721DFC"
+ ]
description: [
"{quests.gregtech_energy.pss.desc.1}"
"{@pagebreak}"
@@ -357,8 +267,8 @@
}
]
title: "{quests.gregtech_energy.pss.title}"
- x: 2.0d
- y: -5.0d
+ x: 9.0d
+ y: -1.0d
}
{
dependencies: ["08C160A0E7BBF39D"]
@@ -382,11 +292,14 @@
type: "item"
}]
title: "{quests.gregtech_energy.tank.title}"
- x: -2.0d
- y: -5.0d
+ x: 8.0d
+ y: -6.0d
}
{
- dependencies: ["6F80465F0759BECA"]
+ dependencies: [
+ "6F80465F0759BECA"
+ "4D0ADC66D2CF09B1"
+ ]
description: ["{quests.gregtech_energy.batteries.desc}"]
id: "3B94CF569E4A2B26"
subtitle: "{quests.gregtech_energy.batteries.subtitle}"
@@ -403,34 +316,11 @@
type: "item"
}]
title: "{quests.gregtech_energy.batteries.title}"
- x: 0.0d
- y: -6.5d
+ x: 10.0d
+ y: -3.0d
}
{
- dependencies: ["2CDB9778C7A30044"]
- description: ["{quests.gregtech_energy.first_generator.desc}"]
- id: "0116158FBDA9DF86"
- subtitle: "{quests.gregtech_energy.first_generator.subtitle}"
- tasks: [{
- disable_toast: true
- id: "0BCC01540FE7555C"
- item: {
- Count: 1
- id: "ftbfiltersystem:smart_filter"
- tag: {
- "ftbfiltersystem:filter": "or(item(gtceu:lv_combustion)item(gtceu:mv_combustion)item(gtceu:hv_combustion)item(gtceu:lv_steam_turbine)item(gtceu:mv_steam_turbine)item(gtceu:hv_steam_turbine)item(gtceu:lv_gas_turbine)item(gtceu:mv_gas_turbine)item(gtceu:hv_gas_turbine))"
- }
- }
- optional_task: true
- title: "{quests.gregtech_energy.first_generator.task}"
- type: "item"
- }]
- title: "{quests.gregtech_energy.first_generator.title}"
- x: -5.0d
- y: 0.0d
- }
- {
- dependencies: ["685CE664E91157C4"]
+ dependencies: ["4D0ADC66D2CF09B1"]
description: [
"{quests.gregtech_energy.lst.desc.1}"
"{@pagebreak}"
@@ -444,11 +334,11 @@
type: "item"
}]
title: "{quests.gregtech_energy.lst.title}"
- x: -7.5d
- y: 3.0d
+ x: -4.5d
+ y: -3.0d
}
{
- dependencies: ["0116158FBDA9DF86"]
+ dependencies: ["05E2F203DA46A5E8"]
description: [
"{quests.gregtech_energy.lce.desc.1}"
"{@pagebreak}"
@@ -456,24 +346,17 @@
]
id: "4AC4D681124751EE"
subtitle: "{quests.gregtech_energy.lce.subtitle}"
- tasks: [
- {
- id: "31BFE575D15F270A"
- item: "gtceu:large_combustion_engine"
- type: "item"
- }
- {
- id: "4B062E5264D4CAC8"
- item: "gtceu:extreme_combustion_engine"
- type: "item"
- }
- ]
+ tasks: [{
+ id: "4B062E5264D4CAC8"
+ item: "gtceu:extreme_combustion_engine"
+ type: "item"
+ }]
title: "{quests.gregtech_energy.lce.title}"
- x: -7.0d
- y: -1.5d
+ x: -4.5d
+ y: 1.0d
}
{
- dependencies: ["0116158FBDA9DF86"]
+ dependencies: ["7AF726555D721DFC"]
description: [
"{quests.gregtech_energy.lgt.desc.1}"
"{@pagebreak}"
@@ -487,11 +370,11 @@
type: "item"
}]
title: "{quests.gregtech_energy.lgt.title}"
- x: -7.0d
- y: 0.0d
+ x: -3.0d
+ y: -1.0d
}
{
- dependencies: ["0116158FBDA9DF86"]
+ dependencies: ["1DB543EFEEB67238"]
description: [
"{quests.gregtech_energy.lpt.desc.1}"
"{@pagebreak}"
@@ -505,8 +388,8 @@
type: "item"
}]
title: "{quests.gregtech_energy.lpt.title}"
- x: -7.0d
- y: -3.0d
+ x: -3.0d
+ y: 3.0d
}
{
dependencies: ["2E57B2B963717893"]
@@ -546,11 +429,14 @@
}
]
title: "{quests.gregtech_energy.blast_oc.title}"
- x: 5.0d
- y: -1.0d
+ x: 3.0d
+ y: -4.0d
}
{
- dependencies: ["2E57B2B963717893"]
+ dependencies: [
+ "2E57B2B963717893"
+ "0AF286AA540A82E6"
+ ]
description: [
"{quests.gregtech_energy.overclock.desc.1}"
"{@pagebreak}"
@@ -567,11 +453,14 @@
type: "checkmark"
}]
title: "{quests.gregtech_energy.overclock.title}"
- x: 5.0d
- y: -3.0d
+ x: 3.0d
+ y: -5.0d
}
{
- dependencies: ["2E57B2B963717893"]
+ dependencies: [
+ "2E57B2B963717893"
+ "4D0ADC66D2CF09B1"
+ ]
description: [
"{quests.gregtech_energy.subtick.desc.1}"
"{@pagebreak}"
@@ -585,11 +474,14 @@
type: "item"
}]
title: "{quests.gregtech_energy.subtick.title}"
- x: 5.0d
- y: 1.0d
+ x: 3.0d
+ y: -3.0d
}
{
- dependencies: ["2E57B2B963717893"]
+ dependencies: [
+ "2E57B2B963717893"
+ "05E2F203DA46A5E8"
+ ]
description: [
"{quests.gregtech_energy.parallel_hatch.desc.1}"
"{@pagebreak}"
@@ -610,11 +502,11 @@
type: "item"
}]
title: "{quests.gregtech_energy.parallel_hatch.title}"
- x: 5.0d
- y: 3.0d
+ x: 3.0d
+ y: 1.0d
}
{
- dependencies: ["3467E14C8BB54214"]
+ dependencies: ["4D0ADC66D2CF09B1"]
description: [
"{quests.gregtech_energy.lgt_fuel.desc.1}"
"{@pagebreak}"
@@ -649,8 +541,8 @@
}
]
title: "{quests.gregtech_energy.lgt_fuel.title}"
- x: -8.5d
- y: 0.0d
+ x: -11.0d
+ y: -3.0d
}
{
dependencies: ["634EAFA86B3D57A1"]
@@ -682,11 +574,11 @@
}
]
title: "{quests.gregtech_energy.lpt_fuel.title}"
- x: -8.5d
- y: -3.0d
+ x: -9.0d
+ y: 3.0d
}
{
- dependencies: ["20DA81038C507C90"]
+ dependencies: ["4C620105AAC49381"]
description: ["{quests.gregtech_energy.lst_fuel.desc}"]
icon: "gtceu:steam_bucket"
id: "7D5CA47D0E147922"
@@ -712,8 +604,8 @@
}
]
title: "{quests.gregtech_energy.lst_fuel.title}"
- x: -8.5d
- y: 3.0d
+ x: -9.0d
+ y: -7.0d
}
{
dependencies: ["4AC4D681124751EE"]
@@ -763,11 +655,11 @@
}
]
title: "{quests.gregtech_energy.lce_fuel.title}"
- x: -8.5d
- y: -1.5d
+ x: -10.0d
+ y: 1.0d
}
{
- dependencies: ["0116158FBDA9DF86"]
+ dependencies: ["4C620105AAC49381"]
description: [
"{quests.gregtech_energy.lv_generator.desc.1}"
"{@pagebreak}"
@@ -779,39 +671,25 @@
]
id: "7F92FDAB9A04C58B"
subtitle: "{quests.gregtech_energy.lv_generator.subtitle}"
- tasks: [
- {
- disable_toast: true
- id: "4DF2BE3846DB01B9"
- item: {
- Count: 1
- id: "ftbfiltersystem:smart_filter"
- tag: {
- "ftbfiltersystem:filter": "or(item(gtceu:lv_steam_turbine)item(gtceu:lv_combustion))"
- }
+ tasks: [{
+ disable_toast: true
+ id: "4DF2BE3846DB01B9"
+ item: {
+ Count: 1
+ id: "ftbfiltersystem:smart_filter"
+ tag: {
+ "ftbfiltersystem:filter": "or(item(gtceu:lv_steam_turbine)item(gtceu:lv_combustion))"
}
- title: "{quests.gregtech_energy.mv_generator.task}"
- type: "item"
}
- {
- id: "6E2ED41B94F13051"
- item: "gtceu:steam_bucket"
- optional_task: true
- type: "item"
- }
- {
- id: "38180F22E14D0CDF"
- item: "gtceu:bio_diesel_bucket"
- optional_task: true
- type: "item"
- }
- ]
+ title: "{quests.gregtech_energy.mv_generator.task}"
+ type: "item"
+ }]
title: "{quests.gregtech_energy.lv_generator.title}"
- x: -5.0d
- y: -2.0d
+ x: -3.0d
+ y: -7.0d
}
{
- dependencies: ["0116158FBDA9DF86"]
+ dependencies: ["0AF286AA540A82E6"]
description: ["{quests.gregtech_energy.mv_generator.desc}"]
id: "54562DEA1717A819"
subtitle: "{quests.gregtech_energy.mv_generator.subtitle}"
@@ -829,11 +707,11 @@
type: "item"
}]
title: "{quests.gregtech_energy.mv_generator.title}"
- x: -5.0d
- y: 2.0d
+ x: -3.0d
+ y: -5.0d
}
{
- dependencies: ["0116158FBDA9DF86"]
+ dependencies: ["4D0ADC66D2CF09B1"]
description: ["{quests.gregtech_energy.solar_panel.desc}"]
id: "109C57B63EE95E35"
subtitle: "{quests.gregtech_energy.solar_panel.subtitle}"
@@ -843,13 +721,14 @@
item: "ad_astra:solar_panel"
type: "item"
}]
- x: -7.0d
- y: 1.5d
+ x: -6.0d
+ y: -3.0d
}
{
dependencies: [
"109C57B63EE95E35"
"5826EC76931359B8"
+ "7AF726555D721DFC"
]
dependency_requirement: "one_completed"
description: [
@@ -860,84 +739,17 @@
icon: "gtceu:large_solar_panel"
id: "0585527D1854628B"
subtitle: "{quests.gregtech_energy.large_solar.subtitle}"
- tasks: [
- {
- disable_toast: true
- id: "198E956830F835B2"
- item: "gtceu:large_solar_panel"
- type: "item"
- }
- {
- id: "794BF3FC434ACB5B"
- item: "gtceu:lv_input_bus"
- type: "item"
- }
- {
- id: "43C2823947C4AE47"
- item: "gtceu:auto_maintenance_hatch"
- type: "item"
- }
- {
- id: "07B517D79E7CDAF0"
- item: "gtceu:ev_energy_input_hatch"
- type: "item"
- }
- {
- count: 54L
- id: "120C887A59B89D66"
- item: "tfg:casings/machine_casing_iron_desh"
- type: "item"
- }
- {
- count: 24L
- id: "166503BF54649F4A"
- item: "tfg:casings/machine_casing_red_solar_panel"
- type: "item"
- }
- {
- id: "3E71E1F848336782"
- item: "ad_astra:iron_plating"
- type: "item"
- }
- {
- count: 16L
- id: "294567EB2BE47456"
- item: { Count: 16, id: "gtceu:cleanroom_glass" }
- type: "item"
- }
- {
- count: 20L
- id: "516481695EBA7FCD"
- item: { Count: 20, id: "ad_astra:iron_plateblock" }
- type: "item"
- }
- {
- count: 3L
- id: "1764824C0C01F914"
- item: { Count: 3, id: "ad_astra:glowing_iron_pillar" }
- type: "item"
- }
- ]
- title: "{quests.gregtech_energy.large_solar.title}"
- x: -8.5d
- y: 1.5d
- }
- {
- dependencies: ["0116158FBDA9DF86"]
- description: ["{quests.gregtech_energy.hv_choice.desc}"]
- id: "685CE664E91157C4"
- subtitle: "{quests.gregtech_energy.hv_choice.subtitle}"
tasks: [{
- id: "5BAFEAE94802DBFF"
- title: "{quests.gregtech_energy.hv_choice.task}"
- type: "checkmark"
+ disable_toast: true
+ id: "198E956830F835B2"
+ item: "gtceu:large_solar_panel"
+ type: "item"
}]
- title: "{quests.gregtech_energy.hv_choice.title}"
- x: -6.5d
- y: 3.5d
+ x: -6.0d
+ y: -1.0d
}
{
- dependencies: ["685CE664E91157C4"]
+ dependencies: ["4D0ADC66D2CF09B1"]
description: ["{quests.gregtech_energy.hv_single_generator.desc}"]
id: "1A0672F4FA88DF74"
subtitle: "{quests.gregtech_energy.hv_single_generator.subtitle}"
@@ -954,8 +766,8 @@
type: "item"
}]
title: "{quests.gregtech_energy.hv_single_generator.title}"
- x: -7.5d
- y: 4.0d
+ x: -3.0d
+ y: -3.0d
}
{
dependencies: ["1A0672F4FA88DF74"]
@@ -988,8 +800,257 @@
}
]
title: "{quests.gregtech_energy.hv_fuel.title}"
- x: -8.5d
- y: 4.0d
+ x: -12.0d
+ y: -3.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:lv_universal_circuit"
+ id: "4C620105AAC49381"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "2D012C52C576A887"
+ item: "gtceu:lv_machine_hull"
+ type: "item"
+ }]
+ title: "Low Voltage Tier"
+ x: 0.0d
+ y: -7.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:mv_universal_circuit"
+ id: "0AF286AA540A82E6"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "4EBE57B96E37CE23"
+ item: "gtceu:mv_machine_hull"
+ type: "item"
+ }]
+ title: "Medium Voltage Tier"
+ x: 0.0d
+ y: -5.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:hv_universal_circuit"
+ id: "4D0ADC66D2CF09B1"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "5EA11ADD82D6BED4"
+ item: "gtceu:hv_machine_hull"
+ type: "item"
+ }]
+ title: "High Voltage Tier"
+ x: 0.0d
+ y: -3.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:ev_universal_circuit"
+ id: "7AF726555D721DFC"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "4228B9AA7EE9248F"
+ item: "gtceu:ev_machine_hull"
+ type: "item"
+ }]
+ title: "Extreme Voltage Tier"
+ x: 0.0d
+ y: -1.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:iv_universal_circuit"
+ id: "05E2F203DA46A5E8"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "073653D00E581030"
+ item: "gtceu:iv_machine_hull"
+ type: "item"
+ }]
+ title: "Insane Voltage Tier"
+ x: 0.0d
+ y: 1.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:luv_universal_circuit"
+ id: "1DB543EFEEB67238"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "2C1907215939619E"
+ item: "gtceu:luv_machine_hull"
+ type: "item"
+ }]
+ title: "Ludicrous Voltage Tier"
+ x: 0.0d
+ y: 3.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:zpm_universal_circuit"
+ id: "39019EF278D09DF7"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "685F3DAA2D955502"
+ item: "gtceu:zpm_machine_hull"
+ type: "item"
+ }]
+ title: "Zero Point Module Tier"
+ x: 0.0d
+ y: 5.0d
+ }
+ {
+ description: ["{quests.ore_proc.lv_tier.desc}"]
+ disable_toast: true
+ icon: "tfg:uv_universal_circuit"
+ id: "7ECA77DFEE2F6F20"
+ shape: "none"
+ size: 2.0d
+ tasks: [{
+ disable_toast: true
+ id: "1DF572E729BB8B8A"
+ item: "gtceu:uv_machine_hull"
+ type: "item"
+ }]
+ title: "Ultimate Voltage Tier"
+ x: 0.0d
+ y: 7.0d
+ }
+ {
+ dependencies: ["0AF286AA540A82E6"]
+ id: "3630849A7B0818C8"
+ tasks: [{
+ id: "0CF9D6042C16265A"
+ item: "gtceu:benzene_bucket"
+ type: "item"
+ }]
+ x: -11.0d
+ y: -5.0d
+ }
+ {
+ dependencies: ["0AF286AA540A82E6"]
+ id: "79AA7691F398A8C7"
+ tasks: [{
+ id: "36219BC854303490"
+ item: "gtceu:diesel_bucket"
+ type: "item"
+ }]
+ x: -10.0d
+ y: -5.0d
+ }
+ {
+ dependencies: ["05E2F203DA46A5E8"]
+ id: "4512E5DE7A84F809"
+ tasks: [{
+ id: "4BAECE3F4EC86920"
+ item: "gtceu:fission_reactor"
+ type: "item"
+ }]
+ x: -3.0d
+ y: 1.0d
+ }
+ {
+ dependencies: ["4C620105AAC49381"]
+ id: "139C7DF629329753"
+ tasks: [{
+ id: "7BA9FDD1F45B53F6"
+ item: "gtceu:bio_diesel_bucket"
+ type: "item"
+ }]
+ x: -10.0d
+ y: -7.0d
+ }
+ {
+ dependencies: ["4D0ADC66D2CF09B1"]
+ id: "376BFF92714C5012"
+ tasks: [{
+ id: "22F9A3ED193CB252"
+ item: "gtceu:cetane_boosted_diesel_bucket"
+ type: "item"
+ }]
+ x: -10.0d
+ y: -3.0d
+ }
+ {
+ dependencies: ["7AF726555D721DFC"]
+ id: "7134DB013B34593E"
+ tasks: [{
+ id: "008341509483BB23"
+ item: "gtceu:high_octane_gasoline_bucket"
+ type: "item"
+ }]
+ x: -10.0d
+ y: -1.0d
+ }
+ {
+ dependencies: ["7AF726555D721DFC"]
+ id: "351AED1612D00EF8"
+ tasks: [{
+ id: "6A35D4E3C93A70FC"
+ item: "gtceu:large_combustion_engine"
+ type: "item"
+ }]
+ x: -4.5d
+ y: -1.0d
+ }
+ {
+ dependencies: [
+ "0585527D1854628B"
+ "05E2F203DA46A5E8"
+ ]
+ description: [
+ "{quests.gregtech_energy.large_solar_t2.desc.1}"
+ "{@pagebreak}"
+ "{quests.gregtech_energy.large_solar_t2.desc.2}"
+ ]
+ id: "3AEAB1930F4CC034"
+ subtitle: "{quests.gregtech_energy.large_solar_t2.subtitle}"
+ tasks: [{
+ id: "149BF93064D121D3"
+ item: "gtceu:large_solar_panel_tier2"
+ type: "item"
+ }]
+ x: -6.0d
+ y: 1.0d
+ }
+ {
+ dependencies: [
+ "3AEAB1930F4CC034"
+ "1DB543EFEEB67238"
+ ]
+ description: ["{quests.gregtech_energy.large_solar_t3.desc}"]
+ id: "7CA3A5EFE3D5B688"
+ subtitle: "{quests.gregtech_energy.large_solar_t3.subtitle}"
+ tasks: [{
+ id: "612817A7FA759E03"
+ item: "gtceu:large_solar_panel_tier3"
+ type: "item"
+ }]
+ x: -6.0d
+ y: 3.0d
}
]
subtitle: ["{quests.gregtech_energy.subtitle}"]
diff --git a/config/ftbquests/quests/chapters/hv__high_voltage.snbt b/config/ftbquests/quests/chapters/hv__high_voltage.snbt
index 4c9502ab8..486b97afc 100644
--- a/config/ftbquests/quests/chapters/hv__high_voltage.snbt
+++ b/config/ftbquests/quests/chapters/hv__high_voltage.snbt
@@ -854,13 +854,20 @@
dependencies: ["52AD30F04DD5A812"]
dependency_requirement: "all_started"
description: ["{quests.high_voltage.hv_mixer.desc}"]
+ icon: "gtceu:hv_mixer"
id: "05ABC370D7153350"
shape: "octagon"
size: 1.5d
subtitle: "{quests.high_voltage.hv_mixer.subtitle}"
tasks: [{
id: "6D522B2EF097AA95"
- item: "gtceu:hv_mixer"
+ item: {
+ Count: 1
+ id: "ftbfiltersystem:smart_filter"
+ tag: {
+ "ftbfiltersystem:filter": "or(item(gtceu:hv_mixer)item(greate:stainless_steel_mechanical_mixer))"
+ }
+ }
type: "item"
}]
title: "{quests.high_voltage.hv_mixer.title}"
diff --git a/config/ftbquests/quests/chapters/questssteam_age.snbt b/config/ftbquests/quests/chapters/questssteam_age.snbt
index 0937164c4..0d57e51d7 100644
--- a/config/ftbquests/quests/chapters/questssteam_age.snbt
+++ b/config/ftbquests/quests/chapters/questssteam_age.snbt
@@ -1391,7 +1391,6 @@
y: 6.0d
}
{
- dependencies: ["4CD3F04793CE47A2"]
description: ["{quests.steam_age.paper.desc}"]
disable_toast: true
id: "16CF5A9012EF4B27"
diff --git a/config/ftbquests/quests/chapters/queststfg.snbt b/config/ftbquests/quests/chapters/queststfg.snbt
index d47911446..03040b111 100644
--- a/config/ftbquests/quests/chapters/queststfg.snbt
+++ b/config/ftbquests/quests/chapters/queststfg.snbt
@@ -32,11 +32,6 @@
description: ["{quests.tfg.create_team.desc}"]
icon: "minecraft:cake"
id: "6D43C29AC049341D"
- rewards: [{
- id: "703B1DE66D788924"
- item: "gtceu:copper_credit"
- type: "item"
- }]
subtitle: "{quests.tfg.create_team.subtitle}"
tasks: [{
id: "124CFC2DE7647588"
diff --git a/config/ftbquests/quests/chapters/space_survival.snbt b/config/ftbquests/quests/chapters/space_survival.snbt
index ba6b10416..1765db9e1 100644
--- a/config/ftbquests/quests/chapters/space_survival.snbt
+++ b/config/ftbquests/quests/chapters/space_survival.snbt
@@ -171,7 +171,7 @@
type: "item"
}]
title: "{quests.space_survival.bedrock_mining.title}"
- x: 0.5d
+ x: -1.0d
y: 1.0d
}
{
@@ -460,27 +460,24 @@
"5826EC76931359B8"
"3C92063DE5B9D5E9"
]
- description: ["{quests.space_survival.railgun.desc}"]
- icon: "tfg:interplanetary_item_launcher"
+ description: [
+ "{quests.space_survival.railgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.railgun.desc.2}"
+ ]
+ icon: "tfg:electromagnetic_accelerator"
id: "1A9A5F55F1F0AC58"
shape: "gear"
size: 2.0d
subtitle: "{quests.space_survival.railgun.subtitle}"
- tasks: [
- {
- id: "14EEFF310A3179A8"
- item: "tfg:interplanetary_item_launcher"
- type: "item"
- }
- {
- id: "5F95946B3B0E38B9"
- item: "tfg:interplanetary_item_reciever"
- type: "item"
- }
- ]
+ tasks: [{
+ id: "5009A382342496F7"
+ title: "{quests.space_survival.railgun.task}"
+ type: "checkmark"
+ }]
title: "{quests.space_survival.railgun.title}"
x: 2.0d
- y: -0.5d
+ y: 1.0d
}
{
dependencies: ["72BD27FEEB34C7B0"]
@@ -522,6 +519,188 @@
x: -7.0d
y: -5.5d
}
+ {
+ dependencies: ["1A9A5F55F1F0AC58"]
+ description: [
+ "{quests.space_survival.raiinterplanetary_railgunlgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.raiinterplanetary_railgunlgun.desc.2}"
+ ]
+ id: "783BB3FC5702DA8C"
+ subtitle: "{quests.space_survival.interplanetary_railgun.subtitle}"
+ tasks: [{
+ id: "71326452986A7C0F"
+ item: "tfg:interplanetary_item_launcher"
+ type: "item"
+ }]
+ title: "{quests.space_survival.interplanetary_railgun.title}"
+ x: 4.5d
+ y: -1.5d
+ }
+ {
+ dependencies: ["1A9A5F55F1F0AC58"]
+ description: [
+ "{quests.space_survival.monitor_railgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.monitor_railgun.desc.2}"
+ ]
+ id: "498E559B9C37D2CA"
+ subtitle: "{quests.space_survival.monitor_railgun.subtitle}"
+ tasks: [{
+ id: "43304A46FD2DFB41"
+ item: "tfg:interplanetary_logistics_monitor"
+ type: "item"
+ }]
+ title: "{quests.space_survival.monitor_railgun.title}"
+ x: 4.5d
+ y: 1.0d
+ }
+ {
+ dependencies: ["1A9A5F55F1F0AC58"]
+ description: [
+ "{quests.space_survival.receiver_railgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.receiver_railgun.desc.2}"
+ ]
+ id: "71AD0B9C1FB7CE03"
+ subtitle: "{quests.space_survival.receiver_railgun.subtitle}"
+ tasks: [{
+ id: "4A43C3AAFA69E286"
+ item: "tfg:interplanetary_item_receiver"
+ type: "item"
+ }]
+ title: "{quests.space_survival.receiver_railgun.title}"
+ x: 4.5d
+ y: 3.5d
+ }
+ {
+ dependencies: [
+ "783BB3FC5702DA8C"
+ "498E559B9C37D2CA"
+ ]
+ description: [
+ "{quests.space_survival.input_bus_railgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.input_bus_railgun.desc.2}"
+ ]
+ id: "4FF2809A81DD4122"
+ subtitle: "{quests.space_survival.input_bus_railgun.subtitle}"
+ tasks: [{
+ id: "1F97F1BAE1DF7ADC"
+ item: {
+ Count: 1
+ id: "ftbfiltersystem:smart_filter"
+ tag: {
+ "ftbfiltersystem:filter": "or(item(tfg:ulv_railgun_item_loader_in)item(tfg:lv_railgun_item_loader_in)item(tfg:mv_railgun_item_loader_in)item(tfg:hv_railgun_item_loader_in)item(tfg:ev_railgun_item_loader_in)item(tfg:iv_railgun_item_loader_in)item(tfg:luv_railgun_item_loader_in)item(tfg:zpm_railgun_item_loader_in)item(tfg:uv_railgun_item_loader_in)item(tfg:uhv_railgun_item_loader_in))"
+ }
+ }
+ title: "{quests.space_survival.input_bus_railgun.task}"
+ type: "item"
+ }]
+ title: "{quests.space_survival.input_bus_railgun.title}"
+ x: 6.0d
+ y: -1.0d
+ }
+ {
+ dependencies: ["783BB3FC5702DA8C"]
+ description: [
+ "{quests.space_survival.ammo_railgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.ammo_railgun.desc.2}"
+ ]
+ id: "3BEEB11C8621772D"
+ subtitle: "{quests.space_survival.ammo_railgun.subtitle}"
+ tasks: [
+ {
+ id: "5E7152C67A1E685D"
+ item: "tfg:railgun_ammo_loader"
+ type: "item"
+ }
+ {
+ id: "36471CA165196EC9"
+ item: "tfg:railgun_ammo_shell"
+ type: "item"
+ }
+ ]
+ title: "{quests.space_survival.ammo_railgun.title}"
+ x: 6.0d
+ y: -2.0d
+ }
+ {
+ dependencies: ["498E559B9C37D2CA"]
+ description: ["{quests.space_survival.redstone_railgun.desc}"]
+ icon: "minecraft:redstone_torch"
+ id: "0538DCD4D4811574"
+ subtitle: "{quests.space_survival.redstone_railgun.subtitle}"
+ tasks: [{
+ id: "63FFA0CBDDD635B9"
+ title: "{quests.space_survival.redstone_railgun.task}"
+ type: "checkmark"
+ }]
+ title: "{quests.space_survival.redstone_railgun.title}"
+ x: 6.5d
+ y: 0.0d
+ }
+ {
+ dependencies: ["498E559B9C37D2CA"]
+ description: ["{quests.space_survival.robot_arm_railgun.desc}"]
+ icon: "gtceu:hv_robot_arm"
+ id: "7118634C06AE1141"
+ subtitle: "{quests.space_survival.robot_arm_railgun.subtitle}"
+ tasks: [{
+ id: "6C995E2B46963E1E"
+ title: "{quests.space_survival.robot_arm_railgun.task}"
+ type: "checkmark"
+ }]
+ title: "{quests.space_survival.robot_arm_railgun.title}"
+ x: 6.5d
+ y: 1.0d
+ }
+ {
+ dependencies: [
+ "498E559B9C37D2CA"
+ "71AD0B9C1FB7CE03"
+ ]
+ description: [
+ "{quests.space_survival.output_bus_railgun.desc.1}"
+ "{@pagebreak}"
+ "{quests.space_survival.output_bus_railgun.desc.2}"
+ "{@pagebreak}"
+ "{quests.space_survival.output_bus_railgun.desc.3}"
+ ]
+ id: "5FB814261B0993C5"
+ subtitle: "{quests.space_survival.output_bus_railgun.subtitle}"
+ tasks: [{
+ id: "72D587D69470709E"
+ item: {
+ Count: 1
+ id: "ftbfiltersystem:smart_filter"
+ tag: {
+ "ftbfiltersystem:filter": "or(item(tfg:ulv_railgun_item_loader_out)item(tfg:lv_railgun_item_loader_out)item(tfg:mv_railgun_item_loader_out)item(tfg:hv_railgun_item_loader_out)item(tfg:ev_railgun_item_loader_out)item(tfg:iv_railgun_item_loader_out)item(tfg:luv_railgun_item_loader_out)item(tfg:zpm_railgun_item_loader_out)item(tfg:uv_railgun_item_loader_out)item(tfg:uhv_railgun_item_loader_out))"
+ }
+ }
+ title: "{quests.space_survival.output_bus_railgun.task}"
+ type: "item"
+ }]
+ title: "{quests.space_survival.output_bus_railgun.title}"
+ x: 6.0d
+ y: 3.0d
+ }
+ {
+ dependencies: ["498E559B9C37D2CA"]
+ description: ["{quests.space_survival.delay_railgun.desc}"]
+ icon: "create:cuckoo_clock"
+ id: "183AC1085D558086"
+ subtitle: "{quests.space_survival.delay_railgun.subtitle}"
+ tasks: [{
+ id: "119FD14202435E03"
+ title: "{quests.space_survival.delay_railgun.task}"
+ type: "checkmark"
+ }]
+ title: "{quests.space_survival.delay_railgun.title}"
+ x: 6.5d
+ y: 2.0d
+ }
]
subtitle: ["{quests.space_survival.subtitle}"]
title: "{quests.space_survival}"
diff --git a/config/ftbquests/quests/chapters/tips__tools.snbt b/config/ftbquests/quests/chapters/tips__tools.snbt
index ccefacc26..36d97c066 100644
--- a/config/ftbquests/quests/chapters/tips__tools.snbt
+++ b/config/ftbquests/quests/chapters/tips__tools.snbt
@@ -1137,7 +1137,7 @@
id: "05BCE3FC68B3C66E"
item: {
Count: 1
- id: "gtceu:avanced_nanomuscle_chestplate"
+ id: "gtceu:advanced_nanomuscle_chestplate"
tag: { }
}
type: "item"
diff --git a/config/immersive_optimization.json b/config/immersive_optimization.json
index a204485ac..43de5e3a7 100644
--- a/config/immersive_optimization.json
+++ b/config/immersive_optimization.json
@@ -24,7 +24,8 @@
"minecraft:player": false,
"minecraft:arrow": false,
"create": false,
- "minecraft:ender_dragon": false
+ "minecraft:ender_dragon": false,
+ "sandworm_mod": false
},
"version": 2,
"name": "immersive_optimization"
diff --git a/config/xaeroworldmap.txt b/config/xaeroworldmap.txt
index 6210ea83f..e1a977b45 100644
--- a/config/xaeroworldmap.txt
+++ b/config/xaeroworldmap.txt
@@ -32,13 +32,13 @@ onlyCurrentMapWaypoints:false
minZoomForLocalWaypoints:0.0
arrowColour:-2
minimapRadar:true
-renderWaypoints:true
+renderWaypoints:false
partialYTeleportation:true
displayStainedGlass:true
caveModeDepth:30
caveModeStart:2147483647
autoCaveMode:-1
-legibleCaveMaps:false
+legibleCaveMaps:true
displayCaveModeStart:true
caveModeToggleTimer:1000
defaultCaveModeType:1
diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml
index ce9cffa37..0fb3cd5f2 100644
--- a/defaultconfigs/create-server.toml
+++ b/defaultconfigs/create-server.toml
@@ -1,543 +1,543 @@
-
-#.
-#The Backbone of Create
-[infrastructure]
- #.
- #[in Ticks]
- #The amount of time a server waits before sending out tickrate synchronization packets.
- #These packets help animations to be more accurate when tps is below 20.
- #Range: > 5
- tickrateSyncTimer = 20
-
-#.
-#Packmakers' control panel for internal recipe compat
-[recipes]
- #.
- #.
- #Allow the Mechanical Press to process entire stacks at a time.
- bulkPressing = false
- #.
- #Allow the Mechanical Saw to process entire stacks at a time.
- bulkCutting = false
- #.
- #Allow supported potions to be brewed by a Mechanical Mixer + Basin.
- allowBrewingInMixer = false
- #.
- #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin.
- allowShapelessInMixer = false
- #.
- #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin.
- allowShapedSquareInPress = true
- #.
- #Allow any standard crafting recipes to be processed by Mechanical Crafters.
- allowRegularCraftingInCrafter = true
- #.
- #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters.
- #Range: > 1
- maxFireworkIngredientsInCrafter = 9
- #.
- #Allow any stonecutting recipes to be processed by a Mechanical Saw.
- allowStonecuttingOnSaw = true
- #.
- #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct.
- allowCastingBySpout = true
- #.
- #Display vanilla Log-stripping interactions in JEI.
- displayLogStrippingRecipes = true
- #.
- #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance.
- #Range: > 1
- lightSourceCountForRefinedRadiance = 10
- #.
- #Allow the standard in-world Refined Radiance recipes.
- enableRefinedRadianceRecipe = false
- #.
- #Allow the standard in-world Shadow Steel recipe.
- enableShadowSteelRecipe = false
-
-#.
-#Parameters and abilities of Create's kinetic mechanisms
-[kinetics]
- #.
- #.
- #Disable the Stress mechanic altogether.
- disableStress = false
- #.
- #Maximum length in blocks of mechanical belts.
- #Range: > 5
- maxBeltLength = 5
- #.
- #Damage dealt by active Crushing Wheels.
- #Range: > 0
- crushingDamage = 4
- #.
- #[in Revolutions per Minute]
- #Maximum allowed rotation speed for any Kinetic Block.
- #Range: > 64
- maxRotationSpeed = 256
- #.
- #Select what mobs should ignore Deployers when attacked by them.
- #Allowed Values: ALL, CREEPERS, NONE
- ignoreDeployerAttacks = "CREEPERS"
- #.
- #Game ticks between Kinetic Blocks checking whether their source is still valid.
- #Range: > 5
- kineticValidationFrequency = 60
- #.
- #multiplier used for calculating exhaustion from speed when a crank is turned.
- #Range: 0.0 ~ 1.0
- crankHungerMultiplier = 0.009999999776482582
- #.
- #Amount of sail-type blocks required for a windmill to assemble successfully.
- #Range: > 0
- minimumWindmillSails = 8
- #.
- #Number of sail-type blocks required to increase windmill speed by 1RPM.
- #Range: > 1
- windmillSailsPerRPM = 8
- #.
- #Max Distance in blocks a Weighted Ejector can throw
- #Range: > 0
- maxEjectorDistance = 32
- #.
- #Time in ticks until the next item launched by an ejector scans blocks for potential collisions
- #Range: > 10
- ejectorScanInterval = 120
- #.
- #Maximum length in blocks of chain conveyor connections.
- #Range: > 5
- maxChainConveyorLength = 32
- #.
- #Maximum amount of connections each chain conveyor can have.
- #Range: > 1
- maxChainConveyorConnections = 4
-
- #.
- #Encased Fan
- [kinetics.encasedFan]
- #.
- #Maximum distance in blocks Fans can push entities.
- #Range: > 5
- fanPushDistance = 20
- #.
- #Maximum distance in blocks from where Fans can pull entities.
- #Range: > 5
- fanPullDistance = 20
- #.
- #Game ticks between Fans checking for anything blocking their air flow.
- #Range: > 10
- fanBlockCheckRate = 30
- #.
- #[in Revolutions per Minute]
- #Rotation speed at which the maximum stats of fans are reached.
- #Range: > 64
- fanRotationArgmax = 256
- #.
- #Game ticks required for a Fan-based processing recipe to take effect.
- #Range: > 0
- fanProcessingTime = 400
-
- #.
- #Moving Contraptions
- [kinetics.contraptions]
- #.
- #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means.
- #Range: > 1
- maxBlocksMoved = 2048
- #.
- #Maximum value of a chassis attachment range.
- #Range: > 1
- maxChassisRange = 16
- #.
- #Maximum amount of extension poles behind a Mechanical Piston.
- #Range: > 1
- maxPistonPoles = 64
- #.
- #Max length of rope available off a Rope Pulley.
- #Range: > 1
- maxRopeLength = 400
- #.
- #Maximum allowed distance of two coupled minecarts.
- #Range: > 1
- maxCartCouplingLength = 32
- #.
- #Maximum depth of blocks filled in using a Mechanical Roller.
- #Range: > 1
- rollerFillDepth = 12
- #.
- #Whether minecart contraptions can be picked up in survival mode.
- survivalContraptionPickup = true
- #.
- #Configure how Spawner blocks can be moved by contraptions.
- #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
- movableSpawners = "NO_PICKUP"
- #.
- #Configure how Budding Amethyst can be moved by contraptions.
- #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
- amethystMovement = "NO_PICKUP"
- #.
- #Configure how Obsidian blocks can be moved by contraptions.
- #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
- movableObsidian = "UNMOVABLE"
- #.
- #Configure how Reinforced Deepslate blocks can be moved by contraptions.
- #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
- movableReinforcedDeepslate = "UNMOVABLE"
- #.
- #Whether items mined or harvested by contraptions should be placed in their mounted storage.
- moveItemsToStorage = true
- #.
- #Whether harvesters should break crops that aren't fully grown.
- harvestPartiallyGrown = false
- #.
- #Whether harvesters should replant crops after harvesting.
- harvesterReplants = true
- #.
- #Whether minecart contraptions can be placed into container items.
- minecartContraptionInContainers = false
- #.
- #Whether stabilised bearings create a separated entity even on non-rotating contraptions.
- #[Technical]
- stabiliseStableContraptions = false
- #.
- #Whether the players hitbox should be expanded to the size of the contraption hitbox.
- #[Technical]
- syncPlayerPickupHitboxWithContraptionHitbox = false
-
- #.
- #Configure speed/capacity levels for requirements and indicators.
- [kinetics.stats]
- #.
- #[in Revolutions per Minute]
- #Minimum speed of rotation to be considered 'medium'
- #Range: 0.0 ~ 4096.0
- mediumSpeed = 30.0
- #.
- #[in Revolutions per Minute]
- #Minimum speed of rotation to be considered 'fast'
- #Range: 0.0 ~ 65535.0
- fastSpeed = 100.0
- #.
- #[in Stress Units]
- #Minimum stress impact to be considered 'medium'
- #Range: 0.0 ~ 4096.0
- mediumStressImpact = 1.0
- #.
- #[in Stress Units]
- #Minimum stress impact to be considered 'high'
- #Range: 0.0 ~ 65535.0
- highStressImpact = 2.0
- #.
- #[in Stress Units]
- #Minimum added Capacity by sources to be considered 'medium'
- #Range: 0.0 ~ 4096.0
- mediumCapacity = 32.0
- #.
- #[in Stress Units]
- #Minimum added Capacity by sources to be considered 'high'
- #Range: 0.0 ~ 65535.0
- highCapacity = 128.0
-
- [kinetics.stressValues]
-
- #.
- #Fine tune the kinetic stats of individual components
- [kinetics.stressValues.v2]
- large_water_wheel = 16.0
- windmill_bearing = 32.0
- hand_crank = 2.0
- creative_motor = 2097152.0
- water_wheel = 4.0
- copper_valve_handle = 2.0
- steam_engine = 16.0
-
- #.
- #.
- #[in Stress Units]
- #Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives.
- [kinetics.stressValues.v2.impact]
- display_board = 0.0
- deployer = 0.25
- mechanical_piston = 0.5
- millstone = 65535.0
- mechanical_bearing = 0.5
- clockwork_bearing = 0.5
- cuckoo_clock = 0.125
- speedometer = 0.0
- copper_backtank = 0.25
- mechanical_saw = 65535.0
- flywheel = 0.0
- encased_chain_drive = 0.0
- clutch = 0.0
- encased_fan = 65535.0
- adjustable_chain_gearshift = 0.0
- mechanical_pump = 65535.0
- crushing_wheel = 65535.0
- mechanical_mixer = 65535.0
- gantry_shaft = 0.0
- rope_pulley = 0.25
- rotation_speed_controller = 0.0
- mechanical_arm = 0.25
- netherite_backtank = 0.25
- andesite_encased_shaft = 65535.0
- mechanical_press = 65535.0
- large_cogwheel = 65535.0
- mechanical_drill = 0.5
- andesite_encased_large_cogwheel = 65535.0
- brass_encased_large_cogwheel = 65535.0
- mysterious_cuckoo_clock = 0.125
- stressometer = 0.0
- shaft = 65535.0
- brass_encased_shaft = 65535.0
- gearshift = 0.0
- turntable = 0.25
- sticky_mechanical_piston = 0.5
- sequenced_gearshift = 0.0
- weighted_ejector = 0.25
- cogwheel = 65535.0
- andesite_encased_cogwheel = 65535.0
- belt = 65535.0
- brass_encased_cogwheel = 65535.0
- gearbox = 0.0
- hose_pulley = 0.25
- elevator_pulley = 0.25
- mechanical_crafter = 0.125
- chain_conveyor = 0.0
-
- #.
- #[in Stress Units]
- #Configure how much stress a source can accommodate for.
- [kinetics.stressValues.v2.capacity]
- copper_valve_handle = 2.0
- hand_crank = 2.0
- steam_engine = 16.0
- creative_motor = 16384.0
- large_water_wheel = 16.0
- water_wheel = 4.0
- windmill_bearing = 32.0
-
-#.
-#Create's liquid manipulation tools
-[fluids]
- #.
- #.
- #[in Buckets]
- #The amount of liquid a tank can hold per block.
- #Range: > 1
- fluidTankCapacity = 16
- #.
- #[in Blocks]
- #The maximum height a fluid tank can reach.
- #Range: > 1
- fluidTankMaxHeight = 32
- #.
- #[in Blocks]
- #The maximum distance a mechanical pump can push or pull liquids on either side.
- #Range: > 1
- mechanicalPumpRange = 16
- #.
- #[in Blocks]
- #The maximum distance a hose pulley can draw fluid blocks from.
- #Range: > 1
- hosePulleyRange = 256
- #.
- #[in Blocks]
- #[-1 to disable this behaviour]
- #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source.
- #Range: > -1
- hosePulleyBlockThreshold = 2000
- #.
- #Whether hose pulleys should continue filling up above-threshold sources.
- fillInfinite = false
- #.
- #Configure which fluids can be drained infinitely.
- #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG
- bottomlessFluidMode = "ALLOW_BY_TAG"
- #.
- #Whether hose pulleys should be allowed to place fluid sources.
- fluidFillPlaceFluidSourceBlocks = true
- #.
- #Whether open-ended pipes should be allowed to place fluid sources.
- pipesPlaceFluidSourceBlocks = false
-
-#.
-#Tweaks for logistical components
-[logistics]
- #.
- #.
- #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone.
- #Range: > 1
- defaultExtractionTimer = 8
- #.
- #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along.
- #Range: > 1
- psiTimeout = 60
- #.
- #Maximum distance in blocks a Mechanical Arm can reach across.
- #Range: > 1
- mechanicalArmRange = 5
- #.
- #Maximum possible range in blocks of redstone link connections.
- #Range: > 1
- linkRange = 256
- #.
- #Maximum possible distance in blocks between display links and their target.
- #Range: > 1
- displayLinkRange = 64
- #.
- #The total amount of stacks a vault can hold per block in size.
- #Range: 1 ~ 2048
- vaultCapacity = 20
- #.
- #The amount of ticks a brass tunnel waits between distributions.
- #Range: 1 ~ 10
- brassTunnelTimer = 10
- #.
- #Whether hostile mobs walking near a seat will start riding it.
- seatHostileMobs = true
- #.
- #Maximum distance in blocks a Package Port can be placed at from its target.
- #Range: > 1
- packagePortRange = 5
- #.
- #The amount of packages a chain conveyor can carry at a time.
- #Range: > 1
- chainConveyorCapacity = 20
- #.
- #The amount of ticks a factory gauge waits between requests.
- #Range: > 5
- factoryGaugeTimer = 100
-
-#.
-#Everything related to Schematic tools
-[schematics]
- #.
- #.
- #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air
- creativePrintIncludesAir = false
- #.
- #The amount of Schematics a player can upload until previous ones are overwritten.
- #Range: > 1
- maxSchematics = 256
- #.
- #[in Bytes]
- #The maximum packet size uploaded Schematics are split into.
- #Range: 256 ~ 32767
- maxSchematicPacketSize = 1024
- #.
- #Amount of game ticks without new packets arriving until an active schematic upload process is discarded.
- #Range: > 100
- schematicIdleTimeout = 600
- #.
- #[in KiloBytes]
- #The maximum allowed file size of uploaded Schematics.
- #Range: > 16
- maxTotalSchematicSize = 256
-
- #.
- #Schematicannon
- [schematics.schematicannon]
- #.
- #Amount of game ticks between shots of the cannon. Higher => Slower
- #Range: > 1
- schematicannonDelay = 10
- #.
- #Amount of blocks a Schematicannon can print per Gunpowder item provided.
- #Range: > 1
- schematicannonShotsPerGunpowder = 400
-
-#.
-#Equipment and gadgets added by Create
-[equipment]
- #.
- #.
- #The Maximum Distance to an active mirror for the symmetry wand to trigger.
- #Range: > 10
- maxSymmetryWandRange = 50
- #.
- #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point.
- #Range: > 3
- placementAssistRange = 12
- #.
- #The Maximum Distance at which a Toolbox can interact with Players' Inventories.
- #Range: > 1
- toolboxRange = 10
- #.
- #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing
- #Range: > 1
- airInBacktank = 1200
- #.
- #The volume of Air added by each level of the backtanks Capacity Enchantment
- #Range: > 1
- enchantedBacktankCapacity = 300
- #.
- #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable
- #Range: > 0
- maxExtendoGripActions = 1000
- #.
- #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable
- #Range: > 0
- maxPotatoCannonShots = 200
-
-#.
-#Create's builtin Railway systems
-[trains]
- #.
- #.
- #Whether moving Trains can hurt colliding mobs and players.
- trainsCauseDamage = true
- #.
- #Maximum length of track that can be placed as one batch or turn.
- #Range: 16 ~ 128
- maxTrackPlacementLength = 32
- #.
- #Maximum length of a Train Stations' assembly track.
- #Range: > 5
- maxAssemblyLength = 128
- #.
- #Maximum amount of bogeys assembled as a single Train.
- #Range: > 1
- maxBogeyCount = 20
- #.
- #Relative speed of a manually controlled Train compared to a Scheduled one.
- #Range: 0.0 ~ 3.4028234663852886E38
- manualTrainSpeedModifier = 1
-
- #.
- #Standard Trains
- [trains.trainStats]
- #.
- #[in Blocks/Second]
- #The top speed of any assembled Train.
- #Range: 0.0 ~ 3.4028234663852886E38
- trainTopSpeed = 28.0
- #.
- #[in Blocks/Second]
- #The top speed of Trains during a turn.
- #Range: 0.0 ~ 3.4028234663852886E38
- trainTurningTopSpeed = 14.0
- #.
- #[in Blocks/Second²]
- #The acceleration of any assembled Train.
- #Range: 0.0 ~ 3.4028234663852886E38
- trainAcceleration = 3.0
-
- #.
- #Powered Trains
- [trains.poweredTrainStats]
- #.
- #[in Blocks/Second]
- #The top speed of powered Trains.
- #Range: 0.0 ~ 3.4028234663852886E38
- poweredTrainTopSpeed = 40.0
- #.
- #[in Blocks/Second]
- #The top speed of powered Trains during a turn.
- #Range: 0.0 ~ 3.4028234663852886E38
- poweredTrainTurningTopSpeed = 20.0
- #.
- #[in Blocks/Second²]
- #The acceleration of powered Trains.
- #Range: 0.0 ~ 3.4028234663852886E38
- poweredTrainAcceleration = 3.0
-
+
+#.
+#The Backbone of Create
+[infrastructure]
+ #.
+ #[in Ticks]
+ #The amount of time a server waits before sending out tickrate synchronization packets.
+ #These packets help animations to be more accurate when tps is below 20.
+ #Range: > 5
+ tickrateSyncTimer = 20
+
+#.
+#Packmakers' control panel for internal recipe compat
+[recipes]
+ #.
+ #.
+ #Allow the Mechanical Press to process entire stacks at a time.
+ bulkPressing = false
+ #.
+ #Allow the Mechanical Saw to process entire stacks at a time.
+ bulkCutting = false
+ #.
+ #Allow supported potions to be brewed by a Mechanical Mixer + Basin.
+ allowBrewingInMixer = false
+ #.
+ #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin.
+ allowShapelessInMixer = false
+ #.
+ #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin.
+ allowShapedSquareInPress = true
+ #.
+ #Allow any standard crafting recipes to be processed by Mechanical Crafters.
+ allowRegularCraftingInCrafter = true
+ #.
+ #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters.
+ #Range: > 1
+ maxFireworkIngredientsInCrafter = 9
+ #.
+ #Allow any stonecutting recipes to be processed by a Mechanical Saw.
+ allowStonecuttingOnSaw = true
+ #.
+ #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct.
+ allowCastingBySpout = true
+ #.
+ #Display vanilla Log-stripping interactions in JEI.
+ displayLogStrippingRecipes = true
+ #.
+ #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance.
+ #Range: > 1
+ lightSourceCountForRefinedRadiance = 10
+ #.
+ #Allow the standard in-world Refined Radiance recipes.
+ enableRefinedRadianceRecipe = false
+ #.
+ #Allow the standard in-world Shadow Steel recipe.
+ enableShadowSteelRecipe = false
+
+#.
+#Parameters and abilities of Create's kinetic mechanisms
+[kinetics]
+ #.
+ #.
+ #Disable the Stress mechanic altogether.
+ disableStress = false
+ #.
+ #Maximum length in blocks of mechanical belts.
+ #Range: > 5
+ maxBeltLength = 5
+ #.
+ #Damage dealt by active Crushing Wheels.
+ #Range: > 0
+ crushingDamage = 4
+ #.
+ #[in Revolutions per Minute]
+ #Maximum allowed rotation speed for any Kinetic Block.
+ #Range: > 64
+ maxRotationSpeed = 256
+ #.
+ #Select what mobs should ignore Deployers when attacked by them.
+ #Allowed Values: ALL, CREEPERS, NONE
+ ignoreDeployerAttacks = "CREEPERS"
+ #.
+ #Game ticks between Kinetic Blocks checking whether their source is still valid.
+ #Range: > 5
+ kineticValidationFrequency = 60
+ #.
+ #multiplier used for calculating exhaustion from speed when a crank is turned.
+ #Range: 0.0 ~ 1.0
+ crankHungerMultiplier = 0.009999999776482582
+ #.
+ #Amount of sail-type blocks required for a windmill to assemble successfully.
+ #Range: > 0
+ minimumWindmillSails = 8
+ #.
+ #Number of sail-type blocks required to increase windmill speed by 1RPM.
+ #Range: > 1
+ windmillSailsPerRPM = 8
+ #.
+ #Max Distance in blocks a Weighted Ejector can throw
+ #Range: > 0
+ maxEjectorDistance = 32
+ #.
+ #Time in ticks until the next item launched by an ejector scans blocks for potential collisions
+ #Range: > 10
+ ejectorScanInterval = 120
+ #.
+ #Maximum length in blocks of chain conveyor connections.
+ #Range: > 5
+ maxChainConveyorLength = 32
+ #.
+ #Maximum amount of connections each chain conveyor can have.
+ #Range: > 1
+ maxChainConveyorConnections = 4
+
+ #.
+ #Encased Fan
+ [kinetics.encasedFan]
+ #.
+ #Maximum distance in blocks Fans can push entities.
+ #Range: > 5
+ fanPushDistance = 20
+ #.
+ #Maximum distance in blocks from where Fans can pull entities.
+ #Range: > 5
+ fanPullDistance = 20
+ #.
+ #Game ticks between Fans checking for anything blocking their air flow.
+ #Range: > 10
+ fanBlockCheckRate = 30
+ #.
+ #[in Revolutions per Minute]
+ #Rotation speed at which the maximum stats of fans are reached.
+ #Range: > 64
+ fanRotationArgmax = 256
+ #.
+ #Game ticks required for a Fan-based processing recipe to take effect.
+ #Range: > 0
+ fanProcessingTime = 400
+
+ #.
+ #Moving Contraptions
+ [kinetics.contraptions]
+ #.
+ #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means.
+ #Range: > 1
+ maxBlocksMoved = 2048
+ #.
+ #Maximum value of a chassis attachment range.
+ #Range: > 1
+ maxChassisRange = 16
+ #.
+ #Maximum amount of extension poles behind a Mechanical Piston.
+ #Range: > 1
+ maxPistonPoles = 64
+ #.
+ #Max length of rope available off a Rope Pulley.
+ #Range: > 1
+ maxRopeLength = 400
+ #.
+ #Maximum allowed distance of two coupled minecarts.
+ #Range: > 1
+ maxCartCouplingLength = 32
+ #.
+ #Maximum depth of blocks filled in using a Mechanical Roller.
+ #Range: > 1
+ rollerFillDepth = 12
+ #.
+ #Whether minecart contraptions can be picked up in survival mode.
+ survivalContraptionPickup = true
+ #.
+ #Configure how Spawner blocks can be moved by contraptions.
+ #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
+ movableSpawners = "NO_PICKUP"
+ #.
+ #Configure how Budding Amethyst can be moved by contraptions.
+ #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
+ amethystMovement = "NO_PICKUP"
+ #.
+ #Configure how Obsidian blocks can be moved by contraptions.
+ #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
+ movableObsidian = "UNMOVABLE"
+ #.
+ #Configure how Reinforced Deepslate blocks can be moved by contraptions.
+ #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE
+ movableReinforcedDeepslate = "UNMOVABLE"
+ #.
+ #Whether items mined or harvested by contraptions should be placed in their mounted storage.
+ moveItemsToStorage = true
+ #.
+ #Whether harvesters should break crops that aren't fully grown.
+ harvestPartiallyGrown = false
+ #.
+ #Whether harvesters should replant crops after harvesting.
+ harvesterReplants = true
+ #.
+ #Whether minecart contraptions can be placed into container items.
+ minecartContraptionInContainers = false
+ #.
+ #Whether stabilised bearings create a separated entity even on non-rotating contraptions.
+ #[Technical]
+ stabiliseStableContraptions = false
+ #.
+ #Whether the players hitbox should be expanded to the size of the contraption hitbox.
+ #[Technical]
+ syncPlayerPickupHitboxWithContraptionHitbox = false
+
+ #.
+ #Configure speed/capacity levels for requirements and indicators.
+ [kinetics.stats]
+ #.
+ #[in Revolutions per Minute]
+ #Minimum speed of rotation to be considered 'medium'
+ #Range: 0.0 ~ 4096.0
+ mediumSpeed = 30.0
+ #.
+ #[in Revolutions per Minute]
+ #Minimum speed of rotation to be considered 'fast'
+ #Range: 0.0 ~ 65535.0
+ fastSpeed = 100.0
+ #.
+ #[in Stress Units]
+ #Minimum stress impact to be considered 'medium'
+ #Range: 0.0 ~ 4096.0
+ mediumStressImpact = 1.0
+ #.
+ #[in Stress Units]
+ #Minimum stress impact to be considered 'high'
+ #Range: 0.0 ~ 65535.0
+ highStressImpact = 2.0
+ #.
+ #[in Stress Units]
+ #Minimum added Capacity by sources to be considered 'medium'
+ #Range: 0.0 ~ 4096.0
+ mediumCapacity = 32.0
+ #.
+ #[in Stress Units]
+ #Minimum added Capacity by sources to be considered 'high'
+ #Range: 0.0 ~ 65535.0
+ highCapacity = 128.0
+
+ [kinetics.stressValues]
+
+ #.
+ #Fine tune the kinetic stats of individual components
+ [kinetics.stressValues.v2]
+ large_water_wheel = 16.0
+ windmill_bearing = 32.0
+ hand_crank = 2.0
+ creative_motor = 2097152.0
+ water_wheel = 4.0
+ copper_valve_handle = 2.0
+ steam_engine = 16.0
+
+ #.
+ #.
+ #[in Stress Units]
+ #Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives.
+ [kinetics.stressValues.v2.impact]
+ display_board = 0.0
+ deployer = 0.25
+ mechanical_piston = 0.5
+ millstone = 65535.0
+ mechanical_bearing = 0.5
+ clockwork_bearing = 0.5
+ cuckoo_clock = 0.125
+ speedometer = 0.0
+ copper_backtank = 0.25
+ mechanical_saw = 65535.0
+ flywheel = 0.0
+ encased_chain_drive = 0.0
+ clutch = 0.0
+ encased_fan = 65535.0
+ adjustable_chain_gearshift = 0.0
+ mechanical_pump = 65535.0
+ crushing_wheel = 65535.0
+ mechanical_mixer = 65535.0
+ gantry_shaft = 0.0
+ rope_pulley = 0.25
+ rotation_speed_controller = 0.0
+ mechanical_arm = 0.25
+ netherite_backtank = 0.25
+ andesite_encased_shaft = 65535.0
+ mechanical_press = 65535.0
+ large_cogwheel = 65535.0
+ mechanical_drill = 0.5
+ andesite_encased_large_cogwheel = 65535.0
+ brass_encased_large_cogwheel = 65535.0
+ mysterious_cuckoo_clock = 0.125
+ stressometer = 0.0
+ shaft = 65535.0
+ brass_encased_shaft = 65535.0
+ gearshift = 0.0
+ turntable = 0.25
+ sticky_mechanical_piston = 0.5
+ sequenced_gearshift = 0.0
+ weighted_ejector = 0.25
+ cogwheel = 65535.0
+ andesite_encased_cogwheel = 65535.0
+ belt = 65535.0
+ brass_encased_cogwheel = 65535.0
+ gearbox = 0.0
+ hose_pulley = 0.25
+ elevator_pulley = 0.25
+ mechanical_crafter = 0.125
+ chain_conveyor = 0.0
+
+ #.
+ #[in Stress Units]
+ #Configure how much stress a source can accommodate for.
+ [kinetics.stressValues.v2.capacity]
+ copper_valve_handle = 2.0
+ hand_crank = 2.0
+ steam_engine = 16.0
+ creative_motor = 16384.0
+ large_water_wheel = 16.0
+ water_wheel = 4.0
+ windmill_bearing = 32.0
+
+#.
+#Create's liquid manipulation tools
+[fluids]
+ #.
+ #.
+ #[in Buckets]
+ #The amount of liquid a tank can hold per block.
+ #Range: > 1
+ fluidTankCapacity = 16
+ #.
+ #[in Blocks]
+ #The maximum height a fluid tank can reach.
+ #Range: > 1
+ fluidTankMaxHeight = 32
+ #.
+ #[in Blocks]
+ #The maximum distance a mechanical pump can push or pull liquids on either side.
+ #Range: > 1
+ mechanicalPumpRange = 16
+ #.
+ #[in Blocks]
+ #The maximum distance a hose pulley can draw fluid blocks from.
+ #Range: > 1
+ hosePulleyRange = 256
+ #.
+ #[in Blocks]
+ #[-1 to disable this behaviour]
+ #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source.
+ #Range: > -1
+ hosePulleyBlockThreshold = 2000
+ #.
+ #Whether hose pulleys should continue filling up above-threshold sources.
+ fillInfinite = false
+ #.
+ #Configure which fluids can be drained infinitely.
+ #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG
+ bottomlessFluidMode = "ALLOW_BY_TAG"
+ #.
+ #Whether hose pulleys should be allowed to place fluid sources.
+ fluidFillPlaceFluidSourceBlocks = true
+ #.
+ #Whether open-ended pipes should be allowed to place fluid sources.
+ pipesPlaceFluidSourceBlocks = false
+
+#.
+#Tweaks for logistical components
+[logistics]
+ #.
+ #.
+ #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone.
+ #Range: > 1
+ defaultExtractionTimer = 8
+ #.
+ #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along.
+ #Range: > 1
+ psiTimeout = 60
+ #.
+ #Maximum distance in blocks a Mechanical Arm can reach across.
+ #Range: > 1
+ mechanicalArmRange = 5
+ #.
+ #Maximum possible range in blocks of redstone link connections.
+ #Range: > 1
+ linkRange = 256
+ #.
+ #Maximum possible distance in blocks between display links and their target.
+ #Range: > 1
+ displayLinkRange = 64
+ #.
+ #The total amount of stacks a vault can hold per block in size.
+ #Range: 1 ~ 2048
+ vaultCapacity = 20
+ #.
+ #The amount of ticks a brass tunnel waits between distributions.
+ #Range: 1 ~ 10
+ brassTunnelTimer = 10
+ #.
+ #Whether hostile mobs walking near a seat will start riding it.
+ seatHostileMobs = true
+ #.
+ #Maximum distance in blocks a Package Port can be placed at from its target.
+ #Range: > 1
+ packagePortRange = 5
+ #.
+ #The amount of packages a chain conveyor can carry at a time.
+ #Range: > 1
+ chainConveyorCapacity = 20
+ #.
+ #The amount of ticks a factory gauge waits between requests.
+ #Range: > 5
+ factoryGaugeTimer = 100
+
+#.
+#Everything related to Schematic tools
+[schematics]
+ #.
+ #.
+ #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air
+ creativePrintIncludesAir = false
+ #.
+ #The amount of Schematics a player can upload until previous ones are overwritten.
+ #Range: > 1
+ maxSchematics = 256
+ #.
+ #[in Bytes]
+ #The maximum packet size uploaded Schematics are split into.
+ #Range: 256 ~ 32767
+ maxSchematicPacketSize = 1024
+ #.
+ #Amount of game ticks without new packets arriving until an active schematic upload process is discarded.
+ #Range: > 100
+ schematicIdleTimeout = 600
+ #.
+ #[in KiloBytes]
+ #The maximum allowed file size of uploaded Schematics.
+ #Range: > 16
+ maxTotalSchematicSize = 256
+
+ #.
+ #Schematicannon
+ [schematics.schematicannon]
+ #.
+ #Amount of game ticks between shots of the cannon. Higher => Slower
+ #Range: > 1
+ schematicannonDelay = 10
+ #.
+ #Amount of blocks a Schematicannon can print per Gunpowder item provided.
+ #Range: > 1
+ schematicannonShotsPerGunpowder = 400
+
+#.
+#Equipment and gadgets added by Create
+[equipment]
+ #.
+ #.
+ #The Maximum Distance to an active mirror for the symmetry wand to trigger.
+ #Range: > 10
+ maxSymmetryWandRange = 50
+ #.
+ #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point.
+ #Range: > 3
+ placementAssistRange = 12
+ #.
+ #The Maximum Distance at which a Toolbox can interact with Players' Inventories.
+ #Range: > 1
+ toolboxRange = 10
+ #.
+ #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing
+ #Range: > 1
+ airInBacktank = 1200
+ #.
+ #The volume of Air added by each level of the backtanks Capacity Enchantment
+ #Range: > 1
+ enchantedBacktankCapacity = 300
+ #.
+ #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable
+ #Range: > 0
+ maxExtendoGripActions = 1000
+ #.
+ #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable
+ #Range: > 0
+ maxPotatoCannonShots = 200
+
+#.
+#Create's builtin Railway systems
+[trains]
+ #.
+ #.
+ #Whether moving Trains can hurt colliding mobs and players.
+ trainsCauseDamage = true
+ #.
+ #Maximum length of track that can be placed as one batch or turn.
+ #Range: 16 ~ 128
+ maxTrackPlacementLength = 32
+ #.
+ #Maximum length of a Train Stations' assembly track.
+ #Range: > 5
+ maxAssemblyLength = 128
+ #.
+ #Maximum amount of bogeys assembled as a single Train.
+ #Range: > 1
+ maxBogeyCount = 20
+ #.
+ #Relative speed of a manually controlled Train compared to a Scheduled one.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ manualTrainSpeedModifier = 1
+
+ #.
+ #Standard Trains
+ [trains.trainStats]
+ #.
+ #[in Blocks/Second]
+ #The top speed of any assembled Train.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ trainTopSpeed = 28.0
+ #.
+ #[in Blocks/Second]
+ #The top speed of Trains during a turn.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ trainTurningTopSpeed = 14.0
+ #.
+ #[in Blocks/Second²]
+ #The acceleration of any assembled Train.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ trainAcceleration = 3.0
+
+ #.
+ #Powered Trains
+ [trains.poweredTrainStats]
+ #.
+ #[in Blocks/Second]
+ #The top speed of powered Trains.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ poweredTrainTopSpeed = 40.0
+ #.
+ #[in Blocks/Second]
+ #The top speed of powered Trains during a turn.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ poweredTrainTurningTopSpeed = 20.0
+ #.
+ #[in Blocks/Second²]
+ #The acceleration of powered Trains.
+ #Range: 0.0 ~ 3.4028234663852886E38
+ poweredTrainAcceleration = 3.0
+
diff --git a/eslint.config.js b/eslint.config.js
index ce47c6090..ac4e75807 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -6,7 +6,7 @@ import stylistic from '@stylistic/eslint-plugin'
export default defineConfig([
{
- files: ["**/*.{js,mjs,cjs,ts,mts,cts}"],
+ files: ["kubejs/startup_scripts/**/*.js", "kubejs/server_scripts/**/*.js", "kubejs/client_scripts/**/*.js"],
plugins: {
"js": js,
"@stylistic": stylistic
@@ -18,6 +18,14 @@ export default defineConfig([
"no-undef": "off",
"no-unused-vars": "off",
"no-unexpected-multiline": "off",
+ "no-var": "warn",
+ "prefer-template": "warn",
+ "no-unreachable-loop": "warn",
+ "no-useless-assignment": "warn",
+ "no-self-compare": "warn",
+ "no-template-curly-in-string": "error",
+ "no-unmodified-loop-condition": "warn",
+ "eqeqeq": "warn",
"@stylistic/comma-style": [1, "last"],
"@stylistic/brace-style": [1, "1tbs"],
"@stylistic/function-call-spacing": [1, "never"],
diff --git a/kubejs/README IF TRANSLATING.md b/kubejs/README_IF_TRANSLATING.md
similarity index 100%
rename from kubejs/README IF TRANSLATING.md
rename to kubejs/README_IF_TRANSLATING.md
diff --git a/kubejs/assets/ad_astra/lang/en_us.json b/kubejs/assets/ad_astra/lang/en_us.json
index d29744703..76b5dc712 100644
--- a/kubejs/assets/ad_astra/lang/en_us.json
+++ b/kubejs/assets/ad_astra/lang/en_us.json
@@ -108,16 +108,26 @@
"entity.ad_astra.corrupted_lunarian": "Lunar Zombie",
"entity.ad_astra.tier_1_rocket": "R-Aluminosteel Rocket",
"entity.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket",
+ "entity.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket",
"entity.ad_astra.tier_1_rover": "Rover",
"fluid_type.ad_astra.oxygen": "Breathable Air",
"item.ad_astra.steel_cable": "Basic RF Cable",
"item.ad_astra.desh_cable": "Advanced RF Cable",
"item.ad_astra.tier_1_rocket": "R-Aluminosteel Rocket",
"item.ad_astra.tier_2_rocket": "ASM 4914 Titanium Rocket",
+ "item.ad_astra.tier_3_rocket": "45-Ti Tungstensteel Rocket",
"item.ad_astra.oxygen_bucket": "Breathable Air Bucket",
"item.ad_astra.tier_1_rover": "Rover",
- "item.ad_astra.photovoltaic_etrium_cell": "Basic Photovoltaic Cell",
+ "item.ad_astra.photovoltaic_etrium_cell": "Advanced Photovoltaic Cell",
"item.ad_astra.photovoltaic_vesnium_cell": "Energium Photovoltaic Cell",
+ "item.ad_astra.ostrum_tank": "Ostrum Booster Tank",
+ "item.ad_astra.steel_engine": "Steel Rocket Engine",
+ "item.ad_astra.desh_engine": "Desh Rocket Engine",
+ "item.ad_astra.ostrum_engine": "Ostrum Rocket Engine",
+ "item.ad_astra.netherite_space_helmet": "§bTungstensteel Space Helmet",
+ "item.ad_astra.netherite_space_suit": "§bTungstensteel Space Suit",
+ "item.ad_astra.netherite_space_pants": "§bTungstensteel Space Pants",
+ "item.ad_astra.netherite_space_boots": "§bTungstensteel Space Boots",
"item.ad_astra.cheese": "Moon Cheese",
"tagprefix.moon_stone": "Anorthosite %s Ore",
"tagprefix.moon_deepslate": "Norite %s Ore",
diff --git a/kubejs/assets/ad_astra/lang/uk_ua.json b/kubejs/assets/ad_astra/lang/uk_ua.json
index 6451b7f1b..e2173cd7b 100644
--- a/kubejs/assets/ad_astra/lang/uk_ua.json
+++ b/kubejs/assets/ad_astra/lang/uk_ua.json
@@ -1,8 +1,8 @@
{
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
- "block.ad_astra.oxygen_distributor": "Розподілювач Повітря",
- "block.ad_astra.moon_sand": "Місячний Пісок",
- "block.ad_astra.moon_stone": "Сирий Анортозит",
+ "block.ad_astra.oxygen_distributor": "Розподілювач повітря",
+ "block.ad_astra.moon_sand": "Місячний пісок",
+ "block.ad_astra.moon_stone": "Сирий анортозит",
"block.ad_astra.moon_cobblestone": "Анортоцитовий брук",
"block.ad_astra.moon_cobblestone_slab": "Анортоцитова бруківна плита",
"block.ad_astra.moon_cobblestone_stairs": "Анортоцитові бруківні сходи",
@@ -10,22 +10,22 @@
"block.ad_astra.moon_stone_brick_slab": "Анортоцитова цегляна плита",
"block.ad_astra.moon_stone_brick_stairs": "Анортоцитові цегляні сходи",
"block.ad_astra.moon_stone_brick_wall": "Анортоцитова цегляна стіна",
- "block.ad_astra.moon_stone_bricks": "Анортоцитові цеглини",
+ "block.ad_astra.moon_stone_bricks": "Анортоцитована цеглина",
"block.ad_astra.moon_stone_slab": "Анортоцитова плита",
"block.ad_astra.moon_stone_stairs": "Анортоцитові сходи",
- "block.ad_astra.chiseled_moon_stone_bricks": "Різьблені Анортоцитові Цеглини",
- "block.ad_astra.chiseled_moon_stone_slab": "Різьблена Анортоцитова плита",
- "block.ad_astra.chiseled_moon_stone_stairs": "Різьблені Анортоцитові Сходи",
- "block.ad_astra.cracked_moon_stone_bricks": "Тріщинуваті Анортоцитові Цеглини",
- "block.ad_astra.polished_moon_stone": "Полірований Анортоцит",
- "block.ad_astra.polished_moon_stone_slab": "Полірована Анортоцитова плита",
- "block.ad_astra.polished_moon_stone_stairs": "Поліровані Анортоцитові Сходи",
+ "block.ad_astra.chiseled_moon_stone_bricks": "Оброблена анортоцитова цеглина",
+ "block.ad_astra.chiseled_moon_stone_slab": "Оброблена анортоцитова плита",
+ "block.ad_astra.chiseled_moon_stone_stairs": "Оброблені анортоцитові сходи",
+ "block.ad_astra.cracked_moon_stone_bricks": "Тріскана анортоцитована цеглина",
+ "block.ad_astra.polished_moon_stone": "Оброблений анортозит",
+ "block.ad_astra.polished_moon_stone_slab": "Оброблена анортизована плита",
+ "block.ad_astra.polished_moon_stone_stairs": "Оброблена анортизовані сходи",
"block.ad_astra.sky_stone": "Метеорит",
- "block.ad_astra.moon_deepslate": "Сирий Норит",
+ "block.ad_astra.moon_deepslate": "Сирий норит",
"block.ad_astra.cheese_block": "Місячний сирний блок",
- "block.ad_astra.moon_cheese_ore": "Анортоцитовий Сирна Руда",
+ "block.ad_astra.moon_cheese_ore": "Анортоцитовий сирна руда",
"block.ad_astra.mars_sand": "Аргілітовий пісок",
- "block.ad_astra.mars_stone": "Сирий Аргіліт",
+ "block.ad_astra.mars_stone": "Сирий аргіліт",
"block.ad_astra.mars_cobblestone": "Аргілітовий брук",
"block.ad_astra.mars_cobblestone_slab": "Аргілітова бруківна плита",
"block.ad_astra.mars_cobblestone_stairs": "Аргілітові бруківні сходи",
@@ -33,20 +33,20 @@
"block.ad_astra.mars_stone_brick_slab": "Аргілітова цегляна плита",
"block.ad_astra.mars_stone_brick_stairs": "Аргілітові цегляні сходи",
"block.ad_astra.mars_stone_brick_wall": "Аргілітова цегляна стіна",
- "block.ad_astra.mars_stone_bricks": "Аргілітові цеглини",
+ "block.ad_astra.mars_stone_bricks": "Аргілітова цеглина",
"block.ad_astra.mars_stone_slab": "Аргілітова плита",
"block.ad_astra.mars_stone_stairs": "Аргілітові сходи",
- "block.ad_astra.chiseled_mars_stone_bricks": "Різьблені Аргілітові Цеглини",
- "block.ad_astra.chiseled_mars_stone_slab": "Різьблена Аргілітова плита",
- "block.ad_astra.chiseled_mars_stone_stairs": "Різьблені Аргілітові Сходи",
- "block.ad_astra.cracked_mars_stone_bricks": "Тріщинуваті Аргілітові Цеглини",
- "block.ad_astra.polished_mars_stone": "Полірований Аргіліт",
- "block.ad_astra.polished_mars_stone_slab": "Полірована Аргілітова плита",
- "block.ad_astra.polished_mars_stone_stairs": "Поліровані Аргілітові Сходи",
- "block.ad_astra.conglomerate": "Марсіанський Конгломерат",
- "block.ad_astra.polished_conglomerate": "Полірований Марсіанський Конгломерат",
+ "block.ad_astra.chiseled_mars_stone_bricks": "Оброблена аргілітова цеглина",
+ "block.ad_astra.chiseled_mars_stone_slab": "Оброблена аргілітова плита",
+ "block.ad_astra.chiseled_mars_stone_stairs": "Оброблені аргілітові сходи",
+ "block.ad_astra.cracked_mars_stone_bricks": "Тріскана аргілітова цеглина",
+ "block.ad_astra.polished_mars_stone": "Оброблений аргіліт",
+ "block.ad_astra.polished_mars_stone_slab": "Оброблена аргілітова плита",
+ "block.ad_astra.polished_mars_stone_stairs": "Оброблені аргілітові сходи",
+ "block.ad_astra.conglomerate": "Марсіанський конгломерат",
+ "block.ad_astra.polished_conglomerate": "Оброблений марсіанський конгломерат",
"block.ad_astra.venus_sand": "Трахітовий пісок",
- "block.ad_astra.venus_stone": "Сирий Трахіт",
+ "block.ad_astra.venus_stone": "Сирий трахіт",
"block.ad_astra.venus_cobblestone": "Трахітовий брук",
"block.ad_astra.venus_cobblestone_slab": "Трахітова бруківна плита",
"block.ad_astra.venus_cobblestone_stairs": "Trachyte Cobble Stairs",
@@ -54,21 +54,21 @@
"block.ad_astra.venus_stone_brick_slab": "Трахітова цегляна плита",
"block.ad_astra.venus_stone_brick_stairs": "Трахітові цегляні сходи",
"block.ad_astra.venus_stone_brick_wall": "Трахітова цегляна стіна",
- "block.ad_astra.venus_stone_bricks": "Трахітові цеглини",
+ "block.ad_astra.venus_stone_bricks": "Трахітова цеглина",
"block.ad_astra.venus_stone_slab": "Трахітова плита",
"block.ad_astra.venus_stone_stairs": "Трахітові сходи",
- "block.ad_astra.chiseled_venus_stone_bricks": "Різьблені Трахітові Цеглини",
- "block.ad_astra.chiseled_venus_stone_slab": "Різьблена Трахітова плита",
- "block.ad_astra.chiseled_venus_stone_stairs": "Різьблені Трахітові Сходи",
- "block.ad_astra.cracked_venus_stone_bricks": "Тріщинуваті Трахітові Цеглини",
- "block.ad_astra.polished_venus_stone": "Полірований Трахіт",
- "block.ad_astra.polished_venus_stone_slab": "Полірована Трахітова плита",
- "block.ad_astra.polished_venus_stone_stairs": "Поліровані Трахітові Сходи",
+ "block.ad_astra.chiseled_venus_stone_bricks": "Оброблена трахітова цеглина",
+ "block.ad_astra.chiseled_venus_stone_slab": "Оброблена трахітова плита",
+ "block.ad_astra.chiseled_venus_stone_stairs": "Оброблені трахітові сходи",
+ "block.ad_astra.cracked_venus_stone_bricks": "Тріскана трахітова цеглина",
+ "block.ad_astra.polished_venus_stone": "Оброблений трахіт",
+ "block.ad_astra.polished_venus_stone_slab": "Оброблена трахітова плита",
+ "block.ad_astra.polished_venus_stone_stairs": "Оброблені трахітові Сходи",
"block.ad_astra.venus_sandstone": "Трахітовий пісковик",
"block.ad_astra.venus_sandstone_bricks": "Цегла з трахітового пісковику",
"block.ad_astra.venus_sandstone_brick_slab": "Плита з цегли з трахітового пісковику",
"block.ad_astra.venus_sandstone_brick_stairs": "Сходи з цегли з трахітового пісковику",
- "block.ad_astra.cracked_venus_sandstone_bricks": "Тріснута цегла з трахітового пісковику",
+ "block.ad_astra.cracked_venus_sandstone_bricks": "Тріскана цегла з трахітового пісковику",
"block.ad_astra.mercury_stone": "Сирий Коматіїт",
"block.ad_astra.mercury_cobblestone": "Коматієва бруківка",
"block.ad_astra.mercury_cobblestone_slab": "Коматієва бруківна плита",
@@ -77,16 +77,16 @@
"block.ad_astra.mercury_stone_brick_slab": "Коматієва цегляна плита",
"block.ad_astra.mercury_stone_brick_stairs": "Коматієві цегляні сходи",
"block.ad_astra.mercury_stone_brick_wall": "Коматієва цегляна стіна",
- "block.ad_astra.mercury_stone_bricks": "Коматієві цеглини",
+ "block.ad_astra.mercury_stone_bricks": "Коматієва цеглина",
"block.ad_astra.mercury_stone_slab": "Коматієва плита",
"block.ad_astra.mercury_stone_stairs": "Коматієві сходи",
- "block.ad_astra.chiseled_mercury_stone_bricks": "Різьблені Коматієві Цеглини",
- "block.ad_astra.chiseled_mercury_stone_slab": "Різьблена Коматієва плита",
- "block.ad_astra.chiseled_mercury_stone_stairs": "Різьблені Коматієві Сходи",
- "block.ad_astra.cracked_mercury_stone_bricks": "Тріщинуваті Коматієві Цеглини",
- "block.ad_astra.polished_mercury_stone": "Полірований Коматіїт",
- "block.ad_astra.polished_mercury_stone_slab": "Полірована Коматієва плита",
- "block.ad_astra.polished_mercury_stone_stairs": "Поліровані Коматієві Сходи",
+ "block.ad_astra.chiseled_mercury_stone_bricks": "Оброблена коматієва цеглина",
+ "block.ad_astra.chiseled_mercury_stone_slab": "Оброблена коматієва плита",
+ "block.ad_astra.chiseled_mercury_stone_stairs": "Оброблені коматієві сходи",
+ "block.ad_astra.cracked_mercury_stone_bricks": "Тріскана коматієва цеглина",
+ "block.ad_astra.polished_mercury_stone": "Оброблений коматіїт",
+ "block.ad_astra.polished_mercury_stone_slab": "Оброблена коматієва плита",
+ "block.ad_astra.polished_mercury_stone_stairs": "Оброблені коматієві сходи",
"block.ad_astra.glacio_stone": "Сирий Фоноліт",
"block.ad_astra.glacio_cobblestone": "Фонолітова бруківка",
"block.ad_astra.glacio_cobblestone_slab": "Фонолітова бруківна плита",
@@ -95,32 +95,44 @@
"block.ad_astra.glacio_stone_brick_slab": "Фонолітова цегляна плита",
"block.ad_astra.glacio_stone_brick_stairs": "Фонолітові цегляні сходи",
"block.ad_astra.glacio_stone_brick_wall": "Фонолітова цегляна стіна",
- "block.ad_astra.glacio_stone_bricks": "Фонолітові цеглини",
+ "block.ad_astra.glacio_stone_bricks": "Фонолітова цеглина",
"block.ad_astra.glacio_stone_slab": "Фонолітова плита",
"block.ad_astra.glacio_stone_stairs": "Фонолітові сходи",
- "block.ad_astra.chiseled_glacio_stone_bricks": "Різьблені Фонолітові Цеглини",
- "block.ad_astra.chiseled_glacio_stone_slab": "Різьблена Фонолітова плита",
- "block.ad_astra.chiseled_glacio_stone_stairs": "Різьблені Фонолітові Сходи",
- "block.ad_astra.cracked_glacio_stone_bricks": "Тріщинуваті Фонолітові Цеглини",
- "block.ad_astra.polished_glacio_stone": "Полірований Фоноліт",
- "block.ad_astra.polished_glacio_stone_slab": "Полірована Фонолітова плита",
- "block.ad_astra.polished_glacio_stone_stairs": "Поліровані Фонолітові Сходи",
+ "block.ad_astra.chiseled_glacio_stone_bricks": "Оброблена Фонолітова цеглина",
+ "block.ad_astra.chiseled_glacio_stone_slab": "Оброблена фонолітова плита",
+ "block.ad_astra.chiseled_glacio_stone_stairs": "Оброблені Фонолітові сходи",
+ "block.ad_astra.cracked_glacio_stone_bricks": "Тріскана Фонолітова цеглина",
+ "block.ad_astra.polished_glacio_stone": "Оброблений фоноліт",
+ "block.ad_astra.polished_glacio_stone_slab": "Оброблена фонолітова плита",
+ "block.ad_astra.polished_glacio_stone_stairs": "Оброблені Фонолітові сходи",
"entity.ad_astra.corrupted_lunarian": "Місячний Зомбі",
- "entity.ad_astra.tier_1_rocket": "Р-алюміносталева ракета",
+ "entity.ad_astra.tier_1_rocket": "R-Алюміносталева Ракета",
+ "entity.ad_astra.tier_2_rocket": "Титанова ракета ASM 4914",
+ "entity.ad_astra.tier_3_rocket": "Ракета з вольфрамової сталі 45-Ti",
"entity.ad_astra.tier_1_rover": "Ровер",
"fluid_type.ad_astra.oxygen": "Придатне Повітря",
- "item.ad_astra.steel_cable": "Базовий RF-кабель",
- "item.ad_astra.desh_cable": "Покращений RF-кабель",
- "item.ad_astra.tier_1_rocket": "Р-алюміносталева ракета",
- "item.ad_astra.oxygen_bucket": "Відро з вдиханим повітрям",
+ "item.ad_astra.steel_cable": "Базовий RF Кабель",
+ "item.ad_astra.desh_cable": "Покращений RF Кабель",
+ "item.ad_astra.tier_1_rocket": "R-Алюміносталева Ракета",
+ "item.ad_astra.tier_2_rocket": "Титанова ракета ASM 4914",
+ "item.ad_astra.tier_3_rocket": "Ракета з вольфрамової сталі 45-Ti",
+ "item.ad_astra.oxygen_bucket": "Відро з Дихальним Повітрям",
"item.ad_astra.tier_1_rover": "Ровер",
- "item.ad_astra.photovoltaic_etrium_cell": "Базова фотоелектрична капсула",
- "item.ad_astra.photovoltaic_vesnium_cell": "Вдосконалена фотоелектрична капсула",
+ "item.ad_astra.photovoltaic_etrium_cell": "Базова Фотоелектрична Капсула",
+ "item.ad_astra.photovoltaic_vesnium_cell": "Капсула Фотоелементу Енергіюму",
+ "item.ad_astra.ostrum_tank": "Бак прискорювача з Оструму",
+ "item.ad_astra.steel_engine": "Ракетний двигун зі сталі",
+ "item.ad_astra.desh_engine": "Ракетний двигун із Дешу",
+ "item.ad_astra.ostrum_engine": "Ракетний двигун з Оструму",
+ "item.ad_astra.netherite_space_helmet": "§bКосмічний шолом з вольфрамової сталі",
+ "item.ad_astra.netherite_space_suit": "§bКосмічний скафандр з вольфрамової сталі",
+ "item.ad_astra.netherite_space_pants": "§bКосмічні штани з вольфрамової сталі",
+ "item.ad_astra.netherite_space_boots": "§bКосмічні черевики з вольфрамової сталі",
"item.ad_astra.cheese": "Місячний сир",
"tagprefix.moon_stone": "Анорто́зитова %s Руда",
"tagprefix.moon_deepslate": "Норитова %s Руда",
"tagprefix.mars_stone": "Аргілітова %s Руда",
- "tagprefix.venus_stone": "ТрахітовАа %s Руда",
+ "tagprefix.venus_stone": "Трахітова %s Руда",
"tagprefix.mercury_stone": "Коматієва %s Руда",
"tagprefix.glacio_stone": "Фонолітова %s Руда"
}
\ No newline at end of file
diff --git a/kubejs/assets/ad_astra/textures/entity/armor/netherite_space_suit.png b/kubejs/assets/ad_astra/textures/entity/armor/netherite_space_suit.png
new file mode 100644
index 000000000..1b2d3870a
Binary files /dev/null and b/kubejs/assets/ad_astra/textures/entity/armor/netherite_space_suit.png differ
diff --git a/kubejs/assets/ad_astra/textures/entity/rocket/tier_3_rocket.png b/kubejs/assets/ad_astra/textures/entity/rocket/tier_3_rocket.png
new file mode 100644
index 000000000..134dbe1dd
Binary files /dev/null and b/kubejs/assets/ad_astra/textures/entity/rocket/tier_3_rocket.png differ
diff --git a/kubejs/assets/ad_astra/textures/item/netherite_space_boots.png b/kubejs/assets/ad_astra/textures/item/netherite_space_boots.png
new file mode 100644
index 000000000..57aac97e8
Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/netherite_space_boots.png differ
diff --git a/kubejs/assets/ad_astra/textures/item/netherite_space_helmet.png b/kubejs/assets/ad_astra/textures/item/netherite_space_helmet.png
new file mode 100644
index 000000000..272bf2624
Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/netherite_space_helmet.png differ
diff --git a/kubejs/assets/ad_astra/textures/item/netherite_space_pants.png b/kubejs/assets/ad_astra/textures/item/netherite_space_pants.png
new file mode 100644
index 000000000..68c2a314f
Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/netherite_space_pants.png differ
diff --git a/kubejs/assets/ad_astra/textures/item/netherite_space_suit.png b/kubejs/assets/ad_astra/textures/item/netherite_space_suit.png
new file mode 100644
index 000000000..4e1e26bfa
Binary files /dev/null and b/kubejs/assets/ad_astra/textures/item/netherite_space_suit.png differ
diff --git a/kubejs/assets/ae2/lang/uk_ua.json b/kubejs/assets/ae2/lang/uk_ua.json
index 3748b2770..90d62268a 100644
--- a/kubejs/assets/ae2/lang/uk_ua.json
+++ b/kubejs/assets/ae2/lang/uk_ua.json
@@ -1,6 +1,6 @@
{
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
- "gui.ae2.inWorldCraftingPresses": "Прес-форми для крафту здобуваються шляхом руйнування Таємничого куба. Таємничі куби розташовані в центрі метеоритів, які можна знайти на Місяці.",
+ "gui.ae2.inWorldCraftingPresses": "Пресформи для крафту здобуваються шляхом руйнування Таємничого куба. Таємничі куби розташовані в центрі метеоритів, які можна знайти на Місяці.",
"gui.advanced_ae.AdvPatternProvider": "",
"gui.expandedae.exp_pattern_provider": ""
}
\ No newline at end of file
diff --git a/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_1.png b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_1.png
new file mode 100644
index 000000000..f96a83a03
Binary files /dev/null and b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_1.png differ
diff --git a/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_2.png b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_2.png
new file mode 100644
index 000000000..298cc102c
Binary files /dev/null and b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_2.png differ
diff --git a/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_3.png b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_3.png
new file mode 100644
index 000000000..2cc10b702
Binary files /dev/null and b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mag_aa_3.png differ
diff --git a/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_1.png b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_1.png
new file mode 100644
index 000000000..ac1d72bdc
Binary files /dev/null and b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_1.png differ
diff --git a/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_2.png b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_2.png
new file mode 100644
index 000000000..29bae15c2
Binary files /dev/null and b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_2.png differ
diff --git a/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_3.png b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_3.png
new file mode 100644
index 000000000..3ed10f52c
Binary files /dev/null and b/kubejs/assets/applied_armorer/textures/attachment/slot/extended_mid_mag_aa_3.png differ
diff --git a/kubejs/assets/beneath/lang/en_us.json b/kubejs/assets/beneath/lang/en_us.json
index f5290e9ed..2b58fe4cc 100644
--- a/kubejs/assets/beneath/lang/en_us.json
+++ b/kubejs/assets/beneath/lang/en_us.json
@@ -9,6 +9,8 @@
"block.beneath.ore.blackstone_sylvite": "Sylvite Ore",
"block.beneath.crackrack": "Keratophyre",
"block.beneath.soul_clay": "Muddy Clay",
+ "block.beneath.wood.fallen_leaves.crimson": "Fallen Crimson Lamella",
+ "block.beneath.wood.fallen_leaves.warped": "Fallen Warped Lamella",
"item.beneath.cursed_hide": "Lavaproof Hide",
"item.beneath.blackstone_brick": "Pyroxenite Brick",
"item.beneath.cursecoal": "Anthracite",
diff --git a/kubejs/assets/beneath/lang/uk_ua.json b/kubejs/assets/beneath/lang/uk_ua.json
index 320e6a18b..b7c4cbe1e 100644
--- a/kubejs/assets/beneath/lang/uk_ua.json
+++ b/kubejs/assets/beneath/lang/uk_ua.json
@@ -9,6 +9,8 @@
"block.beneath.ore.blackstone_sylvite": "Руда Сильвіну",
"block.beneath.crackrack": "Кератофір",
"block.beneath.soul_clay": "Брудна Глина",
+ "block.beneath.wood.fallen_leaves.crimson": "Занепала червона ламела",
+ "block.beneath.wood.fallen_leaves.warped": "Занепала викривлена ламела",
"item.beneath.cursed_hide": "Лавостійка Шкіра",
"item.beneath.blackstone_brick": "Цегла з Піроксеніту",
"item.beneath.cursecoal": "Антрацит",
diff --git a/kubejs/assets/betterend/blockstates/aeridium.json b/kubejs/assets/betterend/blockstates/aeridium.json
new file mode 100644
index 000000000..34b5c71d1
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/aeridium.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/aeridium_01" },
+ { "model": "betterend:block/aeridium_02" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/amaranita_stem.json b/kubejs/assets/betterend/blockstates/amaranita_stem.json
new file mode 100644
index 000000000..654324f34
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/amaranita_stem.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "axis=x": { "model": "betterend:block/amaranita_stem", "x": 90, "y": 90 },
+ "axis=y": { "model": "betterend:block/amaranita_stem" },
+ "axis=z": { "model": "betterend:block/amaranita_stem", "x": 90 }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/blockstates/amber_grass.json b/kubejs/assets/betterend/blockstates/amber_grass.json
new file mode 100644
index 000000000..dcf719eda
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/amber_grass.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/amber_grass_01" },
+ { "model": "betterend:block/amber_grass_02" },
+ { "model": "betterend:block/amber_grass_03" },
+ { "model": "betterend:block/amber_grass_04" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/amber_root.json b/kubejs/assets/betterend/blockstates/amber_root.json
new file mode 100644
index 000000000..15a0bc3a0
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/amber_root.json
@@ -0,0 +1,20 @@
+{
+ "variants": {
+ "age=0": [
+ { "model": "betterend:block/amber_root_0" },
+ { "model": "betterend:block/amber_root_1" }
+ ],
+ "age=1": [
+ { "model": "betterend:block/amber_root_2" },
+ { "model": "betterend:block/amber_root_3" }
+ ],
+ "age=2": [
+ { "model": "betterend:block/amber_root_4" },
+ { "model": "betterend:block/amber_root_5" }
+ ],
+ "age=3": [
+ { "model": "betterend:block/amber_root_6" },
+ { "model": "betterend:block/amber_root_7" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/amber_root_wild.json b/kubejs/assets/betterend/blockstates/amber_root_wild.json
new file mode 100644
index 000000000..dd8b16788
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/amber_root_wild.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/amber_root_6" },
+ { "model": "betterend:block/amber_root_7" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/aurant_polypore.json b/kubejs/assets/betterend/blockstates/aurant_polypore.json
new file mode 100644
index 000000000..a77b38013
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/aurant_polypore.json
@@ -0,0 +1,24 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/aurant_polypore_1", "y": 180 },
+ { "model": "betterend:block/aurant_polypore_2", "y": 180 },
+ { "model": "betterend:block/aurant_polypore_3", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/aurant_polypore_1" },
+ { "model": "betterend:block/aurant_polypore_2" },
+ { "model": "betterend:block/aurant_polypore_3" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/aurant_polypore_1", "y": 270 },
+ { "model": "betterend:block/aurant_polypore_2", "y": 270 },
+ { "model": "betterend:block/aurant_polypore_3", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/aurant_polypore_1", "y": 90 },
+ { "model": "betterend:block/aurant_polypore_2", "y": 90 },
+ { "model": "betterend:block/aurant_polypore_3", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/blossom_berry.json b/kubejs/assets/betterend/blockstates/blossom_berry.json
new file mode 100644
index 000000000..d26991263
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/blossom_berry.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "age=0": [
+ { "model": "betterend:block/blossom_berry_seed_0", "y": 0 },
+ { "model": "betterend:block/blossom_berry_seed_0", "y": 90 },
+ { "model": "betterend:block/blossom_berry_seed_0", "y": 180 },
+ { "model": "betterend:block/blossom_berry_seed_0", "y": 270 }
+ ],
+ "age=1": [
+ { "model": "betterend:block/blossom_berry_seed_1", "y": 0 },
+ { "model": "betterend:block/blossom_berry_seed_1", "y": 90 },
+ { "model": "betterend:block/blossom_berry_seed_1", "y": 180 },
+ { "model": "betterend:block/blossom_berry_seed_1", "y": 270 }
+ ],
+ "age=2": [
+ { "model": "betterend:block/blossom_berry_seed_2", "y": 0 },
+ { "model": "betterend:block/blossom_berry_seed_2", "y": 90 },
+ { "model": "betterend:block/blossom_berry_seed_2", "y": 180 },
+ { "model": "betterend:block/blossom_berry_seed_2", "y": 270 }
+ ],
+ "age=3": [
+ { "model": "betterend:block/blossom_berry", "y": 0 },
+ { "model": "betterend:block/blossom_berry", "y": 90 },
+ { "model": "betterend:block/blossom_berry", "y": 180 },
+ { "model": "betterend:block/blossom_berry", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/blossom_berry_wild.json b/kubejs/assets/betterend/blockstates/blossom_berry_wild.json
new file mode 100644
index 000000000..f0943e016
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/blossom_berry_wild.json
@@ -0,0 +1,5 @@
+{
+ "variants": {
+ "": { "model": "betterend:block/blossom_berry" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/blue_vine.json b/kubejs/assets/betterend/blockstates/blue_vine.json
new file mode 100644
index 000000000..ab7c7c406
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/blue_vine.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/blue_vine_top" },
+ "shape=middle": { "model": "betterend:block/blue_vine" },
+ "shape=bottom": { "model": "betterend:block/blue_vine_roots" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/blue_vine_fur.json b/kubejs/assets/betterend/blockstates/blue_vine_fur.json
new file mode 100644
index 000000000..462ba26db
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/blue_vine_fur.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "facing=up": { "model": "betterend:block/blue_vine_fur" },
+ "facing=down": { "model": "betterend:block/blue_vine_fur", "x": 180 },
+ "facing=north": { "model": "betterend:block/blue_vine_fur", "x": 90 },
+ "facing=south": { "model": "betterend:block/blue_vine_fur", "x": 90, "y": 180 },
+ "facing=east": { "model": "betterend:block/blue_vine_fur", "x": 90, "y": 90 },
+ "facing=west": { "model": "betterend:block/blue_vine_fur", "x": 90, "y": 270 }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/blue_vine_lantern.json b/kubejs/assets/betterend/blockstates/blue_vine_lantern.json
new file mode 100644
index 000000000..058ab2a33
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/blue_vine_lantern.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "betterend:block/blue_vine_lantern"
+ }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/blue_vine_seed.json b/kubejs/assets/betterend/blockstates/blue_vine_seed.json
new file mode 100644
index 000000000..2153736c7
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/blue_vine_seed.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/blue_vine_seed_0" },
+ "age=1": { "model": "betterend:block/blue_vine_seed_1" },
+ "age=2": { "model": "betterend:block/blue_vine_seed_2" },
+ "age=3": { "model": "betterend:block/blue_vine_seed_3" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/bolux_mushroom.json b/kubejs/assets/betterend/blockstates/bolux_mushroom.json
new file mode 100644
index 000000000..8a173c556
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/bolux_mushroom.json
@@ -0,0 +1,72 @@
+{
+ "variants": {
+ "age=0": [
+ {
+ "model": "betterend:block/bolux_mushroom_0"
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_0",
+ "y": 90
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_0",
+ "y": 180
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_0",
+ "y": 270
+ }
+ ],
+ "age=1": [
+ {
+ "model": "betterend:block/bolux_mushroom_1"
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_1",
+ "y": 90
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_1",
+ "y": 180
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_1",
+ "y": 270
+ }
+ ],
+ "age=2": [
+ {
+ "model": "betterend:block/bolux_mushroom_2"
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_2",
+ "y": 90
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_2",
+ "y": 180
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_2",
+ "y": 270
+ }
+ ],
+ "age=3": [
+ {
+ "model": "betterend:block/bolux_mushroom_3"
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_3",
+ "y": 90
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_3",
+ "y": 180
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_3",
+ "y": 270
+ }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/bolux_mushroom_wild.json b/kubejs/assets/betterend/blockstates/bolux_mushroom_wild.json
new file mode 100644
index 000000000..1e328f49c
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/bolux_mushroom_wild.json
@@ -0,0 +1,21 @@
+{
+ "variants": {
+ "": [
+ {
+ "model": "betterend:block/bolux_mushroom_3"
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_3",
+ "y": 90
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_3",
+ "y": 180
+ },
+ {
+ "model": "betterend:block/bolux_mushroom_3",
+ "y": 270
+ }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/bulb_moss.json b/kubejs/assets/betterend/blockstates/bulb_moss.json
new file mode 100644
index 000000000..1903abe74
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/bulb_moss.json
@@ -0,0 +1,24 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/bulb_moss_01", "y": 180 },
+ { "model": "betterend:block/bulb_moss_02", "y": 180 },
+ { "model": "betterend:block/bulb_moss_03", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/bulb_moss_01" },
+ { "model": "betterend:block/bulb_moss_02" },
+ { "model": "betterend:block/bulb_moss_03" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/bulb_moss_01", "y": 270 },
+ { "model": "betterend:block/bulb_moss_02", "y": 270 },
+ { "model": "betterend:block/bulb_moss_03", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/bulb_moss_01", "y": 90 },
+ { "model": "betterend:block/bulb_moss_02", "y": 90 },
+ { "model": "betterend:block/bulb_moss_03", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/bulb_vine.json b/kubejs/assets/betterend/blockstates/bulb_vine.json
new file mode 100644
index 000000000..073469141
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/bulb_vine.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/bulb_vine_top" },
+ "shape=middle": [
+ { "model": "betterend:block/bulb_vine_middle_1" },
+ { "model": "betterend:block/bulb_vine_middle_2" }
+ ],
+ "shape=bottom": { "model": "betterend:block/bulb_vine_bottom" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/bulb_vine_seed.json b/kubejs/assets/betterend/blockstates/bulb_vine_seed.json
new file mode 100644
index 000000000..2c612d1d5
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/bulb_vine_seed.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/bulb_vine_seed_0" },
+ "age=1": { "model": "betterend:block/bulb_vine_seed_1" },
+ "age=2": { "model": "betterend:block/bulb_vine_seed_2" },
+ "age=3": { "model": "betterend:block/bulb_vine_seed_3" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/bushy_grass.json b/kubejs/assets/betterend/blockstates/bushy_grass.json
new file mode 100644
index 000000000..20e497193
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/bushy_grass.json
@@ -0,0 +1,14 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/bushy_grass_01" },
+ { "model": "betterend:block/bushy_grass_02" },
+ { "model": "betterend:block/bushy_grass_03" },
+ { "model": "betterend:block/bushy_grass_04" },
+ { "model": "betterend:block/bushy_grass_05" },
+ { "model": "betterend:block/bushy_grass_06" },
+ { "model": "betterend:block/bushy_grass_07" },
+ { "model": "betterend:block/bushy_grass_08" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/cave_bush.json b/kubejs/assets/betterend/blockstates/cave_bush.json
new file mode 100644
index 000000000..3153315ea
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/cave_bush.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/cave_bush_01", "weight": 4 },
+ { "model": "betterend:block/cave_bush_02" },
+ { "model": "betterend:block/cave_bush_03", "weight": 2 },
+ { "model": "betterend:block/cave_bush_04", "weight": 2 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/cave_grass.json b/kubejs/assets/betterend/blockstates/cave_grass.json
new file mode 100644
index 000000000..7d18af28c
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/cave_grass.json
@@ -0,0 +1,14 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/cave_grass_01" },
+ { "model": "betterend:block/cave_grass_02" },
+ { "model": "betterend:block/cave_grass_03" },
+ { "model": "betterend:block/cave_grass_04" },
+ { "model": "betterend:block/cave_grass_05" },
+ { "model": "betterend:block/cave_grass_06" },
+ { "model": "betterend:block/cave_grass_07" },
+ { "model": "betterend:block/cave_grass_08" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/cave_pumpkin.json b/kubejs/assets/betterend/blockstates/cave_pumpkin.json
new file mode 100644
index 000000000..3672d7a90
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/cave_pumpkin.json
@@ -0,0 +1,5 @@
+{
+ "variants": {
+ "": { "model": "betterend:block/cave_pumpkin" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/charnia_cyan.json b/kubejs/assets/betterend/blockstates/charnia_cyan.json
new file mode 100644
index 000000000..f9edaf617
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/charnia_cyan.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/charnia_cyan" },
+ { "model": "betterend:block/charnia_cyan", "y": 90 },
+ { "model": "betterend:block/charnia_cyan", "y": 180 },
+ { "model": "betterend:block/charnia_cyan", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/charnia_green.json b/kubejs/assets/betterend/blockstates/charnia_green.json
new file mode 100644
index 000000000..a3d3662a6
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/charnia_green.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/charnia_green" },
+ { "model": "betterend:block/charnia_green", "y": 90 },
+ { "model": "betterend:block/charnia_green", "y": 180 },
+ { "model": "betterend:block/charnia_green", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/charnia_light_blue.json b/kubejs/assets/betterend/blockstates/charnia_light_blue.json
new file mode 100644
index 000000000..940d34bb7
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/charnia_light_blue.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/charnia_light_blue" },
+ { "model": "betterend:block/charnia_light_blue", "y": 90 },
+ { "model": "betterend:block/charnia_light_blue", "y": 180 },
+ { "model": "betterend:block/charnia_light_blue", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/charnia_orange.json b/kubejs/assets/betterend/blockstates/charnia_orange.json
new file mode 100644
index 000000000..19d9f31ac
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/charnia_orange.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/charnia_orange" },
+ { "model": "betterend:block/charnia_orange", "y": 90 },
+ { "model": "betterend:block/charnia_orange", "y": 180 },
+ { "model": "betterend:block/charnia_orange", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/charnia_purple.json b/kubejs/assets/betterend/blockstates/charnia_purple.json
new file mode 100644
index 000000000..9220becda
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/charnia_purple.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/charnia_purple" },
+ { "model": "betterend:block/charnia_purple", "y": 90 },
+ { "model": "betterend:block/charnia_purple", "y": 180 },
+ { "model": "betterend:block/charnia_purple", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/charnia_red.json b/kubejs/assets/betterend/blockstates/charnia_red.json
new file mode 100644
index 000000000..b125a3767
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/charnia_red.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/charnia_red" },
+ { "model": "betterend:block/charnia_red", "y": 90 },
+ { "model": "betterend:block/charnia_red", "y": 180 },
+ { "model": "betterend:block/charnia_red", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/chorus_mushroom.json b/kubejs/assets/betterend/blockstates/chorus_mushroom.json
new file mode 100644
index 000000000..4579a755a
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/chorus_mushroom.json
@@ -0,0 +1,20 @@
+{
+ "variants": {
+ "age=0": [
+ { "model": "betterend:block/chorus_mushroom_0" },
+ { "model": "betterend:block/chorus_mushroom_1" }
+ ],
+ "age=1": [
+ { "model": "betterend:block/chorus_mushroom_2" },
+ { "model": "betterend:block/chorus_mushroom_3" }
+ ],
+ "age=2": [
+ { "model": "betterend:block/chorus_mushroom_4" },
+ { "model": "betterend:block/chorus_mushroom_5" }
+ ],
+ "age=3": [
+ { "model": "betterend:block/chorus_mushroom_6" },
+ { "model": "betterend:block/chorus_mushroom_7" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/chorus_mushroom_wild.json b/kubejs/assets/betterend/blockstates/chorus_mushroom_wild.json
new file mode 100644
index 000000000..1ea584c90
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/chorus_mushroom_wild.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/chorus_mushroom_6" },
+ { "model": "betterend:block/chorus_mushroom_7" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/clawfern.json b/kubejs/assets/betterend/blockstates/clawfern.json
new file mode 100644
index 000000000..f4c0ab349
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/clawfern.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/clawfern_01" },
+ { "model": "betterend:block/clawfern_02" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/creeping_moss.json b/kubejs/assets/betterend/blockstates/creeping_moss.json
new file mode 100644
index 000000000..05583898d
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/creeping_moss.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/creeping_moss" },
+ { "model": "betterend:block/creeping_moss", "y": 90 },
+ { "model": "betterend:block/creeping_moss", "y": 180 },
+ { "model": "betterend:block/creeping_moss", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/cyan_moss.json b/kubejs/assets/betterend/blockstates/cyan_moss.json
new file mode 100644
index 000000000..b471e70ec
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/cyan_moss.json
@@ -0,0 +1,24 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/cyan_moss_01", "y": 180 },
+ { "model": "betterend:block/cyan_moss_02", "y": 180 },
+ { "model": "betterend:block/cyan_moss_03", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/cyan_moss_01" },
+ { "model": "betterend:block/cyan_moss_02" },
+ { "model": "betterend:block/cyan_moss_03" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/cyan_moss_01", "y": 270 },
+ { "model": "betterend:block/cyan_moss_02", "y": 270 },
+ { "model": "betterend:block/cyan_moss_03", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/cyan_moss_01", "y": 90 },
+ { "model": "betterend:block/cyan_moss_02", "y": 90 },
+ { "model": "betterend:block/cyan_moss_03", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/dense_vine.json b/kubejs/assets/betterend/blockstates/dense_vine.json
new file mode 100644
index 000000000..4fef22f98
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/dense_vine.json
@@ -0,0 +1,13 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/dense_vine_top" },
+ "shape=middle": [
+ { "model": "betterend:block/dense_vine_middle_1" },
+ { "model": "betterend:block/dense_vine_middle_2" }
+ ],
+ "shape=bottom": [
+ { "model": "betterend:block/dense_vine_bottom_1" },
+ { "model": "betterend:block/dense_vine_bottom_2" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/end_lily.json b/kubejs/assets/betterend/blockstates/end_lily.json
new file mode 100644
index 000000000..6887eb925
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/end_lily.json
@@ -0,0 +1,11 @@
+{
+ "variants": {
+ "shape=top": [
+ { "model": "betterend:block/end_lily_top" },
+ { "model": "betterend:block/end_lily_top_small" },
+ { "model": "betterend:block/end_lily_top_small_2" }
+ ],
+ "shape=middle": { "model": "betterend:block/end_lily_stem" },
+ "shape=bottom": { "model": "betterend:block/end_lily_roots" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/end_lily_seed.json b/kubejs/assets/betterend/blockstates/end_lily_seed.json
new file mode 100644
index 000000000..22399631e
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/end_lily_seed.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/end_lily_seed_0" },
+ "age=1": { "model": "betterend:block/end_lily_seed_1" },
+ "age=2": { "model": "betterend:block/end_lily_seed_2" },
+ "age=3": { "model": "betterend:block/end_lily_seed_3" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/end_lotus_flower.json b/kubejs/assets/betterend/blockstates/end_lotus_flower.json
new file mode 100644
index 000000000..3328e7cda
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/end_lotus_flower.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/end_lotus_flower" },
+ { "model": "betterend:block/end_lotus_flower_2" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/end_lotus_leaf.json b/kubejs/assets/betterend/blockstates/end_lotus_leaf.json
new file mode 100644
index 000000000..2e8df50e2
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/end_lotus_leaf.json
@@ -0,0 +1,18 @@
+{
+ "variants": {
+ "facing=north,shape=bottom": { "model": "betterend:block/end_lotus_leaf_center" },
+ "facing=south,shape=bottom": { "model": "betterend:block/end_lotus_leaf_center" },
+ "facing=east,shape=bottom": { "model": "betterend:block/end_lotus_leaf_center" },
+ "facing=west,shape=bottom": { "model": "betterend:block/end_lotus_leaf_center" },
+
+ "facing=north,shape=middle": { "model": "betterend:block/end_lotus_leaf_side" },
+ "facing=south,shape=middle": { "model": "betterend:block/end_lotus_leaf_side", "y": 180 },
+ "facing=east,shape=middle": { "model": "betterend:block/end_lotus_leaf_side", "y": 90 },
+ "facing=west,shape=middle": { "model": "betterend:block/end_lotus_leaf_side", "y": 270 },
+
+ "facing=north,shape=top": { "model": "betterend:block/end_lotus_leaf_corner" },
+ "facing=south,shape=top": { "model": "betterend:block/end_lotus_leaf_corner", "y": 180 },
+ "facing=east,shape=top": { "model": "betterend:block/end_lotus_leaf_corner", "y": 90 },
+ "facing=west,shape=top": { "model": "betterend:block/end_lotus_leaf_corner", "y": 270 }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/end_lotus_seed.json b/kubejs/assets/betterend/blockstates/end_lotus_seed.json
new file mode 100644
index 000000000..3340f9df5
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/end_lotus_seed.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/end_lotus_seed_0" },
+ "age=1": { "model": "betterend:block/end_lotus_seed_1" },
+ "age=2": { "model": "betterend:block/end_lotus_seed_2" },
+ "age=3": { "model": "betterend:block/end_lotus_seed_3" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/end_lotus_stem.json b/kubejs/assets/betterend/blockstates/end_lotus_stem.json
new file mode 100644
index 000000000..c031a60a2
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/end_lotus_stem.json
@@ -0,0 +1,46 @@
+{
+ "variants": {
+ "leaf=false,shape=top,facing=north": { "model": "betterend:block/end_lotus_stem_top" },
+ "leaf=false,shape=top,facing=south": { "model": "betterend:block/end_lotus_stem_top" },
+ "leaf=false,shape=top,facing=east": { "model": "betterend:block/end_lotus_stem_top" },
+ "leaf=false,shape=top,facing=west": { "model": "betterend:block/end_lotus_stem_top" },
+ "leaf=false,shape=top,facing=up": { "model": "betterend:block/end_lotus_stem_top" },
+ "leaf=false,shape=top,facing=down": { "model": "betterend:block/end_lotus_stem_top" },
+
+ "leaf=false,shape=bottom,facing=north": { "model": "betterend:block/end_lotus_roots" },
+ "leaf=false,shape=bottom,facing=south": { "model": "betterend:block/end_lotus_roots" },
+ "leaf=false,shape=bottom,facing=east": { "model": "betterend:block/end_lotus_roots" },
+ "leaf=false,shape=bottom,facing=west": { "model": "betterend:block/end_lotus_roots" },
+ "leaf=false,shape=bottom,facing=up": { "model": "betterend:block/end_lotus_roots" },
+ "leaf=false,shape=bottom,facing=down": { "model": "betterend:block/end_lotus_roots" },
+
+ "leaf=false,shape=middle,facing=north": { "model": "betterend:block/end_lotus_stem", "x": 90 },
+ "leaf=false,shape=middle,facing=south": { "model": "betterend:block/end_lotus_stem", "x": 90 },
+ "leaf=false,shape=middle,facing=east": { "model": "betterend:block/end_lotus_stem", "x": 90, "y": 90 },
+ "leaf=false,shape=middle,facing=west": { "model": "betterend:block/end_lotus_stem", "x": 90, "y": 90 },
+ "leaf=false,shape=middle,facing=up": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=false,shape=middle,facing=down": { "model": "betterend:block/end_lotus_stem" },
+
+ "leaf=true,shape=middle,facing=north": { "model": "betterend:block/end_lotus_stem_leaf", "y": 180 },
+ "leaf=true,shape=middle,facing=south": { "model": "betterend:block/end_lotus_stem_leaf" },
+ "leaf=true,shape=middle,facing=east": { "model": "betterend:block/end_lotus_stem_leaf", "y": 270 },
+ "leaf=true,shape=middle,facing=west": { "model": "betterend:block/end_lotus_stem_leaf", "y": 90 },
+
+ "leaf=true,shape=middle,facing=up": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=middle,facing=down": { "model": "betterend:block/end_lotus_stem" },
+
+ "leaf=true,shape=top,facing=north": { "model": "betterend:block/end_lotus_stem_top_leaf", "y": 180 },
+ "leaf=true,shape=top,facing=east": { "model": "betterend:block/end_lotus_stem_top_leaf", "y": 270 },
+ "leaf=true,shape=top,facing=south": { "model": "betterend:block/end_lotus_stem_top_leaf" },
+ "leaf=true,shape=top,facing=west": { "model": "betterend:block/end_lotus_stem_top_leaf", "y": 90 },
+ "leaf=true,shape=top,facing=up": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=top,facing=down": { "model": "betterend:block/end_lotus_stem" },
+
+ "leaf=true,shape=bottom,facing=north": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=bottom,facing=east": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=bottom,facing=south": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=bottom,facing=west": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=bottom,facing=up": { "model": "betterend:block/end_lotus_stem" },
+ "leaf=true,shape=bottom,facing=down": { "model": "betterend:block/end_lotus_stem" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/filalux_wings.json b/kubejs/assets/betterend/blockstates/filalux_wings.json
new file mode 100644
index 000000000..557e0f7bb
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/filalux_wings.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "facing=north": { "model": "betterend:block/filalux_wings", "y": 180 },
+ "facing=south": { "model": "betterend:block/filalux_wings" },
+ "facing=east": { "model": "betterend:block/filalux_wings", "y": 270 },
+ "facing=west": { "model": "betterend:block/filalux_wings", "y": 90 },
+ "facing=up": { "model": "betterend:block/filalux_wings_top" },
+ "facing=down": { "model": "betterend:block/filalux_wings_bottom", "x": 180 }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/flamaea.json b/kubejs/assets/betterend/blockstates/flamaea.json
new file mode 100644
index 000000000..8de9f5522
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/flamaea.json
@@ -0,0 +1,11 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/flamaea_1" },
+ { "model": "betterend:block/flamaea_2" },
+ { "model": "betterend:block/flamaea_3" },
+ { "model": "betterend:block/flamaea_4" },
+ { "model": "betterend:block/flamaea_5" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/flammalix.json b/kubejs/assets/betterend/blockstates/flammalix.json
new file mode 100644
index 000000000..9e6c8183d
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/flammalix.json
@@ -0,0 +1,22 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/flammalix_1" },
+ { "model": "betterend:block/flammalix_1", "y": 90 },
+ { "model": "betterend:block/flammalix_1", "y": 180 },
+ { "model": "betterend:block/flammalix_1", "y": 270 },
+ { "model": "betterend:block/flammalix_2" },
+ { "model": "betterend:block/flammalix_2", "y": 90 },
+ { "model": "betterend:block/flammalix_2", "y": 180 },
+ { "model": "betterend:block/flammalix_2", "y": 270 },
+ { "model": "betterend:block/flammalix_3" },
+ { "model": "betterend:block/flammalix_3", "y": 90 },
+ { "model": "betterend:block/flammalix_3", "y": 180 },
+ { "model": "betterend:block/flammalix_3", "y": 270 },
+ { "model": "betterend:block/flammalix_4" },
+ { "model": "betterend:block/flammalix_4", "y": 90 },
+ { "model": "betterend:block/flammalix_4", "y": 180 },
+ { "model": "betterend:block/flammalix_4", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/globulagus.json b/kubejs/assets/betterend/blockstates/globulagus.json
new file mode 100644
index 000000000..fb41e3241
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/globulagus.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/globulagus_01" },
+ { "model": "betterend:block/globulagus_02" },
+ { "model": "betterend:block/globulagus_03" },
+ { "model": "betterend:block/globulagus_04" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/glowing_pillar_leaves.json b/kubejs/assets/betterend/blockstates/glowing_pillar_leaves.json
new file mode 100644
index 000000000..dacc292f5
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/glowing_pillar_leaves.json
@@ -0,0 +1,26 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/glowing_pillar_leaves_01", "y": 180 },
+ { "model": "betterend:block/glowing_pillar_leaves_02", "y": 180 },
+ { "model": "betterend:block/glowing_pillar_leaves_03", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/glowing_pillar_leaves_01" },
+ { "model": "betterend:block/glowing_pillar_leaves_02" },
+ { "model": "betterend:block/glowing_pillar_leaves_03" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/glowing_pillar_leaves_01", "y": 270 },
+ { "model": "betterend:block/glowing_pillar_leaves_02", "y": 270 },
+ { "model": "betterend:block/glowing_pillar_leaves_03", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/glowing_pillar_leaves_01", "y": 90 },
+ { "model": "betterend:block/glowing_pillar_leaves_02", "y": 90 },
+ { "model": "betterend:block/glowing_pillar_leaves_03", "y": 90 }
+ ],
+ "facing=up": { "model": "betterend:block/glowing_pillar_leaves_up" },
+ "facing=down": { "model": "betterend:block/glowing_pillar_leaves_up", "x": 180 }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/glowing_pillar_luminophor.json b/kubejs/assets/betterend/blockstates/glowing_pillar_luminophor.json
new file mode 100644
index 000000000..772c8b7c6
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/glowing_pillar_luminophor.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "betterend:block/glowing_pillar_luminophor"
+ }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/glowing_pillar_roots.json b/kubejs/assets/betterend/blockstates/glowing_pillar_roots.json
new file mode 100644
index 000000000..cd1df14a9
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/glowing_pillar_roots.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/glowing_pillar_roots_top" },
+ "shape=middle": { "model": "betterend:block/glowing_pillar_roots_both" },
+ "shape=bottom": { "model": "betterend:block/glowing_pillar_roots_bottom" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/glowing_pillar_seed.json b/kubejs/assets/betterend/blockstates/glowing_pillar_seed.json
new file mode 100644
index 000000000..26a15eb41
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/glowing_pillar_seed.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/glowing_pillar_seed_0" },
+ "age=1": { "model": "betterend:block/glowing_pillar_seed_1" },
+ "age=2": { "model": "betterend:block/glowing_pillar_seed_2" },
+ "age=3": { "model": "betterend:block/glowing_pillar_seed_3" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/hydralux.json b/kubejs/assets/betterend/blockstates/hydralux.json
new file mode 100644
index 000000000..b8a984fc7
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/hydralux.json
@@ -0,0 +1,14 @@
+{
+ "variants": {
+ "shape=flower_big_bottom": [
+ { "model": "betterend:block/hydralux_flower_big_1_bottom" },
+ { "model": "betterend:block/hydralux_flower_big_2_bottom" },
+ { "model": "betterend:block/hydralux_flower_big_3_bottom" }
+ ],
+ "shape=flower_big_top": { "model": "betterend:block/hydralux_flower_big_top" },
+ "shape=flower_small_bottom": { "model": "betterend:block/hydralux_flower_small_bottom" },
+ "shape=flower_small_top": { "model": "betterend:block/hydralux_flower_small_top" },
+ "shape=vine": { "model": "betterend:block/hydralux_vine" },
+ "shape=roots": { "model": "betterend:block/hydralux_roots" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/hydralux_sapling.json b/kubejs/assets/betterend/blockstates/hydralux_sapling.json
new file mode 100644
index 000000000..f0841963e
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/hydralux_sapling.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/hydralux_sapling_1" },
+ "age=1": { "model": "betterend:block/hydralux_sapling_2" },
+ "age=2": { "model": "betterend:block/hydralux_sapling_3" },
+ "age=3": { "model": "betterend:block/hydralux_sapling_4" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/jungle_fern.json b/kubejs/assets/betterend/blockstates/jungle_fern.json
new file mode 100644
index 000000000..34bbeb575
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/jungle_fern.json
@@ -0,0 +1,48 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/jungle_fern_1", "y": 180 },
+ { "model": "betterend:block/jungle_fern_2", "y": 180 },
+ { "model": "betterend:block/jungle_fern_3", "y": 180 },
+ { "model": "betterend:block/jungle_fern_4", "y": 180 },
+ { "model": "betterend:block/jungle_fern_5", "y": 180 },
+ { "model": "betterend:block/jungle_fern_6", "y": 180 },
+ { "model": "betterend:block/jungle_fern_7", "y": 180 },
+ { "model": "betterend:block/jungle_fern_8", "y": 180 },
+ { "model": "betterend:block/jungle_fern_9", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/jungle_fern_1" },
+ { "model": "betterend:block/jungle_fern_2" },
+ { "model": "betterend:block/jungle_fern_3" },
+ { "model": "betterend:block/jungle_fern_4" },
+ { "model": "betterend:block/jungle_fern_5" },
+ { "model": "betterend:block/jungle_fern_6" },
+ { "model": "betterend:block/jungle_fern_7" },
+ { "model": "betterend:block/jungle_fern_8" },
+ { "model": "betterend:block/jungle_fern_9" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/jungle_fern_1", "y": 270 },
+ { "model": "betterend:block/jungle_fern_2", "y": 270 },
+ { "model": "betterend:block/jungle_fern_3", "y": 270 },
+ { "model": "betterend:block/jungle_fern_4", "y": 270 },
+ { "model": "betterend:block/jungle_fern_5", "y": 270 },
+ { "model": "betterend:block/jungle_fern_6", "y": 270 },
+ { "model": "betterend:block/jungle_fern_7", "y": 270 },
+ { "model": "betterend:block/jungle_fern_8", "y": 270 },
+ { "model": "betterend:block/jungle_fern_9", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/jungle_fern_1", "y": 90 },
+ { "model": "betterend:block/jungle_fern_2", "y": 90 },
+ { "model": "betterend:block/jungle_fern_3", "y": 90 },
+ { "model": "betterend:block/jungle_fern_4", "y": 90 },
+ { "model": "betterend:block/jungle_fern_5", "y": 90 },
+ { "model": "betterend:block/jungle_fern_6", "y": 90 },
+ { "model": "betterend:block/jungle_fern_7", "y": 90 },
+ { "model": "betterend:block/jungle_fern_8", "y": 90 },
+ { "model": "betterend:block/jungle_fern_9", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/jungle_vine.json b/kubejs/assets/betterend/blockstates/jungle_vine.json
new file mode 100644
index 000000000..36879d6d7
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/jungle_vine.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/jungle_vine_middle" },
+ "shape=middle": { "model": "betterend:block/jungle_vine_middle" },
+ "shape=bottom": { "model": "betterend:block/jungle_vine_bottom" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/lamellarium.json b/kubejs/assets/betterend/blockstates/lamellarium.json
new file mode 100644
index 000000000..7cf50cdd6
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/lamellarium.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/lamellarium_01" },
+ { "model": "betterend:block/lamellarium_02" },
+ { "model": "betterend:block/lamellarium_03" },
+ { "model": "betterend:block/lamellarium_04" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/lanceleaf.json b/kubejs/assets/betterend/blockstates/lanceleaf.json
new file mode 100644
index 000000000..223cd09cf
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/lanceleaf.json
@@ -0,0 +1,27 @@
+{
+ "variants": {
+ "rotation=0,shape=top": { "model": "betterend:block/lanceleaf_leaf_top" },
+ "rotation=0,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top" },
+ "rotation=0,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle" },
+ "rotation=0,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom" },
+ "rotation=0,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom" },
+
+ "rotation=1,shape=top": { "model": "betterend:block/lanceleaf_leaf_top", "y": 90 },
+ "rotation=1,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top", "y": 90 },
+ "rotation=1,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle", "y": 90 },
+ "rotation=1,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom", "y": 90 },
+ "rotation=1,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom", "y": 90 },
+
+ "rotation=2,shape=top": { "model": "betterend:block/lanceleaf_leaf_top", "y": 180 },
+ "rotation=2,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top", "y": 180 },
+ "rotation=2,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle", "y": 180 },
+ "rotation=2,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom", "y": 180 },
+ "rotation=2,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom", "y": 180 },
+
+ "rotation=3,shape=top": { "model": "betterend:block/lanceleaf_leaf_top", "y": 270 },
+ "rotation=3,shape=pre_top": { "model": "betterend:block/lanceleaf_leaf_pre_top", "y": 270 },
+ "rotation=3,shape=middle": { "model": "betterend:block/lanceleaf_leaf_middle", "y": 270 },
+ "rotation=3,shape=pre_bottom": { "model": "betterend:block/lanceleaf_leaf_pre_bottom", "y": 270 },
+ "rotation=3,shape=bottom": { "model": "betterend:block/lanceleaf_leaf_bottom", "y": 270 }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/lanceleaf_seed.json b/kubejs/assets/betterend/blockstates/lanceleaf_seed.json
new file mode 100644
index 000000000..59db3a5d2
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/lanceleaf_seed.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "age=0": { "model": "betterend:block/lanceleaf_seed_0" },
+ "age=1": { "model": "betterend:block/lanceleaf_seed_1" },
+ "age=2": { "model": "betterend:block/lanceleaf_seed_2" },
+ "age=3": { "model": "betterend:block/lanceleaf_seed_3" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/large_amaranita_mushroom.json b/kubejs/assets/betterend/blockstates/large_amaranita_mushroom.json
new file mode 100644
index 000000000..6fbef92b0
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/large_amaranita_mushroom.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/large_amaranita_cap" },
+ "shape=middle": { "model": "betterend:block/large_amaranita_stem" },
+ "shape=bottom": { "model": "betterend:block/large_amaranita_roots" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/lutebus.json b/kubejs/assets/betterend/blockstates/lutebus.json
new file mode 100644
index 000000000..f523cde79
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/lutebus.json
@@ -0,0 +1,8 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/lutebus_01" },
+ { "model": "betterend:block/lutebus_02" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/magnula.json b/kubejs/assets/betterend/blockstates/magnula.json
new file mode 100644
index 000000000..511d5dd94
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/magnula.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/magnula_middle" },
+ "shape=middle": { "model": "betterend:block/magnula_middle" },
+ "shape=bottom": { "model": "betterend:block/magnula_bottom" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/nightshade_moss.json b/kubejs/assets/betterend/blockstates/nightshade_moss.json
new file mode 100644
index 000000000..2b7d9317d
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/nightshade_moss.json
@@ -0,0 +1,24 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/nightshade_moss_01", "y": 180 },
+ { "model": "betterend:block/nightshade_moss_02", "y": 180 },
+ { "model": "betterend:block/nightshade_moss_03", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/nightshade_moss_01" },
+ { "model": "betterend:block/nightshade_moss_02" },
+ { "model": "betterend:block/nightshade_moss_03" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/nightshade_moss_01", "y": 270 },
+ { "model": "betterend:block/nightshade_moss_02", "y": 270 },
+ { "model": "betterend:block/nightshade_moss_03", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/nightshade_moss_01", "y": 90 },
+ { "model": "betterend:block/nightshade_moss_02", "y": 90 },
+ { "model": "betterend:block/nightshade_moss_03", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/orango.json b/kubejs/assets/betterend/blockstates/orango.json
new file mode 100644
index 000000000..0999458a2
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/orango.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/orango_01" },
+ { "model": "betterend:block/orango_02" },
+ { "model": "betterend:block/orango_03" },
+ { "model": "betterend:block/orango_04" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/pond_anemone.json b/kubejs/assets/betterend/blockstates/pond_anemone.json
new file mode 100644
index 000000000..c3d2b279c
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/pond_anemone.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/pond_anemone" },
+ { "model": "betterend:block/pond_anemone", "y": 90 },
+ { "model": "betterend:block/pond_anemone", "y": 180 },
+ { "model": "betterend:block/pond_anemone", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/purple_polypore.json b/kubejs/assets/betterend/blockstates/purple_polypore.json
new file mode 100644
index 000000000..c873f0a19
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/purple_polypore.json
@@ -0,0 +1,24 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/purple_polypore_01", "y": 180 },
+ { "model": "betterend:block/purple_polypore_02", "y": 180 },
+ { "model": "betterend:block/purple_polypore_03", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/purple_polypore_01" },
+ { "model": "betterend:block/purple_polypore_02" },
+ { "model": "betterend:block/purple_polypore_03" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/purple_polypore_01", "y": 270 },
+ { "model": "betterend:block/purple_polypore_02", "y": 270 },
+ { "model": "betterend:block/purple_polypore_03", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/purple_polypore_01", "y": 90 },
+ { "model": "betterend:block/purple_polypore_02", "y": 90 },
+ { "model": "betterend:block/purple_polypore_03", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/rubinea.json b/kubejs/assets/betterend/blockstates/rubinea.json
new file mode 100644
index 000000000..384f8c4a3
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/rubinea.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/rubinea_middle" },
+ "shape=middle": { "model": "betterend:block/rubinea_middle" },
+ "shape=bottom": { "model": "betterend:block/rubinea_bottom" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/ruscus.json b/kubejs/assets/betterend/blockstates/ruscus.json
new file mode 100644
index 000000000..fb9e45ff8
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/ruscus.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/ruscus_1", "y": 180 },
+ { "model": "betterend:block/ruscus_2", "y": 180 },
+ { "model": "betterend:block/ruscus_3", "y": 180 },
+ { "model": "betterend:block/ruscus_4", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/ruscus_1" },
+ { "model": "betterend:block/ruscus_2" },
+ { "model": "betterend:block/ruscus_3" },
+ { "model": "betterend:block/ruscus_4" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/ruscus_1", "y": 270 },
+ { "model": "betterend:block/ruscus_2", "y": 270 },
+ { "model": "betterend:block/ruscus_3", "y": 270 },
+ { "model": "betterend:block/ruscus_4", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/ruscus_1", "y": 90 },
+ { "model": "betterend:block/ruscus_2", "y": 90 },
+ { "model": "betterend:block/ruscus_3", "y": 90 },
+ { "model": "betterend:block/ruscus_4", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/shadow_berry.json b/kubejs/assets/betterend/blockstates/shadow_berry.json
new file mode 100644
index 000000000..74071ba44
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/shadow_berry.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "age=0": [
+ { "model": "betterend:block/shadow_berry_01" },
+ { "model": "betterend:block/shadow_berry_01", "y": 90 },
+ { "model": "betterend:block/shadow_berry_01", "y": 180 },
+ { "model": "betterend:block/shadow_berry_01", "y": 270 }
+ ],
+ "age=1": [
+ { "model": "betterend:block/shadow_berry_02" },
+ { "model": "betterend:block/shadow_berry_02", "y": 90 },
+ { "model": "betterend:block/shadow_berry_02", "y": 180 },
+ { "model": "betterend:block/shadow_berry_02", "y": 270 }
+ ],
+ "age=2": [
+ { "model": "betterend:block/shadow_berry_03" },
+ { "model": "betterend:block/shadow_berry_03", "y": 90 },
+ { "model": "betterend:block/shadow_berry_03", "y": 180 },
+ { "model": "betterend:block/shadow_berry_03", "y": 270 }
+ ],
+ "age=3": [
+ { "model": "betterend:block/shadow_berry_04" },
+ { "model": "betterend:block/shadow_berry_04", "y": 90 },
+ { "model": "betterend:block/shadow_berry_04", "y": 180 },
+ { "model": "betterend:block/shadow_berry_04", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/small_amaranita_mushroom.json b/kubejs/assets/betterend/blockstates/small_amaranita_mushroom.json
new file mode 100644
index 000000000..e1d6887cd
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/small_amaranita_mushroom.json
@@ -0,0 +1,5 @@
+{
+ "variants": {
+ "": { "model": "betterend:block/small_amaranita_mushroom" }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/twisted_moss.json b/kubejs/assets/betterend/blockstates/twisted_moss.json
new file mode 100644
index 000000000..0ae8c4345
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/twisted_moss.json
@@ -0,0 +1,24 @@
+{
+ "variants": {
+ "facing=north": [
+ { "model": "betterend:block/twisted_moss_01", "y": 180 },
+ { "model": "betterend:block/twisted_moss_02", "y": 180 },
+ { "model": "betterend:block/twisted_moss_03", "y": 180 }
+ ],
+ "facing=south": [
+ { "model": "betterend:block/twisted_moss_01" },
+ { "model": "betterend:block/twisted_moss_02" },
+ { "model": "betterend:block/twisted_moss_03" }
+ ],
+ "facing=east": [
+ { "model": "betterend:block/twisted_moss_01", "y": 270 },
+ { "model": "betterend:block/twisted_moss_02", "y": 270 },
+ { "model": "betterend:block/twisted_moss_03", "y": 270 }
+ ],
+ "facing=west": [
+ { "model": "betterend:block/twisted_moss_01", "y": 90 },
+ { "model": "betterend:block/twisted_moss_02", "y": 90 },
+ { "model": "betterend:block/twisted_moss_03", "y": 90 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/twisted_umbrella_moss.json b/kubejs/assets/betterend/blockstates/twisted_umbrella_moss.json
new file mode 100644
index 000000000..7a8c48108
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/twisted_umbrella_moss.json
@@ -0,0 +1,25 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/twisted_umbrella_moss_small" },
+ { "model": "betterend:block/twisted_umbrella_moss_small", "y": 90 },
+ { "model": "betterend:block/twisted_umbrella_moss_small", "y": 180 },
+ { "model": "betterend:block/twisted_umbrella_moss_small", "y": 270 },
+
+ { "model": "betterend:block/twisted_umbrella_moss_small_2" },
+ { "model": "betterend:block/twisted_umbrella_moss_small_2", "y": 90 },
+ { "model": "betterend:block/twisted_umbrella_moss_small_2", "y": 180 },
+ { "model": "betterend:block/twisted_umbrella_moss_small_2", "y": 270 },
+
+ { "model": "betterend:block/twisted_umbrella_moss_small_3" },
+ { "model": "betterend:block/twisted_umbrella_moss_small_3", "y": 90 },
+ { "model": "betterend:block/twisted_umbrella_moss_small_3", "y": 180 },
+ { "model": "betterend:block/twisted_umbrella_moss_small_3", "y": 270 },
+
+ { "model": "betterend:block/twisted_umbrella_moss_small_4" },
+ { "model": "betterend:block/twisted_umbrella_moss_small_4", "y": 90 },
+ { "model": "betterend:block/twisted_umbrella_moss_small_4", "y": 180 },
+ { "model": "betterend:block/twisted_umbrella_moss_small_4", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/twisted_umbrella_moss_tall.json b/kubejs/assets/betterend/blockstates/twisted_umbrella_moss_tall.json
new file mode 100644
index 000000000..6a4fa660d
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/twisted_umbrella_moss_tall.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "top=true,rotation=0": [
+ { "model": "betterend:block/twisted_umbrella_moss_top" },
+ { "model": "betterend:block/twisted_umbrella_moss_top_2" },
+ { "model": "betterend:block/twisted_umbrella_moss_top_3" }
+ ],
+ "top=false,rotation=0": { "model": "betterend:block/twisted_umbrella_moss_bottom" },
+ "top=true,rotation=1": [
+ { "model": "betterend:block/twisted_umbrella_moss_top", "y": 90 },
+ { "model": "betterend:block/twisted_umbrella_moss_top_2", "y": 90 },
+ { "model": "betterend:block/twisted_umbrella_moss_top_3", "y": 90 }
+ ],
+ "top=false,rotation=1": { "model": "betterend:block/twisted_umbrella_moss_bottom", "y": 90 },
+ "top=true,rotation=2": [
+ { "model": "betterend:block/twisted_umbrella_moss_top", "y": 180 },
+ { "model": "betterend:block/twisted_umbrella_moss_top_2", "y": 180 },
+ { "model": "betterend:block/twisted_umbrella_moss_top_3", "y": 180 }
+ ],
+ "top=false,rotation=2": { "model": "betterend:block/twisted_umbrella_moss_bottom", "y": 180 },
+ "top=true,rotation=3": [
+ { "model": "betterend:block/twisted_umbrella_moss_top", "y": 270 },
+ { "model": "betterend:block/twisted_umbrella_moss_top_2", "y": 270 },
+ { "model": "betterend:block/twisted_umbrella_moss_top_3", "y": 270 }
+ ],
+ "top=false,rotation=3": { "model": "betterend:block/twisted_umbrella_moss_bottom", "y": 270 }
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/twisted_vine.json b/kubejs/assets/betterend/blockstates/twisted_vine.json
new file mode 100644
index 000000000..718311e23
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/twisted_vine.json
@@ -0,0 +1,13 @@
+{
+ "variants": {
+ "shape=top": { "model": "betterend:block/twisted_vine_top" },
+ "shape=middle": [
+ { "model": "betterend:block/twisted_vine_middle_1" },
+ { "model": "betterend:block/twisted_vine_middle_2" }
+ ],
+ "shape=bottom": [
+ { "model": "betterend:block/twisted_vine_bottom_1" },
+ { "model": "betterend:block/twisted_vine_bottom_2" }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/umbrella_moss.json b/kubejs/assets/betterend/blockstates/umbrella_moss.json
new file mode 100644
index 000000000..419369be6
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/umbrella_moss.json
@@ -0,0 +1,25 @@
+{
+ "variants": {
+ "": [
+ { "model": "betterend:block/umbrella_moss_small" },
+ { "model": "betterend:block/umbrella_moss_small", "y": 90 },
+ { "model": "betterend:block/umbrella_moss_small", "y": 180 },
+ { "model": "betterend:block/umbrella_moss_small", "y": 270 },
+
+ { "model": "betterend:block/umbrella_moss_small_2" },
+ { "model": "betterend:block/umbrella_moss_small_2", "y": 90 },
+ { "model": "betterend:block/umbrella_moss_small_2", "y": 180 },
+ { "model": "betterend:block/umbrella_moss_small_2", "y": 270 },
+
+ { "model": "betterend:block/umbrella_moss_small_3" },
+ { "model": "betterend:block/umbrella_moss_small_3", "y": 90 },
+ { "model": "betterend:block/umbrella_moss_small_3", "y": 180 },
+ { "model": "betterend:block/umbrella_moss_small_3", "y": 270 },
+
+ { "model": "betterend:block/umbrella_moss_small_4" },
+ { "model": "betterend:block/umbrella_moss_small_4", "y": 90 },
+ { "model": "betterend:block/umbrella_moss_small_4", "y": 180 },
+ { "model": "betterend:block/umbrella_moss_small_4", "y": 270 }
+ ]
+ }
+}
diff --git a/kubejs/assets/betterend/blockstates/umbrella_moss_tall.json b/kubejs/assets/betterend/blockstates/umbrella_moss_tall.json
new file mode 100644
index 000000000..6355ca769
--- /dev/null
+++ b/kubejs/assets/betterend/blockstates/umbrella_moss_tall.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "top=true,rotation=0": [
+ { "model": "betterend:block/umbrella_moss_top" },
+ { "model": "betterend:block/umbrella_moss_top_2" },
+ { "model": "betterend:block/umbrella_moss_top_3" }
+ ],
+ "top=false,rotation=0": { "model": "betterend:block/umbrella_moss_bottom" },
+ "top=true,rotation=1": [
+ { "model": "betterend:block/umbrella_moss_top", "y": 90 },
+ { "model": "betterend:block/umbrella_moss_top_2", "y": 90 },
+ { "model": "betterend:block/umbrella_moss_top_3", "y": 90 }
+ ],
+ "top=false,rotation=1": { "model": "betterend:block/umbrella_moss_bottom", "y": 90 },
+ "top=true,rotation=2": [
+ { "model": "betterend:block/umbrella_moss_top", "y": 180 },
+ { "model": "betterend:block/umbrella_moss_top_2", "y": 180 },
+ { "model": "betterend:block/umbrella_moss_top_3", "y": 180 }
+ ],
+ "top=false,rotation=2": { "model": "betterend:block/umbrella_moss_bottom", "y": 180 },
+ "top=true,rotation=3": [
+ { "model": "betterend:block/umbrella_moss_top", "y": 270 },
+ { "model": "betterend:block/umbrella_moss_top_2", "y": 270 },
+ { "model": "betterend:block/umbrella_moss_top_3", "y": 270 }
+ ],
+ "top=false,rotation=3": { "model": "betterend:block/umbrella_moss_bottom", "y": 270 }
+ }
+}
diff --git a/kubejs/assets/betterend/lang/en_us.json b/kubejs/assets/betterend/lang/en_us.json
new file mode 100644
index 000000000..2115afb90
--- /dev/null
+++ b/kubejs/assets/betterend/lang/en_us.json
@@ -0,0 +1,92 @@
+{
+ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
+ "block.betterend.aeridium": "Aeridium",
+ "block.betterend.amaranita_stem": "Amaranita Stem",
+ "block.betterend.amber_grass": "Amber Grass",
+ "block.betterend.amber_root_wild": "Wild Amber Shoots",
+ "block.betterend.amber_root_dead": "Dead Amber Shoots",
+ "block.betterend.amber_root": "Amber Shoots",
+ "block.betterend.aurant_polypore": "Aurant Polypore",
+ "block.betterend.blooming_cooksonia": "Blooming Cooksonia",
+ "block.betterend.blossom_berry": "Blossom Berry",
+ "block.betterend.blossom_berry_wild": "Wild Blossom Berry",
+ "block.betterend.blossom_berry_dead": "Dead Blossom Berry",
+ "block.betterend.bolux_mushroom": "Bolux Mushroom Colony",
+ "block.betterend.bolux_mushroom_wild": "Wild Bolux Mushroom Colony",
+ "block.betterend.bolux_mushroom_dead": "Dead Bolux Mushroom Colony",
+ "block.betterend.bushy_grass": "Novagrass",
+ "block.betterend.cave_bush": "Carmine Bush",
+ "block.betterend.cave_grass": "Vermilligma",
+ "block.betterend.cave_pumpkin": "Bulbkin",
+ "block.betterend.cave_pumpkin_wild": "Wild Bulbkin Stem",
+ "block.betterend.cave_pumpkin_dead": "Dead Bulbkin Stem",
+ "block.betterend.cave_pumpkin_plant": "Bulbkin Stem",
+ "block.betterend.charnia_cyan": "Cyan Charnia",
+ "block.betterend.charnia_green": "Green Charnia",
+ "block.betterend.charnia_light_blue": "Teal Charnia",
+ "block.betterend.charnia_orange": "Orange Charnia",
+ "block.betterend.charnia_purple": "Purple Charnia",
+ "block.betterend.charnia_red": "Red Charnia",
+ "block.betterend.chorus_grass": "Chorus Grass",
+ "block.betterend.chorus_lily": "Chorus Lily",
+ "block.betterend.chorus_mushroom": "Chalmie Mushroom Colony",
+ "block.betterend.chorus_mushroom_wild": "Wild Chalmie Mushroom Colony",
+ "block.betterend.chorus_mushroom_dead": "Dead Chalmie Mushroom Colony",
+ "block.betterend.clawfern": "Clawfern",
+ "block.betterend.crystal_grass": "Crystal Grass",
+ "block.betterend.end_lily": "Deimos Lily",
+ "block.betterend.end_lily_seed": "Deimos Lily Sprout",
+ "block.betterend.end_lotus_flower": "Phobos Lotus Flower",
+ "block.betterend.end_lotus_leaf": "Phobos Lotus Leaf",
+ "block.betterend.end_lotus_stem": "Phobos Lotus Stem",
+ "block.betterend.end_lotus_seed": "Phobos Lotus Sprout",
+ "block.betterend.filalux_wings": "Filalux Wings",
+ "block.betterend.flamaea": "Flamaea Mushroom",
+ "block.betterend.flammalix": "Flammalix Mushroom",
+ "block.betterend.fracturn": "Fracturn",
+ "block.betterend.globulagus": "Globulagus",
+ "block.betterend.hydralux": "Hydralux",
+ "block.betterend.hydralux_sapling": "Hydralux Sprout",
+ "block.betterend.inflexia": "Inflexia",
+ "block.betterend.lamellarium": "Lamellarium",
+ "block.betterend.lanceleaf": "Lanceleaf",
+ "block.betterend.lanceleaf_seed": "Lanceleaf Dagger",
+ "block.betterend.large_amaranita_mushroom": "Large Amaranita Mushroom",
+ "block.betterend.lutebus": "Lutebus",
+ "block.betterend.magnula": "Magnula",
+ "block.betterend.nightshade_moss": "Nox Moss",
+ "block.betterend.orango": "Orango",
+ "block.betterend.pond_anemone": "Anemone",
+ "block.betterend.purple_polypore": "Purple Polypore",
+ "block.betterend.rubinea": "Rubinea",
+ "block.betterend.ruscus": "Ruscus Grass",
+ "block.betterend.salteago": "Salteago",
+ "block.betterend.shadow_berry": "Nox Berries",
+ "block.betterend.shadow_berry_wild": "Wild Nox Berries",
+ "block.betterend.shadow_berry_dead": "Dead Nox Berries",
+ "block.betterend.small_amaranita_mushroom": "Small Amaranita Mushroom",
+ "block.betterend.twisted_moss": "Twisted Moss",
+ "block.betterend.twisted_umbrella_moss": "Twisted Umbrella Moss",
+ "block.betterend.twisted_umbrella_moss_tall": "Twisted Umbrella Moss",
+ "block.betterend.twisted_vine": "Twisted Vine",
+ "block.betterend.umbrella_moss": "Umbrella Moss",
+ "block.betterend.umbrella_moss_tall": "Umbrella Moss",
+ "block.betterend.vaiolush_fern": "Vaiolush Fern",
+ "item.betterend.amber_root_product": "Amber Shoots",
+ "item.betterend.amber_root_seeds": "Amber Shoots Seeds",
+ "item.betterend.blossom_berry_product": "Blossom Berry",
+ "item.betterend.blossom_berry_seeds": "Blossom Berry Seeds",
+ "item.betterend.bolux_mushroom_cooked": "Cooked Bolux Mushroom",
+ "item.betterend.bolux_mushroom_product": "Bolux Mushroom",
+ "item.betterend.bolux_mushroom_seeds": "Bolux Mushroom Spores",
+ "item.betterend.cave_pumpkin_chunks": "Bulbkin Chunks",
+ "item.betterend.cave_pumpkin_product": "Bulbkin",
+ "item.betterend.cave_pumpkin_plant_seeds": "Bulbkin Seeds",
+ "item.betterend.cave_pumpkin_pie": "Bulbkin Pie",
+ "item.betterend.chorus_mushroom_cooked": "Cooked Chalmie Mushroom",
+ "item.betterend.chorus_mushroom_product": "Chalmie Mushroom",
+ "item.betterend.chorus_mushroom_seeds": "Chalmie Mushroom Spores",
+ "item.betterend.shadow_berry_cooked": "Cooked Nox Berry",
+ "item.betterend.shadow_berry_product": "Nox Berry",
+ "item.betterend.shadow_berry_seeds": "Nox Berry Seeds"
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/lang/uk_ua.json b/kubejs/assets/betterend/lang/uk_ua.json
new file mode 100644
index 000000000..de416474c
--- /dev/null
+++ b/kubejs/assets/betterend/lang/uk_ua.json
@@ -0,0 +1,92 @@
+{
+ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
+ "block.betterend.aeridium": "Аерідій",
+ "block.betterend.amaranita_stem": "Стебло амаранити",
+ "block.betterend.amber_grass": "Бурштинова трава",
+ "block.betterend.amber_root_wild": "Паростки дикої бурштинової трави",
+ "block.betterend.amber_root_dead": "Засохлі паростки бурштинової трави",
+ "block.betterend.amber_root": "Бурштинові паростки",
+ "block.betterend.aurant_polypore": "Поліпор Ауранта",
+ "block.betterend.blooming_cooksonia": "Квітуча куксонія",
+ "block.betterend.blossom_berry": "Цвіт ягод",
+ "block.betterend.blossom_berry_wild": "Цвітіння дикої ягоди",
+ "block.betterend.blossom_berry_dead": "Мертве цвітіння ягоди",
+ "block.betterend.bolux_mushroom": "Колонія грибів Болукса",
+ "block.betterend.bolux_mushroom_wild": "Дика колонія грибів Болукса",
+ "block.betterend.bolux_mushroom_dead": "Мертва колонія грибів Болукса",
+ "block.betterend.bushy_grass": "Новаграс",
+ "block.betterend.cave_bush": "Кущ Карміну",
+ "block.betterend.cave_grass": "Вермілігма",
+ "block.betterend.cave_pumpkin": "Балбкін",
+ "block.betterend.cave_pumpkin_wild": "Стебло дикого Булбкіна",
+ "block.betterend.cave_pumpkin_dead": "Мертве стебло Булбкіна",
+ "block.betterend.cave_pumpkin_plant": "Стебло Булбкіна",
+ "block.betterend.charnia_cyan": "Блакитна Чарнія",
+ "block.betterend.charnia_green": "Зелена Чарнія",
+ "block.betterend.charnia_light_blue": "Бірюзова Чарнія",
+ "block.betterend.charnia_orange": "Помаранчева Чарнія",
+ "block.betterend.charnia_purple": "Фіолетова Чарнія",
+ "block.betterend.charnia_red": "Червона Чарнія",
+ "block.betterend.chorus_grass": "Трава Хоруса",
+ "block.betterend.chorus_lily": "Хорусова лілія",
+ "block.betterend.chorus_mushroom": "Колонія грибів Чалмі",
+ "block.betterend.chorus_mushroom_wild": "Дика колонія грибів Чалмі",
+ "block.betterend.chorus_mushroom_dead": "Мертва колонія грибів Чалмі",
+ "block.betterend.clawfern": "Кігтевий папороть",
+ "block.betterend.crystal_grass": "Кристалічна трава",
+ "block.betterend.end_lily": "Лілія Деймоса",
+ "block.betterend.end_lily_seed": "Паросток лілії Деймоса",
+ "block.betterend.end_lotus_flower": "Квітка лотоса Фобоса",
+ "block.betterend.end_lotus_leaf": "Лист лотоса Фобоса",
+ "block.betterend.end_lotus_stem": "Стебло лотоса Фобоса",
+ "block.betterend.end_lotus_seed": "Паросток лотоса Фобоса",
+ "block.betterend.filalux_wings": "Крила Філалюкса",
+ "block.betterend.flamaea": "Гриб Фламаеа",
+ "block.betterend.flammalix": "Гриб Фламмалікс",
+ "block.betterend.fracturn": "Фрактурн",
+ "block.betterend.globulagus": "Глобулагус",
+ "block.betterend.hydralux": "Гідралюкс",
+ "block.betterend.hydralux_sapling": "Паросток Гідралюкса",
+ "block.betterend.inflexia": "Інфлексія",
+ "block.betterend.lamellarium": "Ламелларіум",
+ "block.betterend.lanceleaf": "Ланцелист",
+ "block.betterend.lanceleaf_seed": "Кинджал Ланцелиста",
+ "block.betterend.large_amaranita_mushroom": "Великий гриб Амараніта",
+ "block.betterend.lutebus": "Лутебус",
+ "block.betterend.magnula": "Магнула",
+ "block.betterend.nightshade_moss": "Мох Нокс",
+ "block.betterend.orango": "Оранго",
+ "block.betterend.pond_anemone": "Анемона",
+ "block.betterend.purple_polypore": "Фіолетовий поліпор",
+ "block.betterend.rubinea": "Рубінеа",
+ "block.betterend.ruscus": "Трава Рускус",
+ "block.betterend.salteago": "Сальтеаго",
+ "block.betterend.shadow_berry": "Ягоди Нокс",
+ "block.betterend.shadow_berry_wild": "Дикі ягоди Нокс",
+ "block.betterend.shadow_berry_dead": "Мертві ягоди Нокс",
+ "block.betterend.small_amaranita_mushroom": "Малий гриб Амаранита",
+ "block.betterend.twisted_moss": "Викривлений мох",
+ "block.betterend.twisted_umbrella_moss": "Викривлений парасольковий мох",
+ "block.betterend.twisted_umbrella_moss_tall": "Викривлений парасольковий мох",
+ "block.betterend.twisted_vine": "Викривлена лоза",
+ "block.betterend.umbrella_moss": "Парасолькоподібний мох",
+ "block.betterend.umbrella_moss_tall": "Парасолькоподібний мох",
+ "block.betterend.vaiolush_fern": "Папороть Вайолаш",
+ "item.betterend.amber_root_product": "Бурштинові паростки",
+ "item.betterend.amber_root_seeds": "Насіння бурштинових пагонів",
+ "item.betterend.blossom_berry_product": "Цвіт ягод",
+ "item.betterend.blossom_berry_seeds": "Цвітіння насінини ягоди",
+ "item.betterend.bolux_mushroom_cooked": "Приготований гриб Болукс",
+ "item.betterend.bolux_mushroom_product": "Гриб Болукс",
+ "item.betterend.bolux_mushroom_seeds": "Спори гриба Болукс",
+ "item.betterend.cave_pumpkin_chunks": "Шматки Балбкіна",
+ "item.betterend.cave_pumpkin_product": "Балбкін",
+ "item.betterend.cave_pumpkin_plant_seeds": "Насіння Балбкіна",
+ "item.betterend.cave_pumpkin_pie": "Пиріг із Балбкіна",
+ "item.betterend.chorus_mushroom_cooked": "Приготований гриб Чалмі",
+ "item.betterend.chorus_mushroom_product": "Гриб Чалмі",
+ "item.betterend.chorus_mushroom_seeds": "Спори гриба Чалмі",
+ "item.betterend.shadow_berry_cooked": "Приготована ягода Нокс",
+ "item.betterend.shadow_berry_product": "Нокс ягода",
+ "item.betterend.shadow_berry_seeds": "Насіння нокс ягоди"
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/aeridium_01.json b/kubejs/assets/betterend/models/block/aeridium_01.json
new file mode 100644
index 000000000..2c8eaa329
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/aeridium_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/aeridium"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/aeridium_02.json b/kubejs/assets/betterend/models/block/aeridium_02.json
new file mode 100644
index 000000000..2cc433a75
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/aeridium_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/aeridium"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/amber_grass_01.json b/kubejs/assets/betterend/models/block/amber_grass_01.json
new file mode 100644
index 000000000..4b68533d4
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_grass_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/amber_grass"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/amber_grass_02.json b/kubejs/assets/betterend/models/block/amber_grass_02.json
new file mode 100644
index 000000000..9179effe6
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_grass_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/amber_grass"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_grass_03.json b/kubejs/assets/betterend/models/block/amber_grass_03.json
new file mode 100644
index 000000000..92f8e6b2b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_grass_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/amber_grass"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_grass_04.json b/kubejs/assets/betterend/models/block/amber_grass_04.json
new file mode 100644
index 000000000..129786a5b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_grass_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/amber_grass"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_0.json b/kubejs/assets/betterend/models/block/amber_root_0.json
new file mode 100644
index 000000000..6e872b7ba
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/amber_root_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_1.json b/kubejs/assets/betterend/models/block/amber_root_1.json
new file mode 100644
index 000000000..02214b063
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/amber_root_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_2.json b/kubejs/assets/betterend/models/block/amber_root_2.json
new file mode 100644
index 000000000..6e20b1b8e
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/amber_root_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_3.json b/kubejs/assets/betterend/models/block/amber_root_3.json
new file mode 100644
index 000000000..3964e393d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/amber_root_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_4.json b/kubejs/assets/betterend/models/block/amber_root_4.json
new file mode 100644
index 000000000..fce15fb0d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_4.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/amber_root_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_5.json b/kubejs/assets/betterend/models/block/amber_root_5.json
new file mode 100644
index 000000000..f355a684f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_5.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/amber_root_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_6.json b/kubejs/assets/betterend/models/block/amber_root_6.json
new file mode 100644
index 000000000..161c5f7a8
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_6.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/amber_root_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/amber_root_7.json b/kubejs/assets/betterend/models/block/amber_root_7.json
new file mode 100644
index 000000000..b260266fc
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/amber_root_7.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/amber_root_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/aurant_polypore_1.json b/kubejs/assets/betterend/models/block/aurant_polypore_1.json
new file mode 100644
index 000000000..34b18ae58
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/aurant_polypore_1.json
@@ -0,0 +1,153 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/aurant_polypore",
+ "texture": "betterend:block/aurant_polypore"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 0, 4, 0 ],
+ "to": [ 8, 7, 6 ],
+ "faces": {
+ "down": { "uv": [ 8, 10, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 12, 0 ],
+ "to": [ 15, 15, 6 ],
+ "faces": {
+ "down": { "uv": [ 8, 10, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 1, 0 ],
+ "to": [ 15, 3, 6 ],
+ "faces": {
+ "down": { "uv": [ 9, 10, 15, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 9, 0 ],
+ "to": [ 7, 11, 3 ],
+ "faces": {
+ "down": { "uv": [ 10, 5, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 6, 0 ],
+ "to": [ 15, 8, 2 ],
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 14, 0 ],
+ "to": [ 6, 16, 2 ],
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 10, 0, 0 ],
+ "to": [ 14, 1, 4 ],
+ "faces": {
+ "down": { "uv": [ 10, 12, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 12, 5, 0 ],
+ "to": [ 14, 6, 1 ],
+ "faces": {
+ "down": { "uv": [ 12, 15, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 3, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 2, 8, 0 ],
+ "to": [ 6, 9, 2 ],
+ "faces": {
+ "down": { "uv": [ 10, 12, 14, 14 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 14, 5, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 14, 5, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 8, 10, 0 ],
+ "to": [ 14, 12, 5 ],
+ "faces": {
+ "down": { "uv": [ 9, 11, 15, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 13, 6, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 13, 6, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 12, 5, 14 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 12, 5, 14 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 1, 2, 0 ],
+ "to": [ 7, 4, 5 ],
+ "faces": {
+ "down": { "uv": [ 9, 11, 15, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 13, 6, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 13, 6, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 12, 5, 14 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 12, 5, 14 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 3, 13, 0 ],
+ "to": [ 5, 14, 1 ],
+ "faces": {
+ "down": { "uv": [ 12, 15, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 3, 13 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/aurant_polypore_2.json b/kubejs/assets/betterend/models/block/aurant_polypore_2.json
new file mode 100644
index 000000000..1072b074d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/aurant_polypore_2.json
@@ -0,0 +1,105 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/aurant_polypore",
+ "texture": "betterend:block/aurant_polypore"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 1, 8, 0 ],
+ "to": [ 9, 11, 6 ],
+ "faces": {
+ "down": { "uv": [ 8, 10, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 5, 3, 0 ],
+ "to": [ 11, 5, 6 ],
+ "faces": {
+ "down": { "uv": [ 9, 10, 15, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 13, 0 ],
+ "to": [ 14, 15, 3 ],
+ "faces": {
+ "down": { "uv": [ 10, 5, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 7, 0 ],
+ "to": [ 15, 9, 2 ],
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 6, 2, 0 ],
+ "to": [ 10, 3, 4 ],
+ "faces": {
+ "down": { "uv": [ 10, 12, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 12, 6, 0 ],
+ "to": [ 14, 7, 1 ],
+ "faces": {
+ "down": { "uv": [ 12, 15, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 3, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 9, 12, 0 ],
+ "to": [ 13, 13, 2 ],
+ "faces": {
+ "down": { "uv": [ 10, 12, 14, 14 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 14, 5, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 14, 5, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 2, 6, 0 ],
+ "to": [ 8, 8, 5 ],
+ "faces": {
+ "down": { "uv": [ 9, 11, 15, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 13, 6, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 13, 6, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 12, 5, 14 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 12, 5, 14 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/aurant_polypore_3.json b/kubejs/assets/betterend/models/block/aurant_polypore_3.json
new file mode 100644
index 000000000..ffae55f7f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/aurant_polypore_3.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/aurant_polypore",
+ "texture": "betterend:block/aurant_polypore"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 2, 6, 0 ],
+ "to": [ 8, 8, 6 ],
+ "faces": {
+ "down": { "uv": [ 9, 10, 15, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 13, 0 ],
+ "to": [ 14, 15, 3 ],
+ "faces": {
+ "down": { "uv": [ 10, 5, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 8, 0 ],
+ "to": [ 14, 10, 2 ],
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 3, 5, 0 ],
+ "to": [ 7, 6, 4 ],
+ "faces": {
+ "down": { "uv": [ 10, 12, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 12, 5, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 11, 7, 0 ],
+ "to": [ 13, 8, 1 ],
+ "faces": {
+ "down": { "uv": [ 12, 15, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 3, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 9, 12, 0 ],
+ "to": [ 13, 13, 2 ],
+ "faces": {
+ "down": { "uv": [ 10, 12, 14, 14 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 14, 5, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 14, 5, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 5, 13, 2 ],
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 2, 10, 0 ],
+ "to": [ 4, 11, 1 ],
+ "faces": {
+ "down": { "uv": [ 12, 15, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 3, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 2, 0 ],
+ "to": [ 12, 4, 2 ],
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box8",
+ "from": [ 9, 1, 0 ],
+ "to": [ 11, 2, 1 ],
+ "faces": {
+ "down": { "uv": [ 12, 15, 14, 16 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 12, 4, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 12, 4, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 12, 3, 13 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/block_petal_colored.json b/kubejs/assets/betterend/models/block/block_petal_colored.json
new file mode 100644
index 000000000..91eb8964c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/block_petal_colored.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/tint_cube",
+ "textures": {
+ "texture": "betterend:block/hydralux_petal_block_colored"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blossom_berry.json b/kubejs/assets/betterend/models/block/blossom_berry.json
new file mode 100644
index 000000000..3795864db
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blossom_berry.json
@@ -0,0 +1,53 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/blossom_berry_flower",
+ "stem": "betterend:block/blossom_berry_stem",
+ "flower": "betterend:block/blossom_berry_flower",
+ "texture": "betterend:block/blossom_berry_fruit"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.25, 0, 2.25 ],
+ "to": [ 2.251, 16, 18.25 ],
+ "rotation": { "origin": [ 2.25, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ },
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 12, 0 ],
+ "to": [ 16, 12.001, 16 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 5, 11, 5 ],
+ "to": [ 11, 17, 11 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 0, 6, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 6, 6 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 6, 6 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 6, 6 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blossom_berry_seed_0.json b/kubejs/assets/betterend/models/block/blossom_berry_seed_0.json
new file mode 100644
index 000000000..874f5b0db
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blossom_berry_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "cross": "betterend:block/blossom_berry_seed_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blossom_berry_seed_1.json b/kubejs/assets/betterend/models/block/blossom_berry_seed_1.json
new file mode 100644
index 000000000..0796b43bd
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blossom_berry_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "cross": "betterend:block/blossom_berry_seed_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blossom_berry_seed_2.json b/kubejs/assets/betterend/models/block/blossom_berry_seed_2.json
new file mode 100644
index 000000000..09bf8cf4b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blossom_berry_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "cross": "betterend:block/blossom_berry_seed_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine.json b/kubejs/assets/betterend/models/block/blue_vine.json
new file mode 100644
index 000000000..4bdc7a037
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/blue_vine"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_fur.json b/kubejs/assets/betterend/models/block/blue_vine_fur.json
new file mode 100644
index 000000000..086382f84
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_fur.json
@@ -0,0 +1,120 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/blue_vine_fur",
+ "texture": "betterend:block/blue_vine_fur",
+ "spore": "betterend:block/blue_vine_fur"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -0.001, -10 ],
+ "to": [ 16, 0, 6 ],
+ "rotation": { "origin": [ 0, 0, 6 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 10 ],
+ "to": [ 16, 0.001, 26 ],
+ "rotation": { "origin": [ 0, 0, 10 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 10, -0.001, 0 ],
+ "to": [ 26, 0, 16 ],
+ "rotation": { "origin": [ 10, 0, 16 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -10, 0, 2 ],
+ "to": [ 6, 0.001, 18 ],
+ "rotation": { "origin": [ 6, 0, 18 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ 0, 0, -6.5 ],
+ "to": [ 0.001, 16, 16 ],
+ "rotation": { "origin": [ 0, 16, 16 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ -6.5, 0, 15.999 ],
+ "to": [ 16, 16, 16 ],
+ "rotation": { "origin": [ 16, 16, 16 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 9, -0.001, 0 ],
+ "to": [ 25, 0, 16 ],
+ "rotation": { "origin": [ 9, 0, 16 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -9, 0, 2 ],
+ "to": [ 7, 0.001, 18 ],
+ "rotation": { "origin": [ 7, 0, 18 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_fur_wall.json b/kubejs/assets/betterend/models/block/blue_vine_fur_wall.json
new file mode 100644
index 000000000..cf9d222f8
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_fur_wall.json
@@ -0,0 +1,64 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/blue_vine_fur",
+ "texture": "betterend:block/blue_vine_fur"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 0 ],
+ "to": [ 16, 16, 0.001 ],
+ "rotation": { "origin": [ 0, 16, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -3, 0 ],
+ "to": [ 16, 13, 0.001 ],
+ "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -8, 0 ],
+ "to": [ 16, 8, 0.001 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, -12, 0 ],
+ "to": [ 14, 4, 0.001 ],
+ "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, -15, 0 ],
+ "to": [ 19, 1, 0.001 ],
+ "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_lantern.json b/kubejs/assets/betterend/models/block/blue_vine_lantern.json
new file mode 100644
index 000000000..dfd2e6d4b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_lantern.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cube_noshade",
+ "textures": {
+ "texture": "betterend:block/blue_vine_lantern"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/blue_vine_roots.json b/kubejs/assets/betterend/models/block/blue_vine_roots.json
new file mode 100644
index 000000000..0df8affc0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_roots.json
@@ -0,0 +1,76 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/blue_vine",
+ "texture": "betterend:block/blue_vine",
+ "roots": "betterend:block/blue_vine_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 5, 0, 0.5 ],
+ "to": [ 5.001, 16, 16.5 ],
+ "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 11 ],
+ "to": [ 16.5, 16, 11.001 ],
+ "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 11, 0, 0.5 ],
+ "to": [ 11.001, 16, 16.5 ],
+ "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 5 ],
+ "to": [ 16.5, 16, 5.001 ],
+ "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_seed_0.json b/kubejs/assets/betterend/models/block/blue_vine_seed_0.json
new file mode 100644
index 000000000..19c0e4777
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/blue_vine_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_seed_1.json b/kubejs/assets/betterend/models/block/blue_vine_seed_1.json
new file mode 100644
index 000000000..d702300d0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/blue_vine_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_seed_2.json b/kubejs/assets/betterend/models/block/blue_vine_seed_2.json
new file mode 100644
index 000000000..2c38fe553
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/blue_vine_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_seed_3.json b/kubejs/assets/betterend/models/block/blue_vine_seed_3.json
new file mode 100644
index 000000000..78a23f65d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/blue_vine_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/blue_vine_top.json b/kubejs/assets/betterend/models/block/blue_vine_top.json
new file mode 100644
index 000000000..be895b06a
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/blue_vine_top.json
@@ -0,0 +1,76 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/blue_vine",
+ "texture": "betterend:block/blue_vine",
+ "roots": "betterend:block/blue_vine_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 5, 0, 0.5 ],
+ "to": [ 5.001, 16, 16.5 ],
+ "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 11 ],
+ "to": [ 16.5, 16, 11.001 ],
+ "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 11, 0, 0.5 ],
+ "to": [ 11.001, 16, 16.5 ],
+ "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 5 ],
+ "to": [ 16.5, 16, 5.001 ],
+ "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bolux_mushroom_0.json b/kubejs/assets/betterend/models/block/bolux_mushroom_0.json
new file mode 100644
index 000000000..87762ba41
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bolux_mushroom_0.json
@@ -0,0 +1,45 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/bolux_mushroom",
+ "texture": "betterend:block/bolux_mushroom"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 6, 0, 8 ],
+ "to": [ 8, 2, 10 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 5, 2, 7 ],
+ "to": [ 9, 4, 11 ],
+ "faces": {
+ "down": { "uv": [ 2, 10, 6, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 4, 4, 8, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 6, 4, 8 ],
+ "to": [ 8, 5, 10 ],
+ "faces": {
+ "up": { "uv": [ 5, 5, 7, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bolux_mushroom_1.json b/kubejs/assets/betterend/models/block/bolux_mushroom_1.json
new file mode 100644
index 000000000..4c80d9183
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bolux_mushroom_1.json
@@ -0,0 +1,81 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/bolux_mushroom",
+ "texture": "betterend:block/bolux_mushroom"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 1, 3, 1 ],
+ "to": [ 9, 7, 9 ],
+ "faces": {
+ "down": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 8, 0, 16, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 7, 2 ],
+ "to": [ 8, 8, 8 ],
+ "faces": {
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 0, 4 ],
+ "to": [ 6, 3, 6 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 0, 0, 3 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 0, 0, 3 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 0, 12 ],
+ "to": [ 12, 2, 14 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 2, 10 ],
+ "to": [ 14, 5, 16 ],
+ "faces": {
+ "down": { "uv": [ 1, 9, 7, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture", "rotation": 90 },
+ "north": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 5, 11 ],
+ "to": [ 13, 6, 15 ],
+ "faces": {
+ "up": { "uv": [ 10, 2, 14, 6 ], "texture": "#texture", "rotation": 90 },
+ "north": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bolux_mushroom_2.json b/kubejs/assets/betterend/models/block/bolux_mushroom_2.json
new file mode 100644
index 000000000..e8b854979
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bolux_mushroom_2.json
@@ -0,0 +1,117 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/bolux_mushroom",
+ "texture": "betterend:block/bolux_mushroom"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 11, 0, 4 ],
+ "to": [ 13, 2, 6 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 2, 2 ],
+ "to": [ 15, 5, 8 ],
+ "faces": {
+ "down": { "uv": [ 1, 9, 7, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture", "rotation": 90 },
+ "north": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 5, 3 ],
+ "to": [ 14, 6, 7 ],
+ "faces": {
+ "up": { "uv": [ 10, 2, 14, 6 ], "texture": "#texture", "rotation": 90 },
+ "north": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 3, 0, 6 ],
+ "to": [ 5, 3, 8 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 3, 4 ],
+ "to": [ 7, 6, 10 ],
+ "faces": {
+ "down": { "uv": [ 1, 9, 7, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture", "rotation": 270 },
+ "north": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 6, 5 ],
+ "to": [ 6, 7, 9 ],
+ "faces": {
+ "up": { "uv": [ 10, 2, 14, 6 ], "texture": "#texture", "rotation": 270 },
+ "north": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 0, 12 ],
+ "to": [ 12, 2, 14 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 2, 2 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 2, 11 ],
+ "to": [ 13, 4, 15 ],
+ "faces": {
+ "down": { "uv": [ 2, 10, 6, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 4, 4, 8, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 14, 14, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 4, 12 ],
+ "to": [ 12, 5, 14 ],
+ "faces": {
+ "up": { "uv": [ 5, 5, 7, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 11, 12, 13, 13 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bolux_mushroom_3.json b/kubejs/assets/betterend/models/block/bolux_mushroom_3.json
new file mode 100644
index 000000000..f11b78b71
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bolux_mushroom_3.json
@@ -0,0 +1,153 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/bolux_mushroom",
+ "texture": "betterend:block/bolux_mushroom"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 7, 3, 6 ],
+ "to": [ 15, 7, 14 ],
+ "faces": {
+ "down": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 8, 0, 16, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 12, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 7, 7 ],
+ "to": [ 14, 8, 13 ],
+ "faces": {
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 11, 15, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 0, 9 ],
+ "to": [ 12, 3, 11 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 3 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 0, 0, 3 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 0, 0, 3 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 0, 5 ],
+ "to": [ 4, 3, 7 ],
+ "faces": {
+ "north": { "uv": [ 1, 0, 3, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 0, 3, 3 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 0, 3, 3 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 0, 3, 3 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 0, 3, 3 ],
+ "to": [ 6, 6, 9 ],
+ "faces": {
+ "down": { "uv": [ 1, 9, 7, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 13, 15, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 6, 4 ],
+ "to": [ 5, 7, 8 ],
+ "faces": {
+ "up": { "uv": [ 10, 2, 14, 6 ], "texture": "#texture" },
+ "north": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 11, 14, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 0, 2 ],
+ "to": [ 11, 4, 4 ],
+ "faces": {
+ "north": { "uv": [ 0, 0, 2, 4 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 2, 4 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 2, 4 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 2, 4 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 4, 1 ],
+ "to": [ 12, 9, 5 ],
+ "faces": {
+ "down": { "uv": [ 2, 10, 6, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 10, 2, 14, 6 ], "texture": "#texture" },
+ "north": { "uv": [ 10, 11, 14, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 11, 14, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 11, 14, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 11, 14, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 9, 2 ],
+ "to": [ 11, 10, 4 ],
+ "faces": {
+ "up": { "uv": [ 11, 3, 13, 5 ], "texture": "#texture" },
+ "north": { "uv": [ 11, 10, 13, 11 ], "texture": "#texture" },
+ "south": { "uv": [ 11, 10, 13, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 11, 10, 13, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 11, 10, 13, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 5, 12 ],
+ "to": [ 4, 6, 14 ],
+ "faces": {
+ "up": { "uv": [ 11, 3, 13, 5 ], "texture": "#texture" },
+ "north": { "uv": [ 11, 11, 13, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 11, 11, 13, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 11, 11, 13, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 11, 11, 13, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 0, 12 ],
+ "to": [ 4, 2, 14 ],
+ "faces": {
+ "north": { "uv": [ 0, 1, 2, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 1, 2, 3 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 1, 2, 3 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 1, 2, 3 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 2, 11 ],
+ "to": [ 5, 5, 15 ],
+ "faces": {
+ "down": { "uv": [ 2, 10, 6, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 4, 4, 8, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 10, 13, 14, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 13, 14, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 13, 14, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 13, 14, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_moss_01.json b/kubejs/assets/betterend/models/block/bulb_moss_01.json
new file mode 100644
index 000000000..c36d7b5e2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_moss_01.json
@@ -0,0 +1,90 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/bulb_moss_leaves",
+ "texture2": "betterend:block/bulb_moss_bulbs",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 17, 11.001, 16 ],
+ "rotation": { "origin": [ 1, 11, 0 ], "axis": "x", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, -10, 0 ],
+ "to": [ 17, 6, 0.001 ],
+ "rotation": { "origin": [ 1, 6, 0 ], "axis": "x", "angle": -45 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, 13.5, 0 ],
+ "to": [ 13, 13.501, 16 ],
+ "rotation": { "origin": [ -3, 13.5, 0 ], "axis": "x", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 1, 0 ],
+ "to": [ 17, 1.001, 16 ],
+ "rotation": { "origin": [ 1, 1, 0 ], "axis": "x", "angle": 22.5 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, -9, 0 ],
+ "to": [ 15, 7, 0.001 ],
+ "rotation": { "origin": [ -1, 7, 0 ], "axis": "x", "angle": -45 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1.5, 16, 0 ],
+ "to": [ 14.5, 16.001, 16 ],
+ "rotation": { "origin": [ -1.5, 16, 0 ], "axis": "x", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, 0.5, 0 ],
+ "to": [ 14, 0.501, 16 ],
+ "rotation": { "origin": [ -2, 0.5, 0 ], "axis": "x", "angle": 22.5 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_moss_02.json b/kubejs/assets/betterend/models/block/bulb_moss_02.json
new file mode 100644
index 000000000..57f3ac5c0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_moss_02.json
@@ -0,0 +1,60 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/bulb_moss_leaves",
+ "texture2": "betterend:block/bulb_moss_bulbs",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -15, 0 ],
+ "to": [ 16, 1, 0.001 ],
+ "rotation": { "origin": [ 0, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, -12, 0 ],
+ "to": [ 14, 4, 0.001 ],
+ "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -45 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -9, 0 ],
+ "to": [ 16, 7, 0.001 ],
+ "rotation": { "origin": [ 0, 7, 0 ], "axis": "x", "angle": -45 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -3, 0 ],
+ "to": [ 16, 13, 0.001 ],
+ "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_moss_03.json b/kubejs/assets/betterend/models/block/bulb_moss_03.json
new file mode 100644
index 000000000..cee91e650
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_moss_03.json
@@ -0,0 +1,60 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/bulb_moss_leaves",
+ "texture2": "betterend:block/bulb_moss_bulbs",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, 0, 0 ],
+ "to": [ 15, 16, 0.001 ],
+ "rotation": { "origin": [ -1, 16, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 2, -3, 0 ],
+ "to": [ 18, 13, 0.001 ],
+ "rotation": { "origin": [ 2, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -8, 0 ],
+ "to": [ 16, 8, 0.001 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, -12, 0 ],
+ "to": [ 13, 4, 0.001 ],
+ "rotation": { "origin": [ -3, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, -15, 0 ],
+ "to": [ 19, 1, 0.001 ],
+ "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_bottom.json b/kubejs/assets/betterend/models/block/bulb_vine_bottom.json
new file mode 100644
index 000000000..ed4ff52f2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_bottom.json
@@ -0,0 +1,98 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/bulb_vine",
+ "texture": "betterend:block/bulb_vine",
+ "fur": "betterend:block/bulb_vine_fur",
+ "stem": "betterend:block/bulb_vine_middle"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 4, 4, 4 ],
+ "to": [ 12, 12, 12 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 8, 0, 16, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 0, 8, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 8, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 8, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 8, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 5, 12, 5 ],
+ "to": [ 11, 14, 11 ],
+ "faces": {
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 9, 6, 15, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 6, 15, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 6, 15, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 6, 15, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 6, 14, 6 ],
+ "to": [ 10, 15, 10 ],
+ "faces": {
+ "down": { "uv": [ 6, 6, 10, 10 ], "texture": "#texture" },
+ "up": { "uv": [ 10, 2, 14, 6 ], "texture": "#texture" },
+ "north": { "uv": [ 10, 5, 14, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 5, 14, 6 ], "texture": "#texture" },
+ "west": { "uv": [ 10, 5, 14, 6 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 5, 14, 6 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 3, 7, 3 ],
+ "to": [ 13, 13, 13 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 10, 10 ], "texture": "#fur" },
+ "north": { "uv": [ 0, 10, 10, 16 ], "texture": "#fur" },
+ "south": { "uv": [ 0, 10, 10, 16 ], "texture": "#fur" },
+ "west": { "uv": [ 0, 10, 10, 16 ], "texture": "#fur" },
+ "east": { "uv": [ 0, 10, 10, 16 ], "texture": "#fur" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 13, 13, 13 ],
+ "to": [ 3, 7, 3 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 10, 10 ], "texture": "#fur" },
+ "north": { "uv": [ 0, 16, 10, 10 ], "texture": "#fur" },
+ "south": { "uv": [ 0, 16, 10, 10 ], "texture": "#fur" },
+ "west": { "uv": [ 0, 16, 10, 10 ], "texture": "#fur" },
+ "east": { "uv": [ 0, 16, 10, 10 ], "texture": "#fur" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 7.25, 15, 7.25 ],
+ "to": [ 7.251, 16, 9.25 ],
+ "rotation": { "origin": [ 7.25, 15, 7.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 7, 0, 9, 1 ], "texture": "#stem" },
+ "east": { "uv": [ 7, 0, 9, 1 ], "texture": "#stem" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 8.625, 15, 7.375 ],
+ "to": [ 8.626, 16, 9.375 ],
+ "rotation": { "origin": [ 8.625, 15, 7.375 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 7, 0, 9, 1 ], "texture": "#stem" },
+ "east": { "uv": [ 7, 0, 9, 1 ], "texture": "#stem" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_middle_1.json b/kubejs/assets/betterend/models/block/bulb_vine_middle_1.json
new file mode 100644
index 000000000..85f9d6e10
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_middle_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/bulb_vine_middle"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_middle_2.json b/kubejs/assets/betterend/models/block/bulb_vine_middle_2.json
new file mode 100644
index 000000000..ca3d9c3e7
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_middle_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion_inverted",
+ "textures": {
+ "texture": "betterend:block/bulb_vine_middle"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_seed_0.json b/kubejs/assets/betterend/models/block/bulb_vine_seed_0.json
new file mode 100644
index 000000000..0bdaf5f53
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/bulb_vine_seed_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_seed_1.json b/kubejs/assets/betterend/models/block/bulb_vine_seed_1.json
new file mode 100644
index 000000000..99d9307d0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/bulb_vine_seed_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_seed_2.json b/kubejs/assets/betterend/models/block/bulb_vine_seed_2.json
new file mode 100644
index 000000000..dd1998fa8
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/bulb_vine_seed_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_seed_3.json b/kubejs/assets/betterend/models/block/bulb_vine_seed_3.json
new file mode 100644
index 000000000..72568d15d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/bulb_vine_seed_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bulb_vine_top.json b/kubejs/assets/betterend/models/block/bulb_vine_top.json
new file mode 100644
index 000000000..03c8f2794
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bulb_vine_top.json
@@ -0,0 +1,76 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/bulb_vine_middle",
+ "texture": "betterend:block/bulb_vine_middle",
+ "roots": "betterend:block/bulb_vine_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 5, 0, 0.5 ],
+ "to": [ 5.001, 16, 16.5 ],
+ "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 11 ],
+ "to": [ 16.5, 16, 11.001 ],
+ "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 11, 0, 0.5 ],
+ "to": [ 11.001, 16, 16.5 ],
+ "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 5 ],
+ "to": [ 16.5, 16, 5.001 ],
+ "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_01.json b/kubejs/assets/betterend/models/block/bushy_grass_01.json
new file mode 100644
index 000000000..bd043dd48
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/bushy_grass_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_02.json b/kubejs/assets/betterend/models/block/bushy_grass_02.json
new file mode 100644
index 000000000..9b4f6708b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/bushy_grass_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_03.json b/kubejs/assets/betterend/models/block/bushy_grass_03.json
new file mode 100644
index 000000000..9d325297e
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/bushy_grass_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_04.json b/kubejs/assets/betterend/models/block/bushy_grass_04.json
new file mode 100644
index 000000000..1d47bd046
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/bushy_grass_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_05.json b/kubejs/assets/betterend/models/block/bushy_grass_05.json
new file mode 100644
index 000000000..c3d389c9d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_05.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/bushy_grass_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_06.json b/kubejs/assets/betterend/models/block/bushy_grass_06.json
new file mode 100644
index 000000000..ecd3cc9fc
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_06.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/bushy_grass_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_07.json b/kubejs/assets/betterend/models/block/bushy_grass_07.json
new file mode 100644
index 000000000..b0b6b7ecf
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_07.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/bushy_grass_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/bushy_grass_08.json b/kubejs/assets/betterend/models/block/bushy_grass_08.json
new file mode 100644
index 000000000..975db2217
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/bushy_grass_08.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/bushy_grass_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/cave_bush_01.json b/kubejs/assets/betterend/models/block/cave_bush_01.json
new file mode 100644
index 000000000..646d38484
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_bush_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cube_all",
+ "textures": {
+ "all": "betterend:block/cave_bush_leaves_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_bush_02.json b/kubejs/assets/betterend/models/block/cave_bush_02.json
new file mode 100644
index 000000000..3bcf150ff
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_bush_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cube_all",
+ "textures": {
+ "all": "betterend:block/cave_bush_leaves_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_bush_03.json b/kubejs/assets/betterend/models/block/cave_bush_03.json
new file mode 100644
index 000000000..94a6d25be
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_bush_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cube_all",
+ "textures": {
+ "all": "betterend:block/cave_bush_leaves_3"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_bush_04.json b/kubejs/assets/betterend/models/block/cave_bush_04.json
new file mode 100644
index 000000000..e8ba47742
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_bush_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cube_all",
+ "textures": {
+ "all": "betterend:block/cave_bush_leaves_4"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_01.json b/kubejs/assets/betterend/models/block/cave_grass_01.json
new file mode 100644
index 000000000..1148ae35a
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/cave_grass_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_02.json b/kubejs/assets/betterend/models/block/cave_grass_02.json
new file mode 100644
index 000000000..7afdba970
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/cave_grass_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_03.json b/kubejs/assets/betterend/models/block/cave_grass_03.json
new file mode 100644
index 000000000..42fbcf763
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/cave_grass_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_04.json b/kubejs/assets/betterend/models/block/cave_grass_04.json
new file mode 100644
index 000000000..a45ce4ea0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/cave_grass_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_05.json b/kubejs/assets/betterend/models/block/cave_grass_05.json
new file mode 100644
index 000000000..f27173372
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_05.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/cave_grass_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_06.json b/kubejs/assets/betterend/models/block/cave_grass_06.json
new file mode 100644
index 000000000..bf297ca0c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_06.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/cave_grass_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_07.json b/kubejs/assets/betterend/models/block/cave_grass_07.json
new file mode 100644
index 000000000..ead75e67d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_07.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/cave_grass_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_grass_08.json b/kubejs/assets/betterend/models/block/cave_grass_08.json
new file mode 100644
index 000000000..2e0d048f7
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_grass_08.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/cave_grass_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/cave_pumpkin.json b/kubejs/assets/betterend/models/block/cave_pumpkin.json
new file mode 100644
index 000000000..2b563ab3f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_pumpkin.json
@@ -0,0 +1,82 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/cave_pumpkin_lantern_side",
+ "lantern_side": "betterend:block/cave_pumpkin_lantern_side",
+ "lantern_bottom": "betterend:block/cave_pumpkin_lantern_bottom",
+ "top": "betterend:block/cave_pumpkin_top",
+ "side": "betterend:block/cave_pumpkin_side"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 1, 0, 1 ],
+ "to": [ 15, 13, 15 ],
+ "faces": {
+ "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#lantern_bottom" },
+ "north": { "uv": [ 1, 3, 15, 16 ], "texture": "#lantern_side" },
+ "south": { "uv": [ 1, 3, 15, 16 ], "texture": "#lantern_side" },
+ "west": { "uv": [ 1, 3, 15, 16 ], "texture": "#lantern_side" },
+ "east": { "uv": [ 1, 3, 15, 16 ], "texture": "#lantern_side" }
+ }
+ },
+ {
+ "__comment": "Box2",
+ "from": [ 0, 13, 0 ],
+ "to": [ 16, 15, 16 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 0, 10, 0 ],
+ "to": [ 0.001, 15, 16 ],
+ "faces": {
+ "west": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" },
+ "east": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 16, 10, 0 ],
+ "to": [ 16.001, 15, 16 ],
+ "faces": {
+ "west": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" },
+ "east": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0, 10, 16 ],
+ "to": [ 16, 15, 16.001 ],
+ "faces": {
+ "north": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" },
+ "south": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0, 10, 0 ],
+ "to": [ 16, 15, 0.001 ],
+ "faces": {
+ "north": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" },
+ "south": { "uv": [ 0, 1, 16, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "Box7",
+ "from": [ 5, 15, 5 ],
+ "to": [ 11, 16, 11 ],
+ "faces": {
+ "up": { "uv": [ 5, 10, 11, 16 ], "texture": "#side" },
+ "north": { "uv": [ 5, 0, 11, 1 ], "texture": "#side" },
+ "south": { "uv": [ 5, 0, 11, 1 ], "texture": "#side" },
+ "west": { "uv": [ 5, 0, 11, 1 ], "texture": "#side" },
+ "east": { "uv": [ 5, 0, 11, 1 ], "texture": "#side" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/cave_pumpkin_small.json b/kubejs/assets/betterend/models/block/cave_pumpkin_small.json
new file mode 100644
index 000000000..d6020131c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cave_pumpkin_small.json
@@ -0,0 +1,83 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/cave_pumpkin_lantern_side",
+ "lantern_side": "betterend:block/cave_pumpkin_lantern_side",
+ "lantern_bottom": "betterend:block/cave_pumpkin_lantern_bottom",
+ "top": "betterend:block/cave_pumpkin_top",
+ "side": "betterend:block/cave_pumpkin_side"
+ },
+ "elements": [
+ {
+ "__comment": "Box8",
+ "from": [ 5, 7, 5 ],
+ "to": [ 11, 13, 11 ],
+ "faces": {
+ "down": { "uv": [ 5, 5, 11, 11 ], "texture": "#lantern_bottom" },
+ "up": { "uv": [ 5, 5, 11, 11 ], "texture": "#lantern_side" },
+ "north": { "uv": [ 5, 10, 11, 16 ], "texture": "#lantern_side" },
+ "south": { "uv": [ 5, 10, 11, 16 ], "texture": "#lantern_side" },
+ "west": { "uv": [ 5, 10, 11, 16 ], "texture": "#lantern_side" },
+ "east": { "uv": [ 5, 10, 11, 16 ], "texture": "#lantern_side" }
+ }
+ },
+ {
+ "__comment": "Box9",
+ "from": [ 4, 13, 4 ],
+ "to": [ 12, 15, 12 ],
+ "faces": {
+ "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" },
+ "up": { "uv": [ 4, 4, 12, 12 ], "texture": "#top" }
+ }
+ },
+ {
+ "__comment": "PlaneX12",
+ "from": [ 12, 10, 4 ],
+ "to": [ 12.001, 15, 12 ],
+ "faces": {
+ "west": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" },
+ "east": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneX12",
+ "from": [ 4, 10, 4 ],
+ "to": [ 4.001, 15, 12 ],
+ "faces": {
+ "west": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" },
+ "east": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneZ14",
+ "from": [ 4, 10, 4 ],
+ "to": [ 12, 15, 4.001 ],
+ "faces": {
+ "north": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" },
+ "south": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneZ14",
+ "from": [ 4, 10, 12 ],
+ "to": [ 12, 15, 12.001 ],
+ "faces": {
+ "north": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" },
+ "south": { "uv": [ 4, 1, 12, 6 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "Box16",
+ "from": [ 6, 15, 6 ],
+ "to": [ 10, 16, 10 ],
+ "faces": {
+ "up": { "uv": [ 6, 11, 10, 15 ], "texture": "#side" },
+ "north": { "uv": [ 6, 0, 10, 1 ], "texture": "#side" },
+ "south": { "uv": [ 6, 0, 10, 1 ], "texture": "#side" },
+ "west": { "uv": [ 6, 0, 10, 1 ], "texture": "#side" },
+ "east": { "uv": [ 6, 0, 10, 1 ], "texture": "#side" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia.json b/kubejs/assets/betterend/models/block/charnia.json
new file mode 100644
index 000000000..1409556aa
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia.json
@@ -0,0 +1,87 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.5, 0, 2.5 ],
+ "to": [ 2.501, 16, 7.5 ],
+ "rotation": { "origin": [ 2.5, 0, 2.5 ], "axis": "y", "angle": 22.5 },
+ "faces": {
+ "west": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13, 0, 1 ],
+ "to": [ 13.001, 16, 6 ],
+ "rotation": { "origin": [ 13, 0, 1 ], "axis": "y", "angle": -45 },
+ "faces": {
+ "west": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 14, 0, 11 ],
+ "to": [ 14.001, 16, 16 ],
+ "rotation": { "origin": [ 14, 0, 11 ], "axis": "y", "angle": -45 },
+ "faces": {
+ "west": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 5, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 4.5, 0, 8 ],
+ "to": [ 4.501, 16, 13 ],
+ "rotation": { "origin": [ 4.5, 0, 8 ], "axis": "y", "angle": 45 },
+ "faces": {
+ "west": { "uv": [ 5, 0, 10, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 5, 0, 10, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 9, 0, 4.5 ],
+ "to": [ 9.001, 16, 9.5 ],
+ "faces": {
+ "west": { "uv": [ 5, 0, 10, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 5, 0, 10, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 3.5, 0, 1 ],
+ "to": [ 8.5, 16, 1.001 ],
+ "rotation": { "origin": [ 8.5, 0, 1 ], "axis": "y", "angle": 22.5 },
+ "faces": {
+ "north": { "uv": [ 10, 0, 15, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 10, 0, 15, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 14.999, 0, 2.5 ],
+ "to": [ 15, 16, 7.5 ],
+ "rotation": { "origin": [ 15, 0, 7.5 ], "axis": "y", "angle": 22.5 },
+ "faces": {
+ "west": { "uv": [ 10, 0, 15, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 0, 15, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 4.999, 0, 9.5 ],
+ "to": [ 5, 16, 14.5 ],
+ "rotation": { "origin": [ 5, 0, 14.5 ], "axis": "y", "angle": 45 },
+ "faces": {
+ "west": { "uv": [ 10, 0, 15, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 10, 0, 15, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia_cyan.json b/kubejs/assets/betterend/models/block/charnia_cyan.json
new file mode 100644
index 000000000..979d166dd
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia_cyan.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/charnia",
+ "textures": {
+ "texture": "betterend:block/charnia_cyan"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia_green.json b/kubejs/assets/betterend/models/block/charnia_green.json
new file mode 100644
index 000000000..7f5e35f02
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia_green.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/charnia",
+ "textures": {
+ "texture": "betterend:block/charnia_green"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia_light_blue.json b/kubejs/assets/betterend/models/block/charnia_light_blue.json
new file mode 100644
index 000000000..a28f3c6f9
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia_light_blue.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/charnia",
+ "textures": {
+ "texture": "betterend:block/charnia_light_blue"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia_orange.json b/kubejs/assets/betterend/models/block/charnia_orange.json
new file mode 100644
index 000000000..d4af1b312
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia_orange.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/charnia",
+ "textures": {
+ "texture": "betterend:block/charnia_orange"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia_purple.json b/kubejs/assets/betterend/models/block/charnia_purple.json
new file mode 100644
index 000000000..7b71b34cc
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia_purple.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/charnia",
+ "textures": {
+ "texture": "betterend:block/charnia_purple"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/charnia_red.json b/kubejs/assets/betterend/models/block/charnia_red.json
new file mode 100644
index 000000000..87c854848
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/charnia_red.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/charnia",
+ "textures": {
+ "texture": "betterend:block/charnia_red"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_0.json b/kubejs/assets/betterend/models/block/chorus_mushroom_0.json
new file mode 100644
index 000000000..84efbdd4a
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_1.json b/kubejs/assets/betterend/models/block/chorus_mushroom_1.json
new file mode 100644
index 000000000..1a569d458
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_2.json b/kubejs/assets/betterend/models/block/chorus_mushroom_2.json
new file mode 100644
index 000000000..19b915241
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_3.json b/kubejs/assets/betterend/models/block/chorus_mushroom_3.json
new file mode 100644
index 000000000..c600a1475
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_4.json b/kubejs/assets/betterend/models/block/chorus_mushroom_4.json
new file mode 100644
index 000000000..5cdf7c0ef
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_4.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_5.json b/kubejs/assets/betterend/models/block/chorus_mushroom_5.json
new file mode 100644
index 000000000..97313b2ce
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_5.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_6.json b/kubejs/assets/betterend/models/block/chorus_mushroom_6.json
new file mode 100644
index 000000000..868cc3195
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_6.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/chorus_mushroom_7.json b/kubejs/assets/betterend/models/block/chorus_mushroom_7.json
new file mode 100644
index 000000000..1e2095fd9
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/chorus_mushroom_7.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/chorus_mushroom_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/clawfern_01.json b/kubejs/assets/betterend/models/block/clawfern_01.json
new file mode 100644
index 000000000..cdf7dd8bb
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/clawfern_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/clawfern"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/clawfern_02.json b/kubejs/assets/betterend/models/block/clawfern_02.json
new file mode 100644
index 000000000..5e40648e3
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/clawfern_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/clawfern"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/creeping_moss.json b/kubejs/assets/betterend/models/block/creeping_moss.json
new file mode 100644
index 000000000..07047d935
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/creeping_moss.json
@@ -0,0 +1,110 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/creeping_moss_leaves",
+ "texture": "betterend:block/creeping_moss_leaves",
+ "spore": "betterend:block/creeping_moss_spores"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -0.001, -10 ],
+ "to": [ 16, 0, 6 ],
+ "rotation": { "origin": [ 0, 0, 6 ], "axis": "x", "angle": 22.5 },
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 10 ],
+ "to": [ 16, 0.001, 26 ],
+ "rotation": { "origin": [ 0, 0, 10 ], "axis": "x", "angle": -22.5 },
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 10, -0.001, 0 ],
+ "to": [ 26, 0, 16 ],
+ "rotation": { "origin": [ 10, 0, 16 ], "axis": "z", "angle": 22.5 },
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -10, 0, 2 ],
+ "to": [ 6, 0.001, 18 ],
+ "rotation": { "origin": [ 6, 0, 18 ], "axis": "z", "angle": -22.5 },
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ 0, 0, -6.5 ],
+ "to": [ 0.001, 16, 16 ],
+ "rotation": { "origin": [ 0, 16, 16 ], "axis": "y", "angle": -45 },
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ -6.5, 0, 15.999 ],
+ "to": [ 16, 16, 16 ],
+ "rotation": { "origin": [ 16, 16, 16 ], "axis": "y", "angle": -45 },
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 9, -0.001, 0 ],
+ "to": [ 25, 0, 16 ],
+ "rotation": { "origin": [ 9, 0, 16 ], "axis": "z", "angle": 45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -9, 0, 2 ],
+ "to": [ 7, 0.001, 18 ],
+ "rotation": { "origin": [ 7, 0, 18 ], "axis": "z", "angle": -45 },
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/cross_no_distortion.json b/kubejs/assets/betterend/models/block/cross_no_distortion.json
new file mode 100644
index 000000000..dc78e2397
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cross_no_distortion.json
@@ -0,0 +1,29 @@
+{
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/cross_no_distortion_inverted.json b/kubejs/assets/betterend/models/block/cross_no_distortion_inverted.json
new file mode 100644
index 000000000..429eb5ea3
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cross_no_distortion_inverted.json
@@ -0,0 +1,29 @@
+{
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/cross_no_distortion_inverted_tinted.json b/kubejs/assets/betterend/models/block/cross_no_distortion_inverted_tinted.json
new file mode 100644
index 000000000..c81392e5b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cross_no_distortion_inverted_tinted.json
@@ -0,0 +1,29 @@
+{
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 },
+ "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 },
+ "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "tintindex": 0 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/cross_no_distortion_tinted.json b/kubejs/assets/betterend/models/block/cross_no_distortion_tinted.json
new file mode 100644
index 000000000..0015a0960
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/cross_no_distortion_tinted.json
@@ -0,0 +1,29 @@
+{
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "tintindex": 0 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/dense_vine_bottom_1.json b/kubejs/assets/betterend/models/block/dense_vine_bottom_1.json
new file mode 100644
index 000000000..1b50085c1
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/dense_vine_bottom_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/dense_vine_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/dense_vine_bottom_2.json b/kubejs/assets/betterend/models/block/dense_vine_bottom_2.json
new file mode 100644
index 000000000..bb9a4c382
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/dense_vine_bottom_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "texture": "betterend:block/dense_vine_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/dense_vine_middle_1.json b/kubejs/assets/betterend/models/block/dense_vine_middle_1.json
new file mode 100644
index 000000000..6d6b85696
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/dense_vine_middle_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/dense_vine"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/dense_vine_middle_2.json b/kubejs/assets/betterend/models/block/dense_vine_middle_2.json
new file mode 100644
index 000000000..69426c8a0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/dense_vine_middle_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "texture": "betterend:block/dense_vine"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/dense_vine_top.json b/kubejs/assets/betterend/models/block/dense_vine_top.json
new file mode 100644
index 000000000..bec20fbc0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/dense_vine_top.json
@@ -0,0 +1,76 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/dense_vine",
+ "texture": "betterend:block/dense_vine",
+ "roots": "betterend:block/dense_vine_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 5, 0, 0.5 ],
+ "to": [ 5.001, 16, 16.5 ],
+ "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 11 ],
+ "to": [ 16.5, 16, 11.001 ],
+ "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 11, 0, 0.5 ],
+ "to": [ 11.001, 16, 16.5 ],
+ "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 5 ],
+ "to": [ 16.5, 16, 5.001 ],
+ "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 16, 16, 0 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_roots.json b/kubejs/assets/betterend/models/block/end_lily_roots.json
new file mode 100644
index 000000000..a5ceb46eb
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_roots.json
@@ -0,0 +1,76 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/end_lily_stem",
+ "texture": "betterend:block/end_lily_stem",
+ "roots": "betterend:block/end_lily_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 5, 0, 0.5 ],
+ "to": [ 5.001, 16, 16.5 ],
+ "rotation": { "origin": [ 5, 0, 0.5 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 11 ],
+ "to": [ 16.5, 16, 11.001 ],
+ "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 11, 0, 0.5 ],
+ "to": [ 11.001, 16, 16.5 ],
+ "rotation": { "origin": [ 11, 0, 0.5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneZ5",
+ "from": [ 0.5, 0, 5 ],
+ "to": [ 16.5, 16, 5.001 ],
+ "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_seed_0.json b/kubejs/assets/betterend/models/block/end_lily_seed_0.json
new file mode 100644
index 000000000..66050b283
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lily_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_seed_1.json b/kubejs/assets/betterend/models/block/end_lily_seed_1.json
new file mode 100644
index 000000000..e1690e630
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lily_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_seed_2.json b/kubejs/assets/betterend/models/block/end_lily_seed_2.json
new file mode 100644
index 000000000..8f41a99ac
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lily_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_seed_3.json b/kubejs/assets/betterend/models/block/end_lily_seed_3.json
new file mode 100644
index 000000000..771c833bf
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lily_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_stem.json b/kubejs/assets/betterend/models/block/end_lily_stem.json
new file mode 100644
index 000000000..a86773076
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_stem.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lily_stem"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_top.json b/kubejs/assets/betterend/models/block/end_lily_top.json
new file mode 100644
index 000000000..fe478e7ea
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_top.json
@@ -0,0 +1,92 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/end_lily_leaf",
+ "leaf": "betterend:block/end_lily_leaf",
+ "flower": "betterend:block/end_lily_flower"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 8, 0, 0 ],
+ "to": [ 8.001, 16, 16 ],
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneZ3",
+ "from": [ 0, 0, 8 ],
+ "to": [ 16, 16, 8.001 ],
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 2.5, 0, 2.5 ],
+ "to": [ 2.501, 16, 18.5 ],
+ "rotation": { "origin": [ 2.5, 0, 2.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 2.5, 0, 16, 16 ], "texture": "#flower" },
+ "east": { "uv": [ 0, 0, 13.5, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneZ3",
+ "from": [ 2.5, 0, 13.5 ],
+ "to": [ 18.5, 16, 13.501 ],
+ "rotation": { "origin": [ 2.5, 0, 13.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 14.5, 16 ], "texture": "#flower" },
+ "south": { "uv": [ 1.5, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 0.029, 8 ],
+ "to": [ 24, 0.029, 24 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ -8, 0.026, 8 ],
+ "to": [ 8, 0.026, 24 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ -8, 0.023, -8 ],
+ "to": [ 8, 0.023, 8 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 0.02, -8 ],
+ "to": [ 24, 0.02, 8 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_top_small.json b/kubejs/assets/betterend/models/block/end_lily_top_small.json
new file mode 100644
index 000000000..20a494492
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_top_small.json
@@ -0,0 +1,62 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/end_lily_leaf",
+ "leaf": "betterend:block/end_lily_leaf_small",
+ "flower": "betterend:block/end_lily_flower_small"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 8, 0, 0 ],
+ "to": [ 8.001, 16, 16 ],
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneZ3",
+ "from": [ 0, 0, 8 ],
+ "to": [ 16, 16, 8.001 ],
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 2.5, 0, 2.5 ],
+ "to": [ 2.501, 16, 18.5 ],
+ "rotation": { "origin": [ 2.5, 0, 2.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 2.5, 0, 16, 16 ], "texture": "#flower" },
+ "east": { "uv": [ 0, 0, 13.5, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneZ3",
+ "from": [ 2.5, 0, 13.5 ],
+ "to": [ 18.5, 16, 13.501 ],
+ "rotation": { "origin": [ 2.5, 0, 13.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 14.5, 16 ], "texture": "#flower" },
+ "south": { "uv": [ 1.5, 0, 16, 16 ], "texture": "#flower" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 0.02, 0 ],
+ "to": [ 16, 0.02, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lily_top_small_2.json b/kubejs/assets/betterend/models/block/end_lily_top_small_2.json
new file mode 100644
index 000000000..6aa8cbb00
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lily_top_small_2.json
@@ -0,0 +1,19 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/end_lily_leaf",
+ "leaf": "betterend:block/end_lily_leaf_small"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 0.02, 0 ],
+ "to": [ 16, 0.02, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_flower.json b/kubejs/assets/betterend/models/block/end_lotus_flower.json
new file mode 100644
index 000000000..68312cdc5
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_flower.json
@@ -0,0 +1,163 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/end_lotus_center",
+ "texture": "betterend:block/end_lotus_center",
+ "petal": "betterend:block/end_lotus_petal"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 4, 0, 4 ],
+ "to": [ 12, 11, 12 ],
+ "faces": {
+ "down": { "uv": [ 8, 8, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 8, 0, 16, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 4, 8, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 5, 8, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 5, 8, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 8, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ -0.5, 2, 12 ],
+ "to": [ 15.5, 2.001, 20 ],
+ "rotation": { "origin": [ -0.5, 2, 12 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ -0.5, 7.502, 17.5 ],
+ "to": [ 15.5, 7.502, 25.5 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ 0.5, 1.999, -4 ],
+ "to": [ 16.5, 2, 4 ],
+ "rotation": { "origin": [ 0.5, 2, 4 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#petal", "rotation": 180 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#petal" }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ 0.5, 7.502, -9.5 ],
+ "to": [ 16.5, 7.502, -1.5 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#petal", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#petal" }
+ }
+ },
+ {
+ "__comment": "PlaneY12",
+ "from": [ 12, 2, 0.5 ],
+ "to": [ 20, 2.001, 16.5 ],
+ "rotation": { "origin": [ 12, 2, 0.5 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#petal", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#petal", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY12",
+ "from": [ 17.5, 7.505, 0.5 ],
+ "to": [ 25.5, 7.505, 16.5 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#petal", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#petal", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY12",
+ "from": [ -4, 1.999, -0.5 ],
+ "to": [ 4, 2, 15.5 ],
+ "rotation": { "origin": [ 4, 2, -0.5 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#petal", "rotation": 270 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#petal", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY12",
+ "from": [ -9.5, 7.505, -0.5 ],
+ "to": [ -1.5, 7.505, 15.5 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#petal", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#petal", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY10",
+ "from": [ 15.5, 2.02, -10.5 ],
+ "to": [ 31.5, 2.02, 5.5 ],
+ "rotation": { "origin": [ 15.5, 2, -10.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal" }
+ }
+ },
+ {
+ "__comment": "PlaneY10",
+ "from": [ 10.5, 2.04, -0.5 ],
+ "to": [ 26.5, 2.04, 15.5 ],
+ "rotation": { "origin": [ 26.5, 2, 15.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY10",
+ "from": [ -15.5, 2.06, 10.5 ],
+ "to": [ 0.5, 2.06, 26.5 ],
+ "rotation": { "origin": [ 0.5, 2, 26.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY10",
+ "from": [ -10.4999, 2.08, 0.4999 ],
+ "to": [ 5.5001, 2.08, 16.4999 ],
+ "rotation": { "origin": [ -10.5, 2, 0.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal" }
+ }
+ },
+ {
+ "__comment": "Box15",
+ "from": [ 5, 11, 5 ],
+ "to": [ 11, 12, 11 ],
+ "faces": {
+ "up": { "uv": [ 9, 1, 15, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 4, 7, 5 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 4, 7, 5 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 4, 7, 5 ], "texture": "#texture" },
+ "east": { "uv": [ 5, 4, 11, 5 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_flower_2.json b/kubejs/assets/betterend/models/block/end_lotus_flower_2.json
new file mode 100644
index 000000000..a6b978690
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_flower_2.json
@@ -0,0 +1,8 @@
+{
+ "parent": "betterend:block/end_lotus_flower",
+ "textures": {
+ "particle": "betterend:block/end_lotus_center_2",
+ "texture": "betterend:block/end_lotus_center_2",
+ "petal": "betterend:block/end_lotus_petal_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_leaf_center.json b/kubejs/assets/betterend/models/block/end_lotus_leaf_center.json
new file mode 100644
index 000000000..26285d66b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_leaf_center.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/end_lotus_leaf_center"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/end_lotus_leaf_corner.json b/kubejs/assets/betterend/models/block/end_lotus_leaf_corner.json
new file mode 100644
index 000000000..4175bda8c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_leaf_corner.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/end_lotus_leaf_corner"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/end_lotus_leaf_side.json b/kubejs/assets/betterend/models/block/end_lotus_leaf_side.json
new file mode 100644
index 000000000..cbb1f22c5
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_leaf_side.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/end_lotus_leaf_side"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/end_lotus_roots.json b/kubejs/assets/betterend/models/block/end_lotus_roots.json
new file mode 100644
index 000000000..3e9ea343c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_roots.json
@@ -0,0 +1,68 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/end_lotus_stem",
+ "texture": "betterend:block/end_lotus_stem",
+ "roots": "betterend:block/end_lotus_roots"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 6, 0, 6 ],
+ "to": [ 10, 16, 10 ],
+ "faces": {
+ "down": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "down" },
+ "up": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 5, 0, 1 ],
+ "to": [ 5.001, 16, 17 ],
+ "rotation": { "origin": [ 5, 0, 1 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 11, 0, 1 ],
+ "to": [ 11.001, 16, 17 ],
+ "rotation": { "origin": [ 11, 0, 1 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0.5, 0, 4.999 ],
+ "to": [ 16.5, 16, 5 ],
+ "rotation": { "origin": [ 0.5, 0, 5 ], "axis": "y", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0.5, 0, 10.999 ],
+ "to": [ 16.5, 16, 11 ],
+ "rotation": { "origin": [ 0.5, 0, 11 ], "axis": "y", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_seed_0.json b/kubejs/assets/betterend/models/block/end_lotus_seed_0.json
new file mode 100644
index 000000000..a68edb5d6
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lotus_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_seed_1.json b/kubejs/assets/betterend/models/block/end_lotus_seed_1.json
new file mode 100644
index 000000000..b14a04b06
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lotus_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_seed_2.json b/kubejs/assets/betterend/models/block/end_lotus_seed_2.json
new file mode 100644
index 000000000..3faabd3bb
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lotus_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_seed_3.json b/kubejs/assets/betterend/models/block/end_lotus_seed_3.json
new file mode 100644
index 000000000..40bd8c49b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/end_lotus_4"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_stem.json b/kubejs/assets/betterend/models/block/end_lotus_stem.json
new file mode 100644
index 000000000..0ff07e34d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_stem.json
@@ -0,0 +1,23 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/end_lotus_stem",
+ "texture": "betterend:block/end_lotus_stem"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 6, 0, 6 ],
+ "to": [ 10, 16, 10 ],
+ "faces": {
+ "down": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "down" },
+ "up": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_stem_leaf.json b/kubejs/assets/betterend/models/block/end_lotus_stem_leaf.json
new file mode 100644
index 000000000..ebda644de
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_stem_leaf.json
@@ -0,0 +1,34 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/end_lotus_stem",
+ "texture": "betterend:block/end_lotus_stem",
+ "texture1": "betterend:block/end_lotus_leaf_cutout"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 6, 0, 6 ],
+ "to": [ 10, 16, 10 ],
+ "faces": {
+ "down": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "down" },
+ "up": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 4, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 16, 0.001, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture1" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_stem_top.json b/kubejs/assets/betterend/models/block/end_lotus_stem_top.json
new file mode 100644
index 000000000..6590a0ae1
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_stem_top.json
@@ -0,0 +1,35 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/end_lotus_stem",
+ "texture": "betterend:block/end_lotus_stem"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 6, 0, 6 ],
+ "to": [ 10, 12, 10 ],
+ "faces": {
+ "down": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "down" },
+ "north": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box2",
+ "from": [ 5, 12, 5 ],
+ "to": [ 11, 16, 11 ],
+ "faces": {
+ "down": { "uv": [ 4, 8, 10, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 4, 8, 10, 14 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/end_lotus_stem_top_leaf.json b/kubejs/assets/betterend/models/block/end_lotus_stem_top_leaf.json
new file mode 100644
index 000000000..3d1e9dc7b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/end_lotus_stem_top_leaf.json
@@ -0,0 +1,46 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "parent": "block/block",
+ "textures": {
+ "particle": "betterend:block/end_lotus_stem",
+ "texture": "betterend:block/end_lotus_stem",
+ "leaf": "betterend:block/end_lotus_leaf_cutout"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 6, 0, 6 ],
+ "to": [ 10, 12, 10 ],
+ "faces": {
+ "down": { "uv": [ 4, 0, 8, 4 ], "texture": "#texture", "cullface": "down" },
+ "north": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 4, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box2",
+ "from": [ 5, 12, 5 ],
+ "to": [ 11, 16, 11 ],
+ "faces": {
+ "down": { "uv": [ 4, 8, 10, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 4, 8, 10, 14 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 4, 10, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 0, 0 ],
+ "to": [ 16, 0.001, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#leaf" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/filalux_wings.json b/kubejs/assets/betterend/models/block/filalux_wings.json
new file mode 100644
index 000000000..3eedc4e4d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/filalux_wings.json
@@ -0,0 +1,42 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/filalux_wings",
+ "texture": "betterend:block/filalux_wings",
+ "large": "betterend:block/filalux_wings_large"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 8, 0 ],
+ "to": [ 16, 8.001, 8 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 6, 0 ],
+ "to": [ 16, 6.001, 8 ],
+ "rotation": { "origin": [ 0, 6, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 10, 0 ],
+ "to": [ 16, 10.001, 16 ],
+ "rotation": { "origin": [ 0, 10, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#large" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#large" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/filalux_wings_bottom.json b/kubejs/assets/betterend/models/block/filalux_wings_bottom.json
new file mode 100644
index 000000000..9d2b6fb30
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/filalux_wings_bottom.json
@@ -0,0 +1,97 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/filalux_wings",
+ "texture": "betterend:block/filalux_wings"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY2",
+ "from": [ 9, 0, 0 ],
+ "to": [ 17, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ 13, 0, 0 ],
+ "to": [ 21, 0.001, 16 ],
+ "rotation": { "origin": [ 13, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ -1, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY2",
+ "from": [ -5, -0.001, 0 ],
+ "to": [ 3, 0, 16 ],
+ "rotation": { "origin": [ 3, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 17 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 0, 13 ],
+ "to": [ 16, 0.001, 21 ],
+ "rotation": { "origin": [ 0, 0, 13 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, -0.001, -1 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, -0.001, -5 ],
+ "to": [ 16, 0, 3 ],
+ "rotation": { "origin": [ 0, 0, 3 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/filalux_wings_top.json b/kubejs/assets/betterend/models/block/filalux_wings_top.json
new file mode 100644
index 000000000..829f573aa
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/filalux_wings_top.json
@@ -0,0 +1,77 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/filalux_wings_large",
+ "texture": "betterend:block/filalux_wings_large",
+ "top": "betterend:block/filalux_wings_top",
+ "side": "betterend:block/filalux_wings_top_side"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY9",
+ "from": [ -8, 0.125, -8 ],
+ "to": [ 24, 0.126, 24 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#top" }
+ }
+ },
+ {
+ "__comment": "PlaneY10",
+ "from": [ 10, 0, 0 ],
+ "to": [ 26, 0.001, 16 ],
+ "rotation": { "origin": [ 10, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY10",
+ "from": [ -10, -0.001, 0 ],
+ "to": [ 6, 0, 16 ],
+ "rotation": { "origin": [ 6, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY12",
+ "from": [ 0, 0, 10 ],
+ "to": [ 16, 0.001, 26 ],
+ "rotation": { "origin": [ 0, 0, 10 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY12",
+ "from": [ 0, -0.001, -10 ],
+ "to": [ 16, 0, 6 ],
+ "rotation": { "origin": [ 0, 0, 6 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box14",
+ "from": [ -0.5, -16, -0.5 ],
+ "to": [ 16.5, 0, 16.5 ],
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#side" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/flamaea_1.json b/kubejs/assets/betterend/models/block/flamaea_1.json
new file mode 100644
index 000000000..0b60ecaa2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flamaea_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/flamaea_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/flamaea_2.json b/kubejs/assets/betterend/models/block/flamaea_2.json
new file mode 100644
index 000000000..b1ec85bfb
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flamaea_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/flamaea_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/flamaea_3.json b/kubejs/assets/betterend/models/block/flamaea_3.json
new file mode 100644
index 000000000..fa3b36f27
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flamaea_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/flamaea_3"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/flamaea_4.json b/kubejs/assets/betterend/models/block/flamaea_4.json
new file mode 100644
index 000000000..5e53c8989
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flamaea_4.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/flamaea_4"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/flamaea_5.json b/kubejs/assets/betterend/models/block/flamaea_5.json
new file mode 100644
index 000000000..1cbbe60c9
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flamaea_5.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/plane_bottom",
+ "textures": {
+ "texture": "betterend:block/flamaea_5"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/flammalix_1.json b/kubejs/assets/betterend/models/block/flammalix_1.json
new file mode 100644
index 000000000..990e7d6e6
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flammalix_1.json
@@ -0,0 +1,262 @@
+{
+ "credit": "Made with Blockbench",
+ "parent": "block/block",
+ "textures": {
+ "0": "betterend:block/flammalix",
+ "particle": "betterend:block/flammalix"
+ },
+ "elements": [
+ {
+ "name": "stem",
+ "from": [4, 0, 4],
+ "to": [5, 3, 5],
+ "faces": {
+ "north": {"uv": [14, 6, 15, 9], "texture": "#0"},
+ "east": {"uv": [14, 6, 15, 9], "texture": "#0"},
+ "south": {"uv": [14, 6, 15, 9], "texture": "#0"},
+ "west": {"uv": [14, 6, 15, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [2, 3, 2],
+ "to": [7, 7, 7],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [7, 3, 2],
+ "to": [2, 7, 7],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [3, 4, 3],
+ "to": [6, 7, 6],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [3, 2, 3],
+ "to": [6, 3, 6],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_thick",
+ "from": [10.5, 0, 5.5],
+ "to": [12.5, 2, 7.5],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 8], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 8], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [11, 2, 6],
+ "to": [12, 5, 7],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 7], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [9, 3, 4],
+ "to": [14, 7, 9],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [14, 3, 4],
+ "to": [9, 7, 9],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [10, 5, 5],
+ "to": [13, 8, 8],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [10, 2, 5],
+ "to": [13, 3, 8],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_thick",
+ "from": [6, 0, 12],
+ "to": [8, 3, 14],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 9], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 9], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 9], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [6.5, 4, 12.5],
+ "to": [7.5, 9, 13.5],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 9], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 9], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 9], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [4, 4, 10],
+ "to": [10, 8, 16],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "east": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "south": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "west": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "down": {"uv": [0, 10, 6, 16], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [10, 4, 10],
+ "to": [4, 8, 16],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "east": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "south": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "west": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "down": {"uv": [0, 10, 6, 16], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [5.5, 8, 11.5],
+ "to": [8.5, 12, 14.5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bottom",
+ "from": [5, 3, 11],
+ "to": [9, 4, 15],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "east": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "south": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "west": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "down": {"uv": [1, 11, 5, 15], "texture": "#0"}
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "small",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [0,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [1, 2]
+ }, 3, 4]
+ },
+ {
+ "name": "medium",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [5, 6,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [7, 8]
+ }, 9, 10]
+ },
+ {
+ "name": "large",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [11, 12,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [13, 14]
+ }, 15, 16]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/flammalix_2.json b/kubejs/assets/betterend/models/block/flammalix_2.json
new file mode 100644
index 000000000..efb49fc3c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flammalix_2.json
@@ -0,0 +1,186 @@
+{
+ "credit": "Made with Blockbench",
+ "parent": "block/block",
+ "textures": {
+ "0": "betterend:block/flammalix",
+ "particle": "betterend:block/flammalix"
+ },
+ "elements": [
+ {
+ "name": "stem_thick",
+ "from": [9.5, 0, 2.5],
+ "to": [11.5, 2, 4.5],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 8], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 8], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [10, 2, 3],
+ "to": [11, 5, 4],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 7], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [8, 3, 1],
+ "to": [13, 7, 6],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [13, 3, 1],
+ "to": [8, 7, 6],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [9, 5, 2],
+ "to": [12, 8, 5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [9, 2, 2],
+ "to": [12, 3, 5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_thick",
+ "from": [4, 0, 10],
+ "to": [6, 3, 12],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 9], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 9], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 9], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [4.5, 4, 10.5],
+ "to": [5.5, 9, 11.5],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 9], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 9], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 9], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [2, 4, 8],
+ "to": [8, 8, 14],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "east": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "south": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "west": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "down": {"uv": [0, 10, 6, 16], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [8, 4, 8],
+ "to": [2, 8, 14],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "east": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "south": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "west": {"uv": [6, 0, 12, 4], "texture": "#0"},
+ "down": {"uv": [0, 10, 6, 16], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [3.5, 8, 9.5],
+ "to": [6.5, 12, 12.5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 4], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bottom",
+ "from": [3, 3, 9],
+ "to": [7, 4, 13],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "east": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "south": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "west": {"uv": [7, 4, 11, 5], "texture": "#0"},
+ "down": {"uv": [1, 11, 5, 15], "texture": "#0"}
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "medium",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [0, 1,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [2, 3]
+ }, 4, 5]
+ },
+ {
+ "name": "large",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [6, 7,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [8, 9]
+ }, 10, 11]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/flammalix_3.json b/kubejs/assets/betterend/models/block/flammalix_3.json
new file mode 100644
index 000000000..4be4def9c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flammalix_3.json
@@ -0,0 +1,175 @@
+{
+ "credit": "Made with Blockbench",
+ "parent": "block/block",
+ "textures": {
+ "0": "betterend:block/flammalix",
+ "particle": "betterend:block/flammalix"
+ },
+ "elements": [
+ {
+ "name": "stem",
+ "from": [4, 0, 4],
+ "to": [5, 3, 5],
+ "faces": {
+ "north": {"uv": [14, 6, 15, 9], "texture": "#0"},
+ "east": {"uv": [14, 6, 15, 9], "texture": "#0"},
+ "south": {"uv": [14, 6, 15, 9], "texture": "#0"},
+ "west": {"uv": [14, 6, 15, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [2, 3, 2],
+ "to": [7, 7, 7],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [7, 3, 2],
+ "to": [2, 7, 7],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [3, 4, 3],
+ "to": [6, 7, 6],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [3, 2, 3],
+ "to": [6, 3, 6],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_thick",
+ "from": [10.5, 0, 10.5],
+ "to": [12.5, 2, 12.5],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 8], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 8], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [11, 2, 11],
+ "to": [12, 5, 12],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 7], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [9, 3, 9],
+ "to": [14, 7, 14],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [14, 3, 9],
+ "to": [9, 7, 14],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [10, 5, 10],
+ "to": [13, 8, 13],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [10, 2, 10],
+ "to": [13, 3, 13],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "small",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [0,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [1, 2]
+ }, 3, 4]
+ },
+ {
+ "name": "medium",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [5, 6,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [7, 8]
+ }, 9, 10]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/flammalix_4.json b/kubejs/assets/betterend/models/block/flammalix_4.json
new file mode 100644
index 000000000..be931203a
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flammalix_4.json
@@ -0,0 +1,99 @@
+{
+ "credit": "Made with Blockbench",
+ "parent": "block/block",
+ "textures": {
+ "0": "betterend:block/flammalix",
+ "particle": "betterend:block/flammalix"
+ },
+ "elements": [
+ {
+ "name": "stem_thick",
+ "from": [7.5, 0, 8.5],
+ "to": [9.5, 2, 10.5],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 8], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 8], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [8, 2, 9],
+ "to": [9, 5, 10],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 7], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [6, 3, 7],
+ "to": [11, 7, 12],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [11, 3, 7],
+ "to": [6, 7, 12],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [7, 5, 8],
+ "to": [10, 8, 11],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [7, 2, 8],
+ "to": [10, 3, 11],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "medium",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [0, 1,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [2, 3]
+ }, 4, 5]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/flammalix_potted.json b/kubejs/assets/betterend/models/block/flammalix_potted.json
new file mode 100644
index 000000000..a0dbdec63
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/flammalix_potted.json
@@ -0,0 +1,99 @@
+{
+ "credit": "Made with Blockbench",
+ "parent": "block/block",
+ "textures": {
+ "0": "betterend:block/flammalix",
+ "particle": "betterend:block/flammalix"
+ },
+ "elements": [
+ {
+ "name": "stem_thick",
+ "from": [7, 0, 7],
+ "to": [9, 2, 9],
+ "faces": {
+ "north": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "east": {"uv": [7, 6, 9, 8], "texture": "#0"},
+ "south": {"uv": [6, 6, 8, 8], "texture": "#0"},
+ "west": {"uv": [7, 6, 9, 8], "texture": "#0"}
+ }
+ },
+ {
+ "name": "stem_upper",
+ "from": [7.5, 2, 7.5],
+ "to": [8.5, 5, 8.5],
+ "faces": {
+ "north": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "east": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "south": {"uv": [14, 4, 15, 7], "texture": "#0"},
+ "west": {"uv": [14, 4, 15, 7], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_outside",
+ "from": [5.5, 3, 5.5],
+ "to": [10.5, 7, 10.5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "cap_inside",
+ "from": [10.5, 3, 5.5],
+ "to": [5.5, 7, 10.5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "east": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "south": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "west": {"uv": [0, 0, 5, 4], "texture": "#0"},
+ "down": {"uv": [0, 5, 5, 10], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [6.5, 5, 6.5],
+ "to": [9.5, 8, 9.5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "east": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "south": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "west": {"uv": [13, 0, 16, 3], "texture": "#0"},
+ "up": {"uv": [1, 6, 4, 9], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ },
+ {
+ "name": "bulb",
+ "from": [6.5, 2, 6.5],
+ "to": [9.5, 3, 9.5],
+ "shade": false,
+ "faces": {
+ "north": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "east": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "south": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "west": {"uv": [1, 4, 4, 5], "texture": "#0"},
+ "down": {"uv": [1, 6, 4, 9], "texture": "#0"}
+ }
+ }
+ ],
+ "groups": [
+ {
+ "name": "medium",
+ "origin": [0, 0, 0],
+ "color": 0,
+ "children": [0, 1,
+ {
+ "name": "cap",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [2, 3]
+ }, 4, 5]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/globulagus_01.json b/kubejs/assets/betterend/models/block/globulagus_01.json
new file mode 100644
index 000000000..0211118ab
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/globulagus_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/globulagus"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/globulagus_02.json b/kubejs/assets/betterend/models/block/globulagus_02.json
new file mode 100644
index 000000000..e19e91143
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/globulagus_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/globulagus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/globulagus_03.json b/kubejs/assets/betterend/models/block/globulagus_03.json
new file mode 100644
index 000000000..b35b2db5c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/globulagus_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/globulagus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/globulagus_04.json b/kubejs/assets/betterend/models/block/globulagus_04.json
new file mode 100644
index 000000000..2a1cbca65
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/globulagus_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/globulagus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_leaves_01.json b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_01.json
new file mode 100644
index 000000000..1a17f182f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_01.json
@@ -0,0 +1,97 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_leaves",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 17, 11.001, 16 ],
+ "rotation": { "origin": [ 1, 11, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, -10, 0 ],
+ "to": [ 17, 6, 0.001 ],
+ "rotation": { "origin": [ 1, 6, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, 13.5, 0 ],
+ "to": [ 13, 13.501, 16 ],
+ "rotation": { "origin": [ -3, 13.5, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 1, 0 ],
+ "to": [ 17, 1.001, 16 ],
+ "rotation": { "origin": [ 1, 1, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, -9, 0 ],
+ "to": [ 15, 7, 0.001 ],
+ "rotation": { "origin": [ -1, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1.5, 16, 0 ],
+ "to": [ 14.5, 16.001, 16 ],
+ "rotation": { "origin": [ -1.5, 16, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, 0.5, 0 ],
+ "to": [ 14, 0.501, 16 ],
+ "rotation": { "origin": [ -2, 0.5, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_leaves_02.json b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_02.json
new file mode 100644
index 000000000..9dcc9dbaf
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_02.json
@@ -0,0 +1,64 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_leaves",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -15, 0 ],
+ "to": [ 16, 1, 0.001 ],
+ "rotation": { "origin": [ 0, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, -12, 0 ],
+ "to": [ 14, 4, 0.001 ],
+ "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -9, 0 ],
+ "to": [ 16, 7, 0.001 ],
+ "rotation": { "origin": [ 0, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -3, 0 ],
+ "to": [ 16, 13, 0.001 ],
+ "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_leaves_03.json b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_03.json
new file mode 100644
index 000000000..64c53a441
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_03.json
@@ -0,0 +1,64 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_leaves",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, 0, 0 ],
+ "to": [ 15, 16, 0.001 ],
+ "rotation": { "origin": [ -1, 16, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 2, -3, 0 ],
+ "to": [ 18, 13, 0.001 ],
+ "rotation": { "origin": [ 2, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -8, 0 ],
+ "to": [ 16, 8, 0.001 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, -12, 0 ],
+ "to": [ 13, 4, 0.001 ],
+ "rotation": { "origin": [ -3, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, -15, 0 ],
+ "to": [ 19, 1, 0.001 ],
+ "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_leaves_up.json b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_up.json
new file mode 100644
index 000000000..c9db298b0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_leaves_up.json
@@ -0,0 +1,120 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/glowing_pillar_leaves",
+ "texture": "betterend:block/glowing_pillar_leaves",
+ "spore": "betterend:block/glowing_pillar_leaves"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -0.001, -10 ],
+ "to": [ 16, 0, 6 ],
+ "rotation": { "origin": [ 0, 0, 6 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 10 ],
+ "to": [ 16, 0.001, 26 ],
+ "rotation": { "origin": [ 0, 0, 10 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 10, -0.001, 0 ],
+ "to": [ 26, 0, 16 ],
+ "rotation": { "origin": [ 10, 0, 16 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -10, 0, 2 ],
+ "to": [ 6, 0.001, 18 ],
+ "rotation": { "origin": [ 6, 0, 18 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ 0, 0, -6.5 ],
+ "to": [ 0.001, 16, 16 ],
+ "rotation": { "origin": [ 0, 16, 16 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ -6.5, 0, 15.999 ],
+ "to": [ 16, 16, 16 ],
+ "rotation": { "origin": [ 16, 16, 16 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 9, -0.001, 0 ],
+ "to": [ 25, 0, 16 ],
+ "rotation": { "origin": [ 9, 0, 16 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 16, 16, 0, 0 ], "texture": "#texture", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -9, 0, 2 ],
+ "to": [ 7, 0.001, 18 ],
+ "rotation": { "origin": [ 7, 0, 18 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_luminophor.json b/kubejs/assets/betterend/models/block/glowing_pillar_luminophor.json
new file mode 100644
index 000000000..d3a297b17
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_luminophor.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cube_noshade",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_luminophor"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_roots_both.json b/kubejs/assets/betterend/models/block/glowing_pillar_roots_both.json
new file mode 100644
index 000000000..de8fd0b61
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_roots_both.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_roots_both"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_roots_bottom.json b/kubejs/assets/betterend/models/block/glowing_pillar_roots_bottom.json
new file mode 100644
index 000000000..322dcd3b2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_roots_bottom.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_roots_bottom"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_roots_top.json b/kubejs/assets/betterend/models/block/glowing_pillar_roots_top.json
new file mode 100644
index 000000000..37096351b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_roots_top.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_roots_top"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_seed_0.json b/kubejs/assets/betterend/models/block/glowing_pillar_seed_0.json
new file mode 100644
index 000000000..f93222a7f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_seed_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_seed_1.json b/kubejs/assets/betterend/models/block/glowing_pillar_seed_1.json
new file mode 100644
index 000000000..79bd1655b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_seed_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_seed_2.json b/kubejs/assets/betterend/models/block/glowing_pillar_seed_2.json
new file mode 100644
index 000000000..ff57598b8
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_seed_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/glowing_pillar_seed_3.json b/kubejs/assets/betterend/models/block/glowing_pillar_seed_3.json
new file mode 100644
index 000000000..25c21b43c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/glowing_pillar_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/glowing_pillar_seed_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_flower_big_1_bottom.json b/kubejs/assets/betterend/models/block/hydralux_flower_big_1_bottom.json
new file mode 100644
index 000000000..992b96acb
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_flower_big_1_bottom.json
@@ -0,0 +1,105 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_flower_bottom",
+ "texture": "betterend:block/hydralux_flower_bottom",
+ "petal_bottom": "betterend:block/hydralux_bloom_bottom",
+ "petal_side": "betterend:block/hydralux_flower_bud_petal_side",
+ "petal": "betterend:block/hydralux_flower_petal",
+ "top": "betterend:block/hydralux_bloom_top"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 6, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 6, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box3",
+ "from": [ 4, 6, 4 ],
+ "to": [ 12, 8, 12 ],
+ "faces": {
+ "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#petal_bottom" },
+ "north": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 3, 8, 3 ],
+ "to": [ 13, 16, 13 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#petal_bottom" },
+ "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#top" },
+ "north": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 16, 13 ],
+ "to": [ 16, 16.001, 29 ],
+ "rotation": { "origin": [ 0, 16, 13 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 0, 3 ],
+ "to": [ 16, 16, 3.001 ],
+ "rotation": { "origin": [ 0, 16, 3 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#petal" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY7",
+ "from": [ 13, 16, 0 ],
+ "to": [ 29, 16.001, 16 ],
+ "rotation": { "origin": [ 13, 16, 0 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 90 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY7",
+ "from": [ 3, 0, 0 ],
+ "to": [ 3.001, 16, 16 ],
+ "rotation": { "origin": [ 3, 16, 0 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 16, 0, 0 ], "texture": "#petal" },
+ "east": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_flower_big_2_bottom.json b/kubejs/assets/betterend/models/block/hydralux_flower_big_2_bottom.json
new file mode 100644
index 000000000..3fdfdafe7
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_flower_big_2_bottom.json
@@ -0,0 +1,101 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_flower_bottom",
+ "texture": "betterend:block/hydralux_flower_bottom",
+ "petal_bottom": "betterend:block/hydralux_bloom_bottom",
+ "petal_side": "betterend:block/hydralux_flower_bud_petal_side",
+ "petal": "betterend:block/hydralux_flower_petal",
+ "top": "betterend:block/hydralux_bloom_top"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 6, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 6, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box3",
+ "from": [ 4, 6, 4 ],
+ "to": [ 12, 8, 12 ],
+ "faces": {
+ "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#petal_bottom" },
+ "north": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 3, 8, 3 ],
+ "to": [ 13, 16, 13 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#petal_bottom" },
+ "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#top" },
+ "north": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 16, 13 ],
+ "to": [ 16, 16.001, 29 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 15.9989, -13 ],
+ "to": [ 16, 15.9999, 3 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" }
+ }
+ },
+ {
+ "__comment": "PlaneY7",
+ "from": [ 13, 16, 0 ],
+ "to": [ 29, 16.001, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 90 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY7",
+ "from": [ -13, 15.9989, 0 ],
+ "to": [ 3, 15.9999, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_flower_big_3_bottom.json b/kubejs/assets/betterend/models/block/hydralux_flower_big_3_bottom.json
new file mode 100644
index 000000000..d7b1b2f32
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_flower_big_3_bottom.json
@@ -0,0 +1,105 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_flower_bottom",
+ "texture": "betterend:block/hydralux_flower_bottom",
+ "petal_bottom": "betterend:block/hydralux_bloom_bottom",
+ "petal_side": "betterend:block/hydralux_flower_bud_petal_side",
+ "petal": "betterend:block/hydralux_flower_petal",
+ "top": "betterend:block/hydralux_bloom_top"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 6, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 6, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box3",
+ "from": [ 4, 6, 4 ],
+ "to": [ 12, 8, 12 ],
+ "faces": {
+ "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#petal_bottom" },
+ "north": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 3, 8, 3 ],
+ "to": [ 13, 16, 13 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#petal_bottom" },
+ "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#top" },
+ "north": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 16, 13 ],
+ "to": [ 16, 16.001, 29 ],
+ "rotation": { "origin": [ 0, 16, 13 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY5",
+ "from": [ 0, 15.9989, -13 ],
+ "to": [ 16, 15.9999, 3 ],
+ "rotation": { "origin": [ 0, 16, 3 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal" }
+ }
+ },
+ {
+ "__comment": "PlaneY7",
+ "from": [ 13, 16, 0 ],
+ "to": [ 29, 16.001, 16 ],
+ "rotation": { "origin": [ 13, 16, 0 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 90 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY7",
+ "from": [ -13, 15.9989, 0 ],
+ "to": [ 3, 15.9999, 16 ],
+ "rotation": { "origin": [ 3, 16, 0 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#petal", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#petal", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_flower_big_top.json b/kubejs/assets/betterend/models/block/hydralux_flower_big_top.json
new file mode 100644
index 000000000..4e15b8369
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_flower_big_top.json
@@ -0,0 +1,43 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_flower_bud",
+ "texture": "betterend:block/hydralux_flower_bud"
+ },
+ "elements": [
+ {
+ "__comment": "Box3",
+ "from": [ 5, 0, 5 ],
+ "to": [ 11, 2, 11 ],
+ "faces": {
+ "up": { "uv": [ 1, 1, 7, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 5.5, 2, 5.5 ],
+ "to": [ 5.501, 10, 13.5 ],
+ "rotation": { "origin": [ 5.5, 3, 5.5 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 8, 8, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 8, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 10.5, 2, 5.5 ],
+ "to": [ 10.501, 10, 13.5 ],
+ "rotation": { "origin": [ 10.5, 3, 5.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 8, 8, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 8, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_flower_small_bottom.json b/kubejs/assets/betterend/models/block/hydralux_flower_small_bottom.json
new file mode 100644
index 000000000..55a894c43
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_flower_small_bottom.json
@@ -0,0 +1,58 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_flower_bottom",
+ "texture": "betterend:block/hydralux_flower_bottom",
+ "petal_bottom": "betterend:block/hydralux_flower_bud_petal_bottom",
+ "petal_side": "betterend:block/hydralux_flower_bud_petal_side"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 6, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 6, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 9, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box3",
+ "from": [ 4, 6, 4 ],
+ "to": [ 12, 8, 12 ],
+ "faces": {
+ "down": { "uv": [ 4, 4, 12, 12 ], "texture": "#petal_bottom" },
+ "north": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 8, 12, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box4",
+ "from": [ 3, 8, 3 ],
+ "to": [ 13, 16, 13 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 3, 3, 13, 13 ], "texture": "#petal_bottom" },
+ "north": { "uv": [ 3, 8, 13, 16 ], "texture": "#petal_side" },
+ "south": { "uv": [ 3, 8, 13, 16 ], "texture": "#petal_side" },
+ "west": { "uv": [ 3, 8, 13, 16 ], "texture": "#petal_side" },
+ "east": { "uv": [ 3, 8, 13, 16 ], "texture": "#petal_side" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_flower_small_top.json b/kubejs/assets/betterend/models/block/hydralux_flower_small_top.json
new file mode 100644
index 000000000..68be2bc37
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_flower_small_top.json
@@ -0,0 +1,23 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_flower_bud_petal_side",
+ "texture": "betterend:block/hydralux_flower_bud_petal_side",
+ "petal_top": "betterend:block/hydralux_flower_bud_petal_top"
+ },
+ "elements": [
+ {
+ "__comment": "Box4",
+ "from": [ 3, 0, 3 ],
+ "to": [ 13, 8, 13 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#petal_top" },
+ "north": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 0, 13, 8 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_roots.json b/kubejs/assets/betterend/models/block/hydralux_roots.json
new file mode 100644
index 000000000..225608277
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_roots.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/hydralux_vine_bottom",
+ "texture": "betterend:block/hydralux_vine_bottom"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX1",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX1",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_1.json b/kubejs/assets/betterend/models/block/hydralux_sapling_1.json
new file mode 100644
index 000000000..c433371b8
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_sapling_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/hydralux_sapling_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_2.json b/kubejs/assets/betterend/models/block/hydralux_sapling_2.json
new file mode 100644
index 000000000..8b3416b43
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_sapling_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/hydralux_sapling_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_3.json b/kubejs/assets/betterend/models/block/hydralux_sapling_3.json
new file mode 100644
index 000000000..b584afc83
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_sapling_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/hydralux_sapling_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_sapling_4.json b/kubejs/assets/betterend/models/block/hydralux_sapling_4.json
new file mode 100644
index 000000000..29d0571ea
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_sapling_4.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/hydralux_sapling_4"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/hydralux_vine.json b/kubejs/assets/betterend/models/block/hydralux_vine.json
new file mode 100644
index 000000000..ad34df156
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/hydralux_vine.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/hydralux_vine"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_1.json b/kubejs/assets/betterend/models/block/jungle_fern_1.json
new file mode 100644
index 000000000..5410c746a
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_1.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf",
+ "texture": "betterend:block/jungle_fern_leaf",
+ "spore": "betterend:block/jungle_fern_spore",
+ "texture1": "betterend:block/jungle_fern_middle"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 8, 0 ],
+ "to": [ 16, 8.001, 8 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 7.875, -7 ],
+ "to": [ 16, 7.876, 9 ],
+ "rotation": { "origin": [ 8, 7.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 7.874, -7 ],
+ "to": [ 8, 7.875, 9 ],
+ "rotation": { "origin": [ 8, 7.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 11, 7.375 ],
+ "to": [ 16, 11.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 10.875, -7 ],
+ "to": [ 23.25, 10.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 10.875, -7 ],
+ "to": [ 0.75, 10.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -5, 0 ],
+ "to": [ 8.001, 11, 16 ],
+ "rotation": { "origin": [ 8, -5, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -5, 0 ],
+ "to": [ 8.001, 11, 16 ],
+ "rotation": { "origin": [ 8, -5, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 8, -10 ],
+ "to": [ 24.5, 8.001, 6 ],
+ "rotation": { "origin": [ 24.5, 8, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 7.625, 1.5 ],
+ "to": [ 2.9999, 7.626, 17.5 ],
+ "rotation": { "origin": [ 3, 7.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 8, 0.5 ],
+ "to": [ 16, 24, 0.501 ],
+ "rotation": { "origin": [ 0, 8, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_2.json b/kubejs/assets/betterend/models/block/jungle_fern_2.json
new file mode 100644
index 000000000..ebba05a93
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_2.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf",
+ "texture": "betterend:block/jungle_fern_leaf",
+ "spore": "betterend:block/jungle_fern_spore",
+ "texture1": "betterend:block/jungle_fern_middle"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 11, 0 ],
+ "to": [ 16, 11.001, 8 ],
+ "rotation": { "origin": [ 0, 11, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 10.875, -7 ],
+ "to": [ 16, 10.876, 9 ],
+ "rotation": { "origin": [ 8, 10.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 10.874, -7 ],
+ "to": [ 8, 10.875, 9 ],
+ "rotation": { "origin": [ 8, 10.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 14, 7.375 ],
+ "to": [ 16, 14.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 13.875, -7 ],
+ "to": [ 23.25, 13.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 13.875, -7 ],
+ "to": [ 0.75, 13.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -2, 0 ],
+ "to": [ 8.001, 14, 16 ],
+ "rotation": { "origin": [ 8, -2, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -2, 0 ],
+ "to": [ 8.001, 14, 16 ],
+ "rotation": { "origin": [ 8, -2, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 11, -10 ],
+ "to": [ 24.5, 11.001, 6 ],
+ "rotation": { "origin": [ 24.5, 11, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 10.625, 1.5 ],
+ "to": [ 2.9999, 10.626, 17.5 ],
+ "rotation": { "origin": [ 3, 10.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 11, 0.5 ],
+ "to": [ 16, 27, 0.501 ],
+ "rotation": { "origin": [ 0, 11, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_3.json b/kubejs/assets/betterend/models/block/jungle_fern_3.json
new file mode 100644
index 000000000..6af45852b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_3.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf",
+ "texture": "betterend:block/jungle_fern_leaf",
+ "spore": "betterend:block/jungle_fern_spore",
+ "texture1": "betterend:block/jungle_fern_middle"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 4, 0 ],
+ "to": [ 16, 4.001, 8 ],
+ "rotation": { "origin": [ 0, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 3.875, -7 ],
+ "to": [ 16, 3.876, 9 ],
+ "rotation": { "origin": [ 8, 3.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 3.874, -7 ],
+ "to": [ 8, 3.875, 9 ],
+ "rotation": { "origin": [ 8, 3.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 7, 7.375 ],
+ "to": [ 16, 7.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 6.875, -7 ],
+ "to": [ 23.25, 6.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 6.875, -7 ],
+ "to": [ 0.75, 6.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -9, 0 ],
+ "to": [ 8.001, 7, 16 ],
+ "rotation": { "origin": [ 8, -9, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -9, 0 ],
+ "to": [ 8.001, 7, 16 ],
+ "rotation": { "origin": [ 8, -9, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 4, -10 ],
+ "to": [ 24.5, 4.001, 6 ],
+ "rotation": { "origin": [ 24.5, 4, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 3.625, 1.5 ],
+ "to": [ 2.9999, 3.626, 17.5 ],
+ "rotation": { "origin": [ 3, 3.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 4, 0.5 ],
+ "to": [ 16, 20, 0.501 ],
+ "rotation": { "origin": [ 0, 4, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_4.json b/kubejs/assets/betterend/models/block/jungle_fern_4.json
new file mode 100644
index 000000000..c2f881217
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_4.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf_2",
+ "texture": "betterend:block/jungle_fern_leaf_2",
+ "spore": "betterend:block/jungle_fern_spore_2",
+ "texture1": "betterend:block/jungle_fern_middle_2"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 8, 0 ],
+ "to": [ 16, 8.001, 8 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 7.875, -7 ],
+ "to": [ 16, 7.876, 9 ],
+ "rotation": { "origin": [ 8, 7.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 7.874, -7 ],
+ "to": [ 8, 7.875, 9 ],
+ "rotation": { "origin": [ 8, 7.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 11, 7.375 ],
+ "to": [ 16, 11.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 10.875, -7 ],
+ "to": [ 23.25, 10.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 10.875, -7 ],
+ "to": [ 0.75, 10.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -5, 0 ],
+ "to": [ 8.001, 11, 16 ],
+ "rotation": { "origin": [ 8, -5, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -5, 0 ],
+ "to": [ 8.001, 11, 16 ],
+ "rotation": { "origin": [ 8, -5, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 8, -10 ],
+ "to": [ 24.5, 8.001, 6 ],
+ "rotation": { "origin": [ 24.5, 8, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 7.625, 1.5 ],
+ "to": [ 2.9999, 7.626, 17.5 ],
+ "rotation": { "origin": [ 3, 7.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 8, 0.5 ],
+ "to": [ 16, 24, 0.501 ],
+ "rotation": { "origin": [ 0, 8, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_5.json b/kubejs/assets/betterend/models/block/jungle_fern_5.json
new file mode 100644
index 000000000..bb2df430f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_5.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf_2",
+ "texture": "betterend:block/jungle_fern_leaf_2",
+ "spore": "betterend:block/jungle_fern_spore_2",
+ "texture1": "betterend:block/jungle_fern_middle_2"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 11, 0 ],
+ "to": [ 16, 11.001, 8 ],
+ "rotation": { "origin": [ 0, 11, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 10.875, -7 ],
+ "to": [ 16, 10.876, 9 ],
+ "rotation": { "origin": [ 8, 10.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 10.874, -7 ],
+ "to": [ 8, 10.875, 9 ],
+ "rotation": { "origin": [ 8, 10.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 14, 7.375 ],
+ "to": [ 16, 14.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 13.875, -7 ],
+ "to": [ 23.25, 13.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 13.875, -7 ],
+ "to": [ 0.75, 13.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -2, 0 ],
+ "to": [ 8.001, 14, 16 ],
+ "rotation": { "origin": [ 8, -2, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -2, 0 ],
+ "to": [ 8.001, 14, 16 ],
+ "rotation": { "origin": [ 8, -2, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 11, -10 ],
+ "to": [ 24.5, 11.001, 6 ],
+ "rotation": { "origin": [ 24.5, 11, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 10.625, 1.5 ],
+ "to": [ 2.9999, 10.626, 17.5 ],
+ "rotation": { "origin": [ 3, 10.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 11, 0.5 ],
+ "to": [ 16, 27, 0.501 ],
+ "rotation": { "origin": [ 0, 11, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_6.json b/kubejs/assets/betterend/models/block/jungle_fern_6.json
new file mode 100644
index 000000000..aa658bf83
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_6.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf_2",
+ "texture": "betterend:block/jungle_fern_leaf_2",
+ "spore": "betterend:block/jungle_fern_spore_2",
+ "texture1": "betterend:block/jungle_fern_middle_2"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 4, 0 ],
+ "to": [ 16, 4.001, 8 ],
+ "rotation": { "origin": [ 0, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 3.875, -7 ],
+ "to": [ 16, 3.876, 9 ],
+ "rotation": { "origin": [ 8, 3.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 3.874, -7 ],
+ "to": [ 8, 3.875, 9 ],
+ "rotation": { "origin": [ 8, 3.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 7, 7.375 ],
+ "to": [ 16, 7.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 6.875, -7 ],
+ "to": [ 23.25, 6.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 6.875, -7 ],
+ "to": [ 0.75, 6.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -9, 0 ],
+ "to": [ 8.001, 7, 16 ],
+ "rotation": { "origin": [ 8, -9, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -9, 0 ],
+ "to": [ 8.001, 7, 16 ],
+ "rotation": { "origin": [ 8, -9, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 4, -10 ],
+ "to": [ 24.5, 4.001, 6 ],
+ "rotation": { "origin": [ 24.5, 4, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 3.625, 1.5 ],
+ "to": [ 2.9999, 3.626, 17.5 ],
+ "rotation": { "origin": [ 3, 3.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 4, 0.5 ],
+ "to": [ 16, 20, 0.501 ],
+ "rotation": { "origin": [ 0, 4, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_7.json b/kubejs/assets/betterend/models/block/jungle_fern_7.json
new file mode 100644
index 000000000..c6c4c4322
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_7.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf_3",
+ "texture": "betterend:block/jungle_fern_leaf_3",
+ "spore": "betterend:block/jungle_fern_spore_3",
+ "texture1": "betterend:block/jungle_fern_middle_3"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 8, 0 ],
+ "to": [ 16, 8.001, 8 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 7.875, -7 ],
+ "to": [ 16, 7.876, 9 ],
+ "rotation": { "origin": [ 8, 7.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 7.874, -7 ],
+ "to": [ 8, 7.875, 9 ],
+ "rotation": { "origin": [ 8, 7.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 11, 7.375 ],
+ "to": [ 16, 11.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 10.875, -7 ],
+ "to": [ 23.25, 10.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 10.875, -7 ],
+ "to": [ 0.75, 10.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -5, 0 ],
+ "to": [ 8.001, 11, 16 ],
+ "rotation": { "origin": [ 8, -5, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -5, 0 ],
+ "to": [ 8.001, 11, 16 ],
+ "rotation": { "origin": [ 8, -5, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 8, -10 ],
+ "to": [ 24.5, 8.001, 6 ],
+ "rotation": { "origin": [ 24.5, 8, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 7.625, 1.5 ],
+ "to": [ 2.9999, 7.626, 17.5 ],
+ "rotation": { "origin": [ 3, 7.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 8, 0.5 ],
+ "to": [ 16, 24, 0.501 ],
+ "rotation": { "origin": [ 0, 8, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_8.json b/kubejs/assets/betterend/models/block/jungle_fern_8.json
new file mode 100644
index 000000000..40c88af8c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_8.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf_3",
+ "texture": "betterend:block/jungle_fern_leaf_3",
+ "spore": "betterend:block/jungle_fern_spore_3",
+ "texture1": "betterend:block/jungle_fern_middle_3"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 11, 0 ],
+ "to": [ 16, 11.001, 8 ],
+ "rotation": { "origin": [ 0, 11, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 10.875, -7 ],
+ "to": [ 16, 10.876, 9 ],
+ "rotation": { "origin": [ 8, 10.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 10.874, -7 ],
+ "to": [ 8, 10.875, 9 ],
+ "rotation": { "origin": [ 8, 10.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 14, 7.375 ],
+ "to": [ 16, 14.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 13.875, -7 ],
+ "to": [ 23.25, 13.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 13.875, -7 ],
+ "to": [ 0.75, 13.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -2, 0 ],
+ "to": [ 8.001, 14, 16 ],
+ "rotation": { "origin": [ 8, -2, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -2, 0 ],
+ "to": [ 8.001, 14, 16 ],
+ "rotation": { "origin": [ 8, -2, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 11, -10 ],
+ "to": [ 24.5, 11.001, 6 ],
+ "rotation": { "origin": [ 24.5, 11, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 10.625, 1.5 ],
+ "to": [ 2.9999, 10.626, 17.5 ],
+ "rotation": { "origin": [ 3, 10.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 11, 0.5 ],
+ "to": [ 16, 27, 0.501 ],
+ "rotation": { "origin": [ 0, 11, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_fern_9.json b/kubejs/assets/betterend/models/block/jungle_fern_9.json
new file mode 100644
index 000000000..26fe48321
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_fern_9.json
@@ -0,0 +1,129 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/jungle_fern_leaf_3",
+ "texture": "betterend:block/jungle_fern_leaf_3",
+ "spore": "betterend:block/jungle_fern_spore_3",
+ "texture1": "betterend:block/jungle_fern_middle_3"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY3",
+ "from": [ 0, 4, 0 ],
+ "to": [ 16, 4.001, 8 ],
+ "rotation": { "origin": [ 0, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 8, 3.875, -7 ],
+ "to": [ 16, 3.876, 9 ],
+ "rotation": { "origin": [ 8, 3.875, -7 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY6",
+ "from": [ 0, 3.874, -7 ],
+ "to": [ 8, 3.875, 9 ],
+ "rotation": { "origin": [ 8, 3.875, -7 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 16, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 16, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY8",
+ "from": [ 0, 7, 7.375 ],
+ "to": [ 16, 7.001, 15.375 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 16, 8, 0, 0 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 15.25, 6.875, -7 ],
+ "to": [ 23.25, 6.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 8 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 8 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -7.25, 6.875, -7 ],
+ "to": [ 0.75, 6.876, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 0 ], "texture": "#texture", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -9, 0 ],
+ "to": [ 8.001, 7, 16 ],
+ "rotation": { "origin": [ 8, -9, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX11",
+ "from": [ 8, -9, 0 ],
+ "to": [ 8.001, 7, 16 ],
+ "rotation": { "origin": [ 8, -9, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 16, 0, 0, 16 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ 8.5, 4, -10 ],
+ "to": [ 24.5, 4.001, 6 ],
+ "rotation": { "origin": [ 24.5, 4, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY9",
+ "from": [ -13.0001, 3.625, 1.5 ],
+ "to": [ 2.9999, 3.626, 17.5 ],
+ "rotation": { "origin": [ 3, 3.625, 17.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneZ12",
+ "from": [ 0, 4, 0.5 ],
+ "to": [ 16, 20, 0.501 ],
+ "rotation": { "origin": [ 0, 4, 0.5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture1" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/jungle_grass_potted.json b/kubejs/assets/betterend/models/block/jungle_grass_potted.json
new file mode 100644
index 000000000..ad6ab68f3
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_grass_potted.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/jungle_grass_potted"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/jungle_vine_bottom.json b/kubejs/assets/betterend/models/block/jungle_vine_bottom.json
new file mode 100644
index 000000000..f354ba348
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_vine_bottom.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/jungle_vine_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/jungle_vine_middle.json b/kubejs/assets/betterend/models/block/jungle_vine_middle.json
new file mode 100644
index 000000000..d776bf4d2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/jungle_vine_middle.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/jungle_vine"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/lamellarium_01.json b/kubejs/assets/betterend/models/block/lamellarium_01.json
new file mode 100644
index 000000000..d40c547d5
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lamellarium_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/lamellarium"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/lamellarium_02.json b/kubejs/assets/betterend/models/block/lamellarium_02.json
new file mode 100644
index 000000000..848a47bc2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lamellarium_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/lamellarium"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lamellarium_03.json b/kubejs/assets/betterend/models/block/lamellarium_03.json
new file mode 100644
index 000000000..04d487982
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lamellarium_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/lamellarium"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lamellarium_04.json b/kubejs/assets/betterend/models/block/lamellarium_04.json
new file mode 100644
index 000000000..285b09e42
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lamellarium_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/lamellarium"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_leaf_bottom.json b/kubejs/assets/betterend/models/block/lanceleaf_leaf_bottom.json
new file mode 100644
index 000000000..70a5dea27
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_leaf_bottom.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lanceleaf_stem",
+ "texture": "betterend:block/lanceleaf_stem"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX10",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX10",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_leaf_middle.json b/kubejs/assets/betterend/models/block/lanceleaf_leaf_middle.json
new file mode 100644
index 000000000..60b782146
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_leaf_middle.json
@@ -0,0 +1,20 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lanceleaf_leaf_middle",
+ "texture": "betterend:block/lanceleaf_leaf_middle"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX10",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_leaf_pre_bottom.json b/kubejs/assets/betterend/models/block/lanceleaf_leaf_pre_bottom.json
new file mode 100644
index 000000000..fd164a202
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_leaf_pre_bottom.json
@@ -0,0 +1,32 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lanceleaf_leaf_bottom",
+ "texture": "betterend:block/lanceleaf_stem_top",
+ "leaf": "betterend:block/lanceleaf_leaf_bottom"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX10",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf" }
+ }
+ },
+ {
+ "__comment": "PlaneX10",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_leaf_pre_top.json b/kubejs/assets/betterend/models/block/lanceleaf_leaf_pre_top.json
new file mode 100644
index 000000000..017de9c1f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_leaf_pre_top.json
@@ -0,0 +1,20 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lanceleaf_leaf_pre_top",
+ "texture": "betterend:block/lanceleaf_leaf_pre_top"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX10",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_leaf_top.json b/kubejs/assets/betterend/models/block/lanceleaf_leaf_top.json
new file mode 100644
index 000000000..6f09003ba
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_leaf_top.json
@@ -0,0 +1,20 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lanceleaf_leaf_top",
+ "texture": "betterend:block/lanceleaf_leaf_top"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX10",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_seed_0.json b/kubejs/assets/betterend/models/block/lanceleaf_seed_0.json
new file mode 100644
index 000000000..4ca789a35
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/lanceleaf_seed_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_seed_1.json b/kubejs/assets/betterend/models/block/lanceleaf_seed_1.json
new file mode 100644
index 000000000..342f6cbf6
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/lanceleaf_seed_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_seed_2.json b/kubejs/assets/betterend/models/block/lanceleaf_seed_2.json
new file mode 100644
index 000000000..10ca2a8a8
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/lanceleaf_seed_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_seed_3.json b/kubejs/assets/betterend/models/block/lanceleaf_seed_3.json
new file mode 100644
index 000000000..faae17be0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "texture": "betterend:block/lanceleaf_seed_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lanceleaf_stem.json b/kubejs/assets/betterend/models/block/lanceleaf_stem.json
new file mode 100644
index 000000000..70a5dea27
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lanceleaf_stem.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lanceleaf_stem",
+ "texture": "betterend:block/lanceleaf_stem"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX10",
+ "from": [ 2.375, 0, 2.25 ],
+ "to": [ 2.376, 16, 18.25 ],
+ "rotation": { "origin": [ 2.375, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX10",
+ "from": [ 13.75, 0, 2.25 ],
+ "to": [ 13.751, 16, 18.25 ],
+ "rotation": { "origin": [ 13.75, 0, 2.25 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/large_amaranita_cap.json b/kubejs/assets/betterend/models/block/large_amaranita_cap.json
new file mode 100644
index 000000000..e9211beec
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/large_amaranita_cap.json
@@ -0,0 +1,95 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/large_amaranita_cap_side",
+ "side": "betterend:block/large_amaranita_cap_side",
+ "top": "betterend:block/large_amaranita_cap_top",
+ "bottom": "betterend:block/large_amaranita_cap_bottom",
+ "stem": "betterend:block/amaranita_stem_top"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 1, 7, 1 ],
+ "to": [ 15, 14, 15 ],
+ "faces": {
+ "down": { "uv": [ 1, 1, 15, 15 ], "texture": "#bottom" },
+ "up": { "uv": [ 1, 1, 15, 15 ], "texture": "#top" },
+ "north": { "uv": [ 1, 2, 15, 9 ], "texture": "#side" },
+ "south": { "uv": [ 1, 2, 15, 9 ], "texture": "#side" },
+ "west": { "uv": [ 1, 2, 15, 9 ], "texture": "#side" },
+ "east": { "uv": [ 1, 2, 15, 9 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 3, 14, 3 ],
+ "to": [ 13, 16, 13 ],
+ "faces": {
+ "up": { "uv": [ 3, 3, 13, 13 ], "texture": "#top", "cullface": "up" },
+ "north": { "uv": [ 3, 0, 13, 2 ], "texture": "#side" },
+ "south": { "uv": [ 3, 0, 13, 2 ], "texture": "#side" },
+ "west": { "uv": [ 3, 0, 13, 2 ], "texture": "#side" },
+ "east": { "uv": [ 3, 0, 13, 2 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ 2, 3, 1 ],
+ "to": [ 2.001, 7, 15 ],
+ "faces": {
+ "west": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" },
+ "east": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneX6",
+ "from": [ 14, 3, 1 ],
+ "to": [ 14.001, 7, 15 ],
+ "faces": {
+ "west": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" },
+ "east": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneZ8",
+ "from": [ 1, 3, 2 ],
+ "to": [ 15, 7, 2.001 ],
+ "faces": {
+ "north": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" },
+ "south": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneZ8",
+ "from": [ 1, 3, 14 ],
+ "to": [ 15, 7, 14.001 ],
+ "faces": {
+ "north": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" },
+ "south": { "uv": [ 1, 9, 15, 13 ], "texture": "#side" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 2.25, 0, 2.25 ],
+ "to": [ 2.251, 16, 18.25 ],
+ "rotation": { "origin": [ 2.25, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 13.625, 0, 2.375 ],
+ "to": [ 13.626, 16, 18.375 ],
+ "rotation": { "origin": [ 13.625, 0, 2.375 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/large_amaranita_roots.json b/kubejs/assets/betterend/models/block/large_amaranita_roots.json
new file mode 100644
index 000000000..5702d0a31
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/large_amaranita_roots.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/amaranita_stem_roots",
+ "stem": "betterend:block/amaranita_stem_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX9",
+ "from": [ 2.25, 0, 2.25 ],
+ "to": [ 2.251, 16, 18.25 ],
+ "rotation": { "origin": [ 2.25, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 13.625, 0, 2.375 ],
+ "to": [ 13.626, 16, 18.375 ],
+ "rotation": { "origin": [ 13.625, 0, 2.375 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/large_amaranita_stem.json b/kubejs/assets/betterend/models/block/large_amaranita_stem.json
new file mode 100644
index 000000000..14929023d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/large_amaranita_stem.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/amaranita_stem_middle",
+ "stem": "betterend:block/amaranita_stem_middle"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX9",
+ "from": [ 2.25, 0, 2.25 ],
+ "to": [ 2.251, 16, 18.25 ],
+ "rotation": { "origin": [ 2.25, 0, 2.25 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ },
+ {
+ "__comment": "PlaneX9",
+ "from": [ 13.625, 0, 2.375 ],
+ "to": [ 13.626, 16, 18.375 ],
+ "rotation": { "origin": [ 13.625, 0, 2.375 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#stem" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecon_middle_big.json b/kubejs/assets/betterend/models/block/lumecon_middle_big.json
new file mode 100644
index 000000000..b51bf2d04
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecon_middle_big.json
@@ -0,0 +1,156 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lumecorn_bark",
+ "texture": "betterend:block/lumecorn_bark",
+ "leaf_2": "betterend:block/lumecorn_leaf_2",
+ "leaf_1": "betterend:block/lumecorn_leaf_1"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 5, 0, 5 ],
+ "to": [ 11, 16, 11 ],
+ "faces": {
+ "down": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "down" },
+ "up": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 14, 0 ],
+ "to": [ 27, 14.001, 16 ],
+ "rotation": { "origin": [ 11, 14, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 11, 15, 0 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -11, 13.999, 0 ],
+ "to": [ 5, 14, 16 ],
+ "rotation": { "origin": [ 5, 14, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -3, 14.999, 0 ],
+ "to": [ 5, 15, 16 ],
+ "rotation": { "origin": [ 5, 15, 0 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 270 },
+ "up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 14, 11 ],
+ "to": [ 16, 14.001, 27 ],
+ "rotation": { "origin": [ 0, 14, 11 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15, 10.999 ],
+ "to": [ 16, 23, 11 ],
+ "rotation": { "origin": [ 0, 15, 11 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
+ "south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 13.999, -11 ],
+ "to": [ 16, 14, 5 ],
+ "rotation": { "origin": [ 0, 14, 5 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15, 4.999 ],
+ "to": [ 16, 23, 5 ],
+ "rotation": { "origin": [ 0, 15, 5 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
+ "south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ 13, 14, -2.5 ],
+ "to": [ 21, 14.001, 5.5 ],
+ "rotation": { "origin": [ 13, 14, -2.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ 10.5, 14, 5 ],
+ "to": [ 18.5, 14.001, 13 ],
+ "rotation": { "origin": [ 18.5, 15, 13 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ -5, 14, 10.5 ],
+ "to": [ 3, 14.001, 18.5 ],
+ "rotation": { "origin": [ 3, 15, 18.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ -2.4999, 14, 3 ],
+ "to": [ 5.5001, 14.001, 11 ],
+ "rotation": { "origin": [ -2.5, 15, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_bottom_big.json b/kubejs/assets/betterend/models/block/lumecorn_bottom_big.json
new file mode 100644
index 000000000..c751a83e7
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_bottom_big.json
@@ -0,0 +1,45 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lumecorn_bark",
+ "texture": "betterend:block/lumecorn_bark",
+ "roots": "betterend:block/lumecorn_roots"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 5, 0, 5 ],
+ "to": [ 11, 16, 11 ],
+ "faces": {
+ "down": { "uv": [ 8, 6, 14, 12 ], "texture": "#texture", "cullface": "down" },
+ "up": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_bottom_small.json b/kubejs/assets/betterend/models/block/lumecorn_bottom_small.json
new file mode 100644
index 000000000..c2a96a290
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_bottom_small.json
@@ -0,0 +1,179 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lumecorn_bark",
+ "texture": "betterend:block/lumecorn_bark",
+ "leaf_2": "betterend:block/lumecorn_leaf_2",
+ "leaf_1": "betterend:block/lumecorn_leaf_1",
+ "roots": "betterend:block/lumecorn_roots"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 5, 0, 5 ],
+ "to": [ 11, 16, 11 ],
+ "faces": {
+ "down": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "down" },
+ "up": { "uv": [ 8, 0, 14, 6 ], "texture": "#texture", "cullface": "up" },
+ "north": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 0, 8, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 14, 0 ],
+ "to": [ 27, 14.001, 16 ],
+ "rotation": { "origin": [ 11, 14, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 11, 15, 0 ], "axis": "z", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -11, 13.999, 0 ],
+ "to": [ 5, 14, 16 ],
+ "rotation": { "origin": [ 5, 14, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -3, 14.999, 0 ],
+ "to": [ 5, 15, 16 ],
+ "rotation": { "origin": [ 5, 15, 0 ], "axis": "z", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 270 },
+ "up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 14, 11 ],
+ "to": [ 16, 14.001, 27 ],
+ "rotation": { "origin": [ 0, 14, 11 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15, 10.999 ],
+ "to": [ 16, 23, 11 ],
+ "rotation": { "origin": [ 0, 15, 11 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
+ "south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 13.999, -11 ],
+ "to": [ 16, 14, 5 ],
+ "rotation": { "origin": [ 0, 14, 5 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15, 4.999 ],
+ "to": [ 16, 23, 5 ],
+ "rotation": { "origin": [ 0, 15, 5 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 16, 16, 0, 8 ], "texture": "#leaf_1", "rotation": 180 },
+ "south": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ 13, 14, -2.5 ],
+ "to": [ 21, 14.001, 5.5 ],
+ "rotation": { "origin": [ 13, 14, -2.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ 10.5, 14, 5 ],
+ "to": [ 18.5, 14.001, 13 ],
+ "rotation": { "origin": [ 18.5, 15, 13 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ -5, 14, 10.5 ],
+ "to": [ 3, 14.001, 18.5 ],
+ "rotation": { "origin": [ 3, 15, 18.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1", "rotation": 180 },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY24",
+ "from": [ -2.4999, 14, 3 ],
+ "to": [ 5.5001, 14.001, 11 ],
+ "rotation": { "origin": [ -2.5, 15, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 4, 8, 12, 0 ], "texture": "#leaf_1" },
+ "up": { "uv": [ 4, 0, 12, 8 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneX14",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX14",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_light_bottom.json b/kubejs/assets/betterend/models/block/lumecorn_light_bottom.json
new file mode 100644
index 000000000..c46d9653b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_light_bottom.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/lumecorn_light_bottom",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_light_middle.json b/kubejs/assets/betterend/models/block/lumecorn_light_middle.json
new file mode 100644
index 000000000..5bdf62238
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_light_middle.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/lumecorn_light_middle",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_light_top.json b/kubejs/assets/betterend/models/block/lumecorn_light_top.json
new file mode 100644
index 000000000..bde1ef2a9
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_light_top.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/lumecorn_light_top",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_light_top_middle.json b/kubejs/assets/betterend/models/block/lumecorn_light_top_middle.json
new file mode 100644
index 000000000..f9639ab82
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_light_top_middle.json
@@ -0,0 +1,31 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/lumecorn_light_top_middle",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_middle.json b/kubejs/assets/betterend/models/block/lumecorn_middle.json
new file mode 100644
index 000000000..e44c70dfd
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_middle.json
@@ -0,0 +1,133 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lumecorn_stem",
+ "texture": "betterend:block/lumecorn_stem",
+ "leaf_2": "betterend:block/lumecorn_leaf_2",
+ "leaf_1": "betterend:block/lumecorn_leaf_1",
+ "big_petal": "betterend:block/lumecorn_big_petal"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 16, 0 ],
+ "to": [ 27, 16.001, 16 ],
+ "rotation": { "origin": [ 11, 16, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 16, 0 ],
+ "to": [ 19, 16.001, 16 ],
+ "rotation": { "origin": [ 11, 16, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -11, 15.999, 0 ],
+ "to": [ 5, 16, 16 ],
+ "rotation": { "origin": [ 5, 16, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -3, 15.999, 0 ],
+ "to": [ 5, 16, 16 ],
+ "rotation": { "origin": [ 5, 16, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 270 },
+ "up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 16, 11 ],
+ "to": [ 16, 16.001, 27 ],
+ "rotation": { "origin": [ 0, 16, 11 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 16, 11 ],
+ "to": [ 16, 16.001, 19 ],
+ "rotation": { "origin": [ 0, 16, 11 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15.999, -11 ],
+ "to": [ 16, 16, 5 ],
+ "rotation": { "origin": [ 0, 16, 5 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15.999, -3 ],
+ "to": [ 16, 16, 5 ],
+ "rotation": { "origin": [ 0, 16, 5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 180 },
+ "up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY14",
+ "from": [ 8, 16, -7.5 ],
+ "to": [ 30, 16.001, 14.5 ],
+ "rotation": { "origin": [ 8, 16, -7.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 11, 11 ], "texture": "#big_petal" },
+ "up": { "uv": [ 0, 0, 11, 11 ], "texture": "#big_petal" }
+ }
+ },
+ {
+ "__comment": "PlaneX15",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX15",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_roots_big.json b/kubejs/assets/betterend/models/block/lumecorn_roots_big.json
new file mode 100644
index 000000000..376d26f1c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_roots_big.json
@@ -0,0 +1,32 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lumecorn_roots",
+ "texture": "betterend:block/lumecorn_roots",
+ "roots": "betterend:block/lumecorn_roots"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX2",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#roots" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_roots_small.json b/kubejs/assets/betterend/models/block/lumecorn_roots_small.json
new file mode 100644
index 000000000..2e152863d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_roots_small.json
@@ -0,0 +1,133 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/lumecorn_roots",
+ "texture": "betterend:block/lumecorn_roots",
+ "leaf_2": "betterend:block/lumecorn_leaf_2",
+ "leaf_1": "betterend:block/lumecorn_leaf_1",
+ "big_petal": "betterend:block/lumecorn_big_petal"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 16, 0 ],
+ "to": [ 27, 16.001, 16 ],
+ "rotation": { "origin": [ 11, 16, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 11, 16, 0 ],
+ "to": [ 19, 16.001, 16 ],
+ "rotation": { "origin": [ 11, 16, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 90 },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -11, 15.999, 0 ],
+ "to": [ 5, 16, 16 ],
+ "rotation": { "origin": [ 5, 16, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 270 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ -3, 15.999, 0 ],
+ "to": [ 5, 16, 16 ],
+ "rotation": { "origin": [ 5, 16, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 270 },
+ "up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1", "rotation": 270 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 16, 11 ],
+ "to": [ 16, 16.001, 27 ],
+ "rotation": { "origin": [ 0, 16, 11 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 16, 11 ],
+ "to": [ 16, 16.001, 19 ],
+ "rotation": { "origin": [ 0, 16, 11 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" },
+ "up": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15.999, -11 ],
+ "to": [ 16, 16, 5 ],
+ "rotation": { "origin": [ 0, 16, 5 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#leaf_2", "rotation": 180 },
+ "up": { "uv": [ 16, 0, 0, 16 ], "texture": "#leaf_2" }
+ }
+ },
+ {
+ "__comment": "PlaneY17",
+ "from": [ 0, 15.999, -3 ],
+ "to": [ 16, 16, 5 ],
+ "rotation": { "origin": [ 0, 16, 5 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 8, 16, 16 ], "texture": "#leaf_1", "rotation": 180 },
+ "up": { "uv": [ 16, 8, 0, 16 ], "texture": "#leaf_1" }
+ }
+ },
+ {
+ "__comment": "PlaneY14",
+ "from": [ 8, 16, -7.5 ],
+ "to": [ 30, 16.001, 14.5 ],
+ "rotation": { "origin": [ 8, 16, -7.5 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 11, 11 ], "texture": "#big_petal" },
+ "up": { "uv": [ 0, 0, 11, 11 ], "texture": "#big_petal" }
+ }
+ },
+ {
+ "__comment": "PlaneX15",
+ "from": [ 0, 0, 0 ],
+ "to": [ 0.001, 16, 22.5 ],
+ "rotation": { "origin": [ 0, 0, 0 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX15",
+ "from": [ 16, 0, 0 ],
+ "to": [ 16.001, 16, 22.5 ],
+ "rotation": { "origin": [ 16, 0, 0 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_seed_0.json b/kubejs/assets/betterend/models/block/lumecorn_seed_0.json
new file mode 100644
index 000000000..63d681acd
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_seed_0.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/lumecorn_0"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_seed_1.json b/kubejs/assets/betterend/models/block/lumecorn_seed_1.json
new file mode 100644
index 000000000..98ed50e04
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_seed_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/lumecorn_1"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_seed_2.json b/kubejs/assets/betterend/models/block/lumecorn_seed_2.json
new file mode 100644
index 000000000..9fef31448
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_seed_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/lumecorn_2"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lumecorn_seed_3.json b/kubejs/assets/betterend/models/block/lumecorn_seed_3.json
new file mode 100644
index 000000000..4efe36db5
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lumecorn_seed_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_no_distortion",
+ "textures": {
+ "texture": "betterend:block/lumecorn_3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/lutebus_01.json b/kubejs/assets/betterend/models/block/lutebus_01.json
new file mode 100644
index 000000000..f2554cd16
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lutebus_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/lutebus"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/lutebus_02.json b/kubejs/assets/betterend/models/block/lutebus_02.json
new file mode 100644
index 000000000..4a803722b
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/lutebus_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/lutebus"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/magnula_bottom.json b/kubejs/assets/betterend/models/block/magnula_bottom.json
new file mode 100644
index 000000000..ce7c7fa33
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/magnula_bottom.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/magnula_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/magnula_middle.json b/kubejs/assets/betterend/models/block/magnula_middle.json
new file mode 100644
index 000000000..015efd5d1
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/magnula_middle.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/magnula"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/nightshade_moss_01.json b/kubejs/assets/betterend/models/block/nightshade_moss_01.json
new file mode 100644
index 000000000..aeccb9a23
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/nightshade_moss_01.json
@@ -0,0 +1,97 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/nightshade_moss",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 17, 11.001, 16 ],
+ "rotation": { "origin": [ 1, 11, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, -10, 0 ],
+ "to": [ 17, 6, 0.001 ],
+ "rotation": { "origin": [ 1, 6, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, 13.5, 0 ],
+ "to": [ 13, 13.501, 16 ],
+ "rotation": { "origin": [ -3, 13.5, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 1, 0 ],
+ "to": [ 17, 1.001, 16 ],
+ "rotation": { "origin": [ 1, 1, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, -9, 0 ],
+ "to": [ 15, 7, 0.001 ],
+ "rotation": { "origin": [ -1, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1.5, 16, 0 ],
+ "to": [ 14.5, 16.001, 16 ],
+ "rotation": { "origin": [ -1.5, 16, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, 0.5, 0 ],
+ "to": [ 14, 0.501, 16 ],
+ "rotation": { "origin": [ -2, 0.5, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/nightshade_moss_02.json b/kubejs/assets/betterend/models/block/nightshade_moss_02.json
new file mode 100644
index 000000000..49d0eebbf
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/nightshade_moss_02.json
@@ -0,0 +1,64 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/nightshade_moss",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -15, 0 ],
+ "to": [ 16, 1, 0.001 ],
+ "rotation": { "origin": [ 0, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, -12, 0 ],
+ "to": [ 14, 4, 0.001 ],
+ "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -9, 0 ],
+ "to": [ 16, 7, 0.001 ],
+ "rotation": { "origin": [ 0, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -3, 0 ],
+ "to": [ 16, 13, 0.001 ],
+ "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/nightshade_moss_03.json b/kubejs/assets/betterend/models/block/nightshade_moss_03.json
new file mode 100644
index 000000000..fd1473e5d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/nightshade_moss_03.json
@@ -0,0 +1,64 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/nightshade_moss",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, 0, 0 ],
+ "to": [ 15, 16, 0.001 ],
+ "rotation": { "origin": [ -1, 16, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 2, -3, 0 ],
+ "to": [ 18, 13, 0.001 ],
+ "rotation": { "origin": [ 2, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -8, 0 ],
+ "to": [ 16, 8, 0.001 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, -12, 0 ],
+ "to": [ 13, 4, 0.001 ],
+ "rotation": { "origin": [ -3, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, -15, 0 ],
+ "to": [ 19, 1, 0.001 ],
+ "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/orango_01.json b/kubejs/assets/betterend/models/block/orango_01.json
new file mode 100644
index 000000000..b3253dd44
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/orango_01.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/orango"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/orango_02.json b/kubejs/assets/betterend/models/block/orango_02.json
new file mode 100644
index 000000000..1c79b504f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/orango_02.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/orango"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/orango_03.json b/kubejs/assets/betterend/models/block/orango_03.json
new file mode 100644
index 000000000..b54a2903c
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/orango_03.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/orango"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/orango_04.json b/kubejs/assets/betterend/models/block/orango_04.json
new file mode 100644
index 000000000..5f660d1a6
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/orango_04.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/orango"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/plane_bottom.json b/kubejs/assets/betterend/models/block/plane_bottom.json
new file mode 100644
index 000000000..daca44a41
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/plane_bottom.json
@@ -0,0 +1,17 @@
+{
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, 0, 0 ],
+ "to": [ 16, 0.001, 16 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/pond_anemone.json b/kubejs/assets/betterend/models/block/pond_anemone.json
new file mode 100644
index 000000000..92cbdbc77
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/pond_anemone.json
@@ -0,0 +1,111 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/pond_anemone",
+ "texture": "betterend:block/pond_anemone"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 1, 0, 1 ],
+ "to": [ 7, 10, 7 ],
+ "faces": {
+ "up": { "uv": [ 10, 9, 16, 15 ], "texture": "#texture" },
+ "north": { "uv": [ 3, 6, 9, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 6, 9, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 6, 9, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 6, 9, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ -1, 7, -1 ],
+ "to": [ -0.999, 15, 13 ],
+ "rotation": { "origin": [ -1, 7, -1 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 9, 7, -1 ],
+ "to": [ 9.001, 15, 13 ],
+ "rotation": { "origin": [ 9, 7, -1 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 0, 5 ],
+ "to": [ 15, 8, 11 ],
+ "faces": {
+ "up": { "uv": [ 10, 9, 16, 15 ], "texture": "#texture" },
+ "north": { "uv": [ 3, 6, 9, 14 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 6, 9, 14 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 6, 9, 14 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 6, 9, 14 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 7, 5, 3 ],
+ "to": [ 7.001, 13, 17 ],
+ "rotation": { "origin": [ 7, 5, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 17, 5, 3 ],
+ "to": [ 17.001, 13, 17 ],
+ "rotation": { "origin": [ 17, 5, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 0, 10 ],
+ "to": [ 6, 7, 14 ],
+ "faces": {
+ "up": { "uv": [ 11, 10, 15, 14 ], "texture": "#texture" },
+ "north": { "uv": [ 4, 6, 8, 13 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 6, 8, 13 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 6, 8, 13 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 6, 8, 13 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ -1, 4, 7 ],
+ "to": [ -0.999, 12, 21 ],
+ "rotation": { "origin": [ -1, 4, 7 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX2",
+ "from": [ 9, 4, 7 ],
+ "to": [ 9.001, 12, 21 ],
+ "rotation": { "origin": [ 9, 4, 7 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 12, 8 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/purple_polypore_01.json b/kubejs/assets/betterend/models/block/purple_polypore_01.json
new file mode 100644
index 000000000..a257f6015
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/purple_polypore_01.json
@@ -0,0 +1,100 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/purple_polypore",
+ "texture": "betterend:block/purple_polypore"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 0, 4, 0 ],
+ "to": [ 8, 7, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 8, 10, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 11, 0 ],
+ "to": [ 15, 14, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 8, 10, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 1, 0 ],
+ "to": [ 15, 3, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 9, 10, 15, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 3, 8, 0 ],
+ "to": [ 9, 10, 3 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 10, 5, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 6, 0 ],
+ "to": [ 15, 8, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 13, 0 ],
+ "to": [ 5, 15, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 1, 0 ],
+ "to": [ 6, 3, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/purple_polypore_02.json b/kubejs/assets/betterend/models/block/purple_polypore_02.json
new file mode 100644
index 000000000..51501f737
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/purple_polypore_02.json
@@ -0,0 +1,87 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/purple_polypore",
+ "texture": "betterend:block/purple_polypore"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 2, 4, 0 ],
+ "to": [ 10, 7, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 8, 10, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 6 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 11 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 8, 7, 11 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 11, 0 ],
+ "to": [ 14, 13, 3 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 10, 5, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 9, 0 ],
+ "to": [ 5, 11, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 0 ],
+ "to": [ 7, 15, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 1, 0 ],
+ "to": [ 14, 3, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 7, 0 ],
+ "to": [ 15, 9, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/purple_polypore_03.json b/kubejs/assets/betterend/models/block/purple_polypore_03.json
new file mode 100644
index 000000000..015017e8e
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/purple_polypore_03.json
@@ -0,0 +1,74 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/purple_polypore",
+ "texture": "betterend:block/purple_polypore"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 2, 4, 0 ],
+ "to": [ 8, 6, 3 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 10, 5, 16, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 0, 7, 3 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 6, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 12, 0 ],
+ "to": [ 14, 14, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 5, 13, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 2, 0 ],
+ "to": [ 14, 4, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 8, 0 ],
+ "to": [ 11, 10, 2 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 11, 6, 15, 8 ], "texture": "#texture" },
+ "up": { "uv": [ 2, 0, 6, 2 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 8, 6, 10 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 8, 5, 10 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/rubinea_bottom.json b/kubejs/assets/betterend/models/block/rubinea_bottom.json
new file mode 100644
index 000000000..2fba03216
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/rubinea_bottom.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/rubinea_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/rubinea_middle.json b/kubejs/assets/betterend/models/block/rubinea_middle.json
new file mode 100644
index 000000000..604d27110
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/rubinea_middle.json
@@ -0,0 +1,6 @@
+{
+ "parent": "block/cross",
+ "textures": {
+ "cross": "betterend:block/rubinea"
+ }
+}
diff --git a/kubejs/assets/betterend/models/block/ruscus_1.json b/kubejs/assets/betterend/models/block/ruscus_1.json
new file mode 100644
index 000000000..9bb3578aa
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/ruscus_1.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:block/cross",
+ "textures": {
+ "cross": "betterend:block/ruscus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/ruscus_2.json b/kubejs/assets/betterend/models/block/ruscus_2.json
new file mode 100644
index 000000000..d029c7f63
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/ruscus_2.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block",
+ "textures": {
+ "texture": "betterend:block/ruscus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/ruscus_3.json b/kubejs/assets/betterend/models/block/ruscus_3.json
new file mode 100644
index 000000000..c4728b241
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/ruscus_3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/cross_inverted",
+ "textures": {
+ "cross": "betterend:block/ruscus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/ruscus_4.json b/kubejs/assets/betterend/models/block/ruscus_4.json
new file mode 100644
index 000000000..9af3e6b7f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/ruscus_4.json
@@ -0,0 +1,6 @@
+{
+ "parent": "betterend:block/crop_block_inverted",
+ "textures": {
+ "texture": "betterend:block/ruscus"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/shadow_berry_01.json b/kubejs/assets/betterend/models/block/shadow_berry_01.json
new file mode 100644
index 000000000..d0c273d2e
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/shadow_berry_01.json
@@ -0,0 +1,19 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/shadow_berry",
+ "texture": "betterend:block/shadow_berry",
+ "texture1": "betterend:block/shadow_berry_leaves"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY4",
+ "from": [ 0, 0.5, 0 ],
+ "to": [ 16, 0.501, 16 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/shadow_berry_02.json b/kubejs/assets/betterend/models/block/shadow_berry_02.json
new file mode 100644
index 000000000..459394e20
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/shadow_berry_02.json
@@ -0,0 +1,45 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/shadow_berry",
+ "texture": "betterend:block/shadow_berry",
+ "texture1": "betterend:block/shadow_berry_leaves"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 0, 3 ],
+ "to": [ 7, 4, 7 ],
+ "faces": {
+ "down": { "uv": [ 10, 10, 14, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 8.5, 0.5, 12.5, 4.5 ], "texture": "#texture" },
+ "north": { "uv": [ 2, 11, 6, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 2, 11, 6, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 2, 11, 6, 15 ], "texture": "#texture" },
+ "east": { "uv": [ 2, 11, 6, 15 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11.5, 0, 6.5 ],
+ "to": [ 14.5, 3, 9.5 ],
+ "faces": {
+ "down": { "uv": [ 12, 12, 15, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 9, 1, 12, 4 ], "texture": "#texture" },
+ "north": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 0, 0.5, 0 ],
+ "to": [ 16, 0.501, 16 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/shadow_berry_03.json b/kubejs/assets/betterend/models/block/shadow_berry_03.json
new file mode 100644
index 000000000..c20ce75d6
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/shadow_berry_03.json
@@ -0,0 +1,58 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/shadow_berry",
+ "texture": "betterend:block/shadow_berry",
+ "texture1": "betterend:block/shadow_berry_leaves"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 2, 0, 2 ],
+ "to": [ 8, 6, 8 ],
+ "faces": {
+ "down": { "uv": [ 9, 9, 15, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 1, 7, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 10, 7, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 10, 7, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 10, 7, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 10, 7, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 0, 6 ],
+ "to": [ 15, 4, 10 ],
+ "faces": {
+ "down": { "uv": [ 10, 10, 14, 14 ], "texture": "#texture" },
+ "up": { "uv": [ 8.5, 0.5, 12.5, 4.5 ], "texture": "#texture" },
+ "north": { "uv": [ 1, 11, 5, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 1, 11, 5, 15 ], "texture": "#texture" },
+ "west": { "uv": [ 1, 11, 5, 15 ], "texture": "#texture" },
+ "east": { "uv": [ 1, 11, 5, 15 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 0, 11 ],
+ "to": [ 7, 3, 14 ],
+ "faces": {
+ "down": { "uv": [ 12, 12, 15, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 9, 1, 12, 4 ], "texture": "#texture" },
+ "north": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" },
+ "south": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" },
+ "west": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" },
+ "east": { "uv": [ 4, 11, 7, 14 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 0, 0.5, 0 ],
+ "to": [ 16, 0.501, 16 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/shadow_berry_04.json b/kubejs/assets/betterend/models/block/shadow_berry_04.json
new file mode 100644
index 000000000..b25f96190
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/shadow_berry_04.json
@@ -0,0 +1,58 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/shadow_berry",
+ "texture": "betterend:block/shadow_berry",
+ "texture1": "betterend:block/shadow_berry_leaves"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 1, 0, 1 ],
+ "to": [ 9, 8, 9 ],
+ "faces": {
+ "down": { "uv": [ 8, 8, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 10, 0, 5 ],
+ "to": [ 16, 6, 11 ],
+ "faces": {
+ "down": { "uv": [ 9, 9, 15, 15 ], "texture": "#texture" },
+ "up": { "uv": [ 1, 1, 7, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 0, 10, 6, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 10, 6, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 0, 10, 6, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 10, 6, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 3, 0, 10 ],
+ "to": [ 8, 5, 15 ],
+ "faces": {
+ "down": { "uv": [ 11, 11, 16, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 8, 0, 13, 5 ], "texture": "#texture" },
+ "north": { "uv": [ 3, 11, 8, 16 ], "texture": "#texture" },
+ "south": { "uv": [ 3, 11, 8, 16 ], "texture": "#texture" },
+ "west": { "uv": [ 3, 11, 8, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 3, 11, 8, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneY4",
+ "from": [ 0, 0.5, 0 ],
+ "to": [ 16, 0.501, 16 ],
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture1" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/small_amaranita_mushroom.json b/kubejs/assets/betterend/models/block/small_amaranita_mushroom.json
new file mode 100644
index 000000000..41e0257c5
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/small_amaranita_mushroom.json
@@ -0,0 +1,81 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/small_amaranita_mushroom",
+ "texture": "betterend:block/small_amaranita_mushroom"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 4, 4, 4 ],
+ "to": [ 12, 8, 12 ],
+ "faces": {
+ "down": { "uv": [ 0, 8, 8, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 8, 8 ], "texture": "#texture" },
+ "north": { "uv": [ 8, 4, 16, 8 ], "texture": "#texture" },
+ "south": { "uv": [ 8, 4, 16, 8 ], "texture": "#texture" },
+ "west": { "uv": [ 8, 4, 16, 8 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 4, 16, 8 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 0, 7 ],
+ "to": [ 9, 4, 9 ],
+ "faces": {
+ "north": { "uv": [ 14, 8, 16, 12 ], "texture": "#texture" },
+ "south": { "uv": [ 14, 8, 16, 12 ], "texture": "#texture" },
+ "west": { "uv": [ 14, 8, 16, 12 ], "texture": "#texture" },
+ "east": { "uv": [ 14, 8, 16, 12 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 5, 8, 5 ],
+ "to": [ 11, 10, 11 ],
+ "faces": {
+ "up": { "uv": [ 1, 1, 7, 7 ], "texture": "#texture" },
+ "north": { "uv": [ 9, 2, 15, 4 ], "texture": "#texture" },
+ "south": { "uv": [ 9, 2, 15, 4 ], "texture": "#texture" },
+ "west": { "uv": [ 9, 2, 15, 4 ], "texture": "#texture" },
+ "east": { "uv": [ 9, 2, 15, 4 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 4.5, 2, 4 ],
+ "to": [ 4.501, 4, 12 ],
+ "faces": {
+ "west": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX4",
+ "from": [ 11.5, 2, 4 ],
+ "to": [ 11.501, 4, 12 ],
+ "faces": {
+ "west": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" },
+ "east": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneZ6",
+ "from": [ 4, 2, 4.5 ],
+ "to": [ 12, 4, 4.501 ],
+ "faces": {
+ "north": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneZ6",
+ "from": [ 4, 2, 11.5 ],
+ "to": [ 12, 4, 11.501 ],
+ "faces": {
+ "north": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" },
+ "south": { "uv": [ 8, 13, 16, 15 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_moss_01.json b/kubejs/assets/betterend/models/block/twisted_moss_01.json
new file mode 100644
index 000000000..285a2e4ce
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_moss_01.json
@@ -0,0 +1,98 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/twisted_moss",
+ "texture2": "betterend:block/twisted_moss_2",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 17, 11.001, 16 ],
+ "rotation": { "origin": [ 1, 11, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, -10, 0 ],
+ "to": [ 17, 6, 0.001 ],
+ "rotation": { "origin": [ 1, 6, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, 13.5, 0 ],
+ "to": [ 13, 13.501, 16 ],
+ "rotation": { "origin": [ -3, 13.5, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 1, 0 ],
+ "to": [ 17, 1.001, 16 ],
+ "rotation": { "origin": [ 1, 1, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, -9, 0 ],
+ "to": [ 15, 7, 0.001 ],
+ "rotation": { "origin": [ -1, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1.5, 16, 0 ],
+ "to": [ 14.5, 16.001, 16 ],
+ "rotation": { "origin": [ -1.5, 16, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, 0.5, 0 ],
+ "to": [ 14, 0.501, 16 ],
+ "rotation": { "origin": [ -2, 0.5, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture2" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_moss_02.json b/kubejs/assets/betterend/models/block/twisted_moss_02.json
new file mode 100644
index 000000000..8fc1f17f7
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_moss_02.json
@@ -0,0 +1,65 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/twisted_moss",
+ "texture2": "betterend:block/twisted_moss_2",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -15, 0 ],
+ "to": [ 16, 1, 0.001 ],
+ "rotation": { "origin": [ 0, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, -12, 0 ],
+ "to": [ 14, 4, 0.001 ],
+ "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -9, 0 ],
+ "to": [ 16, 7, 0.001 ],
+ "rotation": { "origin": [ 0, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -3, 0 ],
+ "to": [ 16, 13, 0.001 ],
+ "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_moss_03.json b/kubejs/assets/betterend/models/block/twisted_moss_03.json
new file mode 100644
index 000000000..5fd8dbe24
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_moss_03.json
@@ -0,0 +1,65 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "texture": "betterend:block/twisted_moss",
+ "texture2": "betterend:block/twisted_moss_2",
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, 0, 0 ],
+ "to": [ 15, 16, 0.001 ],
+ "rotation": { "origin": [ -1, 16, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 2, -3, 0 ],
+ "to": [ 18, 13, 0.001 ],
+ "rotation": { "origin": [ 2, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -8, 0 ],
+ "to": [ 16, 8, 0.001 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, -12, 0 ],
+ "to": [ 13, 4, 0.001 ],
+ "rotation": { "origin": [ -3, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, -15, 0 ],
+ "to": [ 19, 1, 0.001 ],
+ "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture2" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture2", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_bottom.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_bottom.json
new file mode 100644
index 000000000..d2e233375
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_bottom.json
@@ -0,0 +1,75 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_bottom",
+ "texture": "betterend:block/twisted_umbrella_moss_bottom"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 16, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 16, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 16, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 16, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 16, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 16, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small.json
new file mode 100644
index 000000000..13b5ca20f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small.json
@@ -0,0 +1,238 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte",
+ "small": "betterend:block/twisted_umbrella_moss_small"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 12, 8 ],
+ "to": [ 13, 15, 10 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 11, 6 ],
+ "to": [ 15, 13, 12 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 12, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 12, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 15, 13, 12 ],
+ "to": [ 9, 11, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_2.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_2.json
new file mode 100644
index 000000000..06a5c50e4
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_2.json
@@ -0,0 +1,200 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte",
+ "small": "betterend:block/twisted_umbrella_moss_small",
+ "end": "betterend:block/twisted_umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_3.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_3.json
new file mode 100644
index 000000000..ad136b20d
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_3.json
@@ -0,0 +1,161 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte",
+ "small": "betterend:block/twisted_umbrella_moss_small",
+ "end": "betterend:block/twisted_umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_4.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_4.json
new file mode 100644
index 000000000..0ceb85583
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_small_4.json
@@ -0,0 +1,122 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte",
+ "small": "betterend:block/twisted_umbrella_moss_small",
+ "end": "betterend:block/twisted_umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top.json
new file mode 100644
index 000000000..f609845b2
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top.json
@@ -0,0 +1,193 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 12, 8 ],
+ "to": [ 13, 15, 10 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 11, 6 ],
+ "to": [ 15, 13, 12 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 12, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 12, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 15, 13, 12 ],
+ "to": [ 9, 11, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top_2.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top_2.json
new file mode 100644
index 000000000..a0eacdb53
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top_2.json
@@ -0,0 +1,155 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte",
+ "end": "betterend:block/twisted_umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top_3.json b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top_3.json
new file mode 100644
index 000000000..e5d678a08
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/twisted_umbrella_moss_top_3.json
@@ -0,0 +1,116 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/twisted_umbrella_moss_up",
+ "texture": "betterend:block/twisted_umbrella_moss_up",
+ "spore": "betterend:block/twisted_umbrella_moss_sporophyte",
+ "end": "betterend:block/twisted_umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_bottom.json b/kubejs/assets/betterend/models/block/umbrella_moss_bottom.json
new file mode 100644
index 000000000..f637005bd
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_bottom.json
@@ -0,0 +1,75 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_bottom",
+ "texture": "betterend:block/umbrella_moss_bottom"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 16, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 16, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 16, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 16, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 16, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 16, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_small.json b/kubejs/assets/betterend/models/block/umbrella_moss_small.json
new file mode 100644
index 000000000..99c195c74
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_small.json
@@ -0,0 +1,238 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte",
+ "small": "betterend:block/umbrella_moss_small"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 12, 8 ],
+ "to": [ 13, 15, 10 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 11, 6 ],
+ "to": [ 15, 13, 12 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 12, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 12, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 15, 13, 12 ],
+ "to": [ 9, 11, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_small_2.json b/kubejs/assets/betterend/models/block/umbrella_moss_small_2.json
new file mode 100644
index 000000000..65d40c425
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_small_2.json
@@ -0,0 +1,200 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte",
+ "small": "betterend:block/umbrella_moss_small",
+ "end": "betterend:block/umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_small_3.json b/kubejs/assets/betterend/models/block/umbrella_moss_small_3.json
new file mode 100644
index 000000000..a4c8e7694
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_small_3.json
@@ -0,0 +1,161 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte",
+ "small": "betterend:block/umbrella_moss_small",
+ "end": "betterend:block/umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_small_4.json b/kubejs/assets/betterend/models/block/umbrella_moss_small_4.json
new file mode 100644
index 000000000..ea65959df
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_small_4.json
@@ -0,0 +1,122 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte",
+ "small": "betterend:block/umbrella_moss_small",
+ "end": "betterend:block/umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, 0, 9 ],
+ "to": [ 16, 0.001, 25 ],
+ "rotation": { "origin": [ 0, 0, 9 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY16",
+ "from": [ 0, -0.001, -9 ],
+ "to": [ 16, 0, 7 ],
+ "rotation": { "origin": [ 0, 0, 7 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 180 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small" }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ 9, 0, 0 ],
+ "to": [ 25, 0.001, 16 ],
+ "rotation": { "origin": [ 9, 0, 0 ], "axis": "z", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 90 }
+ }
+ },
+ {
+ "__comment": "PlaneY18",
+ "from": [ -9, -0.001, 0 ],
+ "to": [ 7, 0, 16 ],
+ "rotation": { "origin": [ 7, 0, 0 ], "axis": "z", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#small", "rotation": 270 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_top.json b/kubejs/assets/betterend/models/block/umbrella_moss_top.json
new file mode 100644
index 000000000..85c9ac766
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_top.json
@@ -0,0 +1,193 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 11, 12, 8 ],
+ "to": [ 13, 15, 10 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 9, 11, 6 ],
+ "to": [ 15, 13, 12 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 12, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 12, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 15, 13, 12 ],
+ "to": [ 9, 11, 6 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_top_2.json b/kubejs/assets/betterend/models/block/umbrella_moss_top_2.json
new file mode 100644
index 000000000..55e1ac20e
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_top_2.json
@@ -0,0 +1,155 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte",
+ "end": "betterend:block/umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 4, 11, 11 ],
+ "to": [ 6, 14, 13 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 2, 10, 9 ],
+ "to": [ 8, 12, 15 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 8, 12, 15 ],
+ "to": [ 2, 10, 9 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/umbrella_moss_top_3.json b/kubejs/assets/betterend/models/block/umbrella_moss_top_3.json
new file mode 100644
index 000000000..10f65f6e5
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/umbrella_moss_top_3.json
@@ -0,0 +1,116 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "betterend:block/umbrella_moss_up",
+ "texture": "betterend:block/umbrella_moss_up",
+ "spore": "betterend:block/umbrella_moss_sporophyte",
+ "end": "betterend:block/umbrella_moss_end"
+ },
+ "elements": [
+ {
+ "__comment": "Box1",
+ "from": [ 3, 13, 3 ],
+ "to": [ 5, 16, 5 ],
+ "faces": {
+ "down": { "uv": [ 7, 5, 9, 7 ], "texture": "#spore" },
+ "up": { "uv": [ 7, 0, 9, 2 ], "texture": "#spore" },
+ "north": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "south": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "west": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" },
+ "east": { "uv": [ 7, 2, 9, 5 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 1, 12, 1 ],
+ "to": [ 7, 14, 7 ],
+ "shade": false,
+ "faces": {
+ "up": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "south": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "west": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" },
+ "east": { "uv": [ 0, 6, 6, 8 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -2, 0, -2 ],
+ "to": [ -1.999, 13, 14 ],
+ "rotation": { "origin": [ -2, 0, -2 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 9.5, 0, -2 ],
+ "to": [ 9.501, 13, 14 ],
+ "rotation": { "origin": [ 9.5, 0, -2 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#texture" }
+ }
+ },
+ {
+ "__comment": "Box1",
+ "from": [ 7, 14, 7 ],
+ "to": [ 1, 12, 1 ],
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 0, 0, 6, 6 ], "texture": "#spore" },
+ "north": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "south": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "west": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" },
+ "east": { "uv": [ 6, 8, 0, 6 ], "texture": "#spore" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 6, 0, 3 ],
+ "to": [ 6.001, 13, 19 ],
+ "rotation": { "origin": [ 6, 0, 3 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 4, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 17.5, 0, 3 ],
+ "to": [ 17.501, 13, 19 ],
+ "rotation": { "origin": [ 17.5, 0, 3 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 3, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ -1, 0, 6 ],
+ "to": [ -0.999, 11, 22 ],
+ "rotation": { "origin": [ -1, 0, 6 ], "axis": "y", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ },
+ {
+ "__comment": "PlaneX3",
+ "from": [ 10.5, 0, 6 ],
+ "to": [ 10.501, 11, 22 ],
+ "rotation": { "origin": [ 10.5, 0, 6 ], "axis": "y", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "west": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" },
+ "east": { "uv": [ 0, 5, 16, 16 ], "texture": "#end" }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/wall_moss_01.json b/kubejs/assets/betterend/models/block/wall_moss_01.json
new file mode 100644
index 000000000..7e918bb74
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/wall_moss_01.json
@@ -0,0 +1,96 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 11, 0 ],
+ "to": [ 17, 11.001, 16 ],
+ "rotation": { "origin": [ 1, 11, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, -10, 0 ],
+ "to": [ 17, 6, 0.001 ],
+ "rotation": { "origin": [ 1, 6, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, 13.5, 0 ],
+ "to": [ 13, 13.501, 16 ],
+ "rotation": { "origin": [ -3, 13.5, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 1, 1, 0 ],
+ "to": [ 17, 1.001, 16 ],
+ "rotation": { "origin": [ 1, 1, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, -9, 0 ],
+ "to": [ 15, 7, 0.001 ],
+ "rotation": { "origin": [ -1, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1.5, 16, 0 ],
+ "to": [ 14.5, 16.001, 16 ],
+ "rotation": { "origin": [ -1.5, 16, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, 0.5, 0 ],
+ "to": [ 14, 0.501, 16 ],
+ "rotation": { "origin": [ -2, 0.5, 0 ], "axis": "x", "angle": 22.5 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/wall_moss_02.json b/kubejs/assets/betterend/models/block/wall_moss_02.json
new file mode 100644
index 000000000..fbc6976f0
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/wall_moss_02.json
@@ -0,0 +1,63 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, 15, 0 ],
+ "to": [ 19, 15.001, 16 ],
+ "rotation": { "origin": [ 3, 15, 0 ], "axis": "x", "angle": 45 },
+ "shade": false,
+ "faces": {
+ "down": { "uv": [ 16, 0, 0, 16 ], "texture": "#texture" },
+ "up": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -15, 0 ],
+ "to": [ 16, 1, 0.001 ],
+ "rotation": { "origin": [ 0, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -2, -12, 0 ],
+ "to": [ 14, 4, 0.001 ],
+ "rotation": { "origin": [ -2, 4, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -9, 0 ],
+ "to": [ 16, 7, 0.001 ],
+ "rotation": { "origin": [ 0, 7, 0 ], "axis": "x", "angle": -45 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -3, 0 ],
+ "to": [ 16, 13, 0.001 ],
+ "rotation": { "origin": [ 0, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/block/wall_moss_03.json b/kubejs/assets/betterend/models/block/wall_moss_03.json
new file mode 100644
index 000000000..bf779746f
--- /dev/null
+++ b/kubejs/assets/betterend/models/block/wall_moss_03.json
@@ -0,0 +1,63 @@
+{
+ "__comment": "Designed by Paulevs with Cubik Studio - https://cubik.studio",
+ "textures": {
+ "particle": "#texture"
+ },
+ "elements": [
+ {
+ "__comment": "PlaneY1",
+ "from": [ -1, 0, 0 ],
+ "to": [ 15, 16, 0.001 ],
+ "rotation": { "origin": [ -1, 16, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 2, -3, 0 ],
+ "to": [ 18, 13, 0.001 ],
+ "rotation": { "origin": [ 2, 13, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 0, -8, 0 ],
+ "to": [ 16, 8, 0.001 ],
+ "rotation": { "origin": [ 0, 8, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ -3, -12, 0 ],
+ "to": [ 13, 4, 0.001 ],
+ "rotation": { "origin": [ -3, 4, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ },
+ {
+ "__comment": "PlaneY1",
+ "from": [ 3, -15, 0 ],
+ "to": [ 19, 1, 0.001 ],
+ "rotation": { "origin": [ 3, 1, 0 ], "axis": "x", "angle": -22.5 },
+ "shade": false,
+ "faces": {
+ "north": { "uv": [ 0, 16, 16, 0 ], "texture": "#texture" },
+ "south": { "uv": [ 0, 0, 16, 16 ], "texture": "#texture", "rotation": 180 }
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/item/aeridium.json b/kubejs/assets/betterend/models/item/aeridium.json
new file mode 100644
index 000000000..abdd52fa9
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/aeridium.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/aeridium"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/amaranita_stem.json b/kubejs/assets/betterend/models/item/amaranita_stem.json
new file mode 100644
index 000000000..fdc407a54
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/amaranita_stem.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/amaranita_stem"
+}
diff --git a/kubejs/assets/betterend/models/item/amber_grass.json b/kubejs/assets/betterend/models/item/amber_grass.json
new file mode 100644
index 000000000..269912448
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/amber_grass.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/amber_grass"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/amber_root_product.json b/kubejs/assets/betterend/models/item/amber_root_product.json
new file mode 100644
index 000000000..e9c2af243
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/amber_root_product.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/amber_roots"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/amber_root_seeds.json b/kubejs/assets/betterend/models/item/amber_root_seeds.json
new file mode 100644
index 000000000..ea10e161a
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/amber_root_seeds.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/amber_root_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/aurant_polypore.json b/kubejs/assets/betterend/models/item/aurant_polypore.json
new file mode 100644
index 000000000..a538ac0ac
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/aurant_polypore.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/aurant_polypore"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/blossom_berry_product.json b/kubejs/assets/betterend/models/item/blossom_berry_product.json
new file mode 100644
index 000000000..f29b9361e
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/blossom_berry_product.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/blossom_berry"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/blossom_berry_seeds.json b/kubejs/assets/betterend/models/item/blossom_berry_seeds.json
new file mode 100644
index 000000000..8f0389e39
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/blossom_berry_seeds.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/blossom_berry_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/blue_vine_fur.json b/kubejs/assets/betterend/models/item/blue_vine_fur.json
new file mode 100644
index 000000000..1a3669593
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/blue_vine_fur.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/blue_vine_fur"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/blue_vine_lantern.json b/kubejs/assets/betterend/models/item/blue_vine_lantern.json
new file mode 100644
index 000000000..60ef8e306
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/blue_vine_lantern.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/blue_vine_lantern"
+}
diff --git a/kubejs/assets/betterend/models/item/blue_vine_seed.json b/kubejs/assets/betterend/models/item/blue_vine_seed.json
new file mode 100644
index 000000000..6bf7b16a1
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/blue_vine_seed.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/blue_vine_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/bolux_mushroom_cooked.json b/kubejs/assets/betterend/models/item/bolux_mushroom_cooked.json
new file mode 100644
index 000000000..7a69d7a76
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bolux_mushroom_cooked.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/bolux_mushroom_cooked"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/bolux_mushroom_product.json b/kubejs/assets/betterend/models/item/bolux_mushroom_product.json
new file mode 100644
index 000000000..42097f36d
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bolux_mushroom_product.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/bolux_mushroom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/bolux_mushroom_seeds.json b/kubejs/assets/betterend/models/item/bolux_mushroom_seeds.json
new file mode 100644
index 000000000..8cffa0eb0
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bolux_mushroom_seeds.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/bolux_mushroom_seeds"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/bulb_lantern.json b/kubejs/assets/betterend/models/item/bulb_lantern.json
new file mode 100644
index 000000000..14f28d873
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bulb_lantern.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/bulb_vine_lantern_ceil"
+}
diff --git a/kubejs/assets/betterend/models/item/bulb_moss.json b/kubejs/assets/betterend/models/item/bulb_moss.json
new file mode 100644
index 000000000..a34872c26
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bulb_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:item/generated",
+ "textures": {
+ "layer0": "betterend:block/bulb_moss_leaves"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/item/bulb_vine.json b/kubejs/assets/betterend/models/item/bulb_vine.json
new file mode 100644
index 000000000..b2f953a58
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bulb_vine.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/bulb_vine_middle"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/bulb_vine_seed.json b/kubejs/assets/betterend/models/item/bulb_vine_seed.json
new file mode 100644
index 000000000..c652b13b0
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bulb_vine_seed.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/bulb_vine_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/bushy_grass.json b/kubejs/assets/betterend/models/item/bushy_grass.json
new file mode 100644
index 000000000..ef7c159d0
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/bushy_grass.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/bushy_grass_2"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/cave_bush.json b/kubejs/assets/betterend/models/item/cave_bush.json
new file mode 100644
index 000000000..81e09eff1
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cave_bush.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/cave_bush_01"
+}
diff --git a/kubejs/assets/betterend/models/item/cave_grass.json b/kubejs/assets/betterend/models/item/cave_grass.json
new file mode 100644
index 000000000..5c9e70d71
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cave_grass.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/cave_grass_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/cave_pumpkin.json b/kubejs/assets/betterend/models/item/cave_pumpkin.json
new file mode 100644
index 000000000..334eca3f6
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cave_pumpkin.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/cave_pumpkin"
+}
diff --git a/kubejs/assets/betterend/models/item/cave_pumpkin_chunks.json b/kubejs/assets/betterend/models/item/cave_pumpkin_chunks.json
new file mode 100644
index 000000000..64136f5db
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cave_pumpkin_chunks.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/cave_pumpkin_chunks"
+}
diff --git a/kubejs/assets/betterend/models/item/cave_pumpkin_pie.json b/kubejs/assets/betterend/models/item/cave_pumpkin_pie.json
new file mode 100644
index 000000000..16fc029ee
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cave_pumpkin_pie.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/cave_pumpkin_pie"
+}
diff --git a/kubejs/assets/betterend/models/item/cave_pumpkin_plant_seeds.json b/kubejs/assets/betterend/models/item/cave_pumpkin_plant_seeds.json
new file mode 100644
index 000000000..6bf4c79a6
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cave_pumpkin_plant_seeds.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/cave_pumpkin_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/charnia_cyan.json b/kubejs/assets/betterend/models/item/charnia_cyan.json
new file mode 100644
index 000000000..350ea8360
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/charnia_cyan.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/charnia_cyan"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/charnia_green.json b/kubejs/assets/betterend/models/item/charnia_green.json
new file mode 100644
index 000000000..bc34f6cfc
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/charnia_green.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/charnia_green"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/charnia_light_blue.json b/kubejs/assets/betterend/models/item/charnia_light_blue.json
new file mode 100644
index 000000000..14840abbf
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/charnia_light_blue.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/charnia_light_blue"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/charnia_orange.json b/kubejs/assets/betterend/models/item/charnia_orange.json
new file mode 100644
index 000000000..0ed399605
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/charnia_orange.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/charnia_orange"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/charnia_purple.json b/kubejs/assets/betterend/models/item/charnia_purple.json
new file mode 100644
index 000000000..5febb6663
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/charnia_purple.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/charnia_purple"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/charnia_red.json b/kubejs/assets/betterend/models/item/charnia_red.json
new file mode 100644
index 000000000..b48ea4347
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/charnia_red.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/charnia_red"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/chorus_mushroom_cooked.json b/kubejs/assets/betterend/models/item/chorus_mushroom_cooked.json
new file mode 100644
index 000000000..e645fc90c
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/chorus_mushroom_cooked.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/chorus_mushroom_cooked"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/chorus_mushroom_product.json b/kubejs/assets/betterend/models/item/chorus_mushroom_product.json
new file mode 100644
index 000000000..b5a54e4b2
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/chorus_mushroom_product.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/chorus_mushroom_raw"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/chorus_mushroom_seeds.json b/kubejs/assets/betterend/models/item/chorus_mushroom_seeds.json
new file mode 100644
index 000000000..0306b0675
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/chorus_mushroom_seeds.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/chorus_mushroom_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/clawfern.json b/kubejs/assets/betterend/models/item/clawfern.json
new file mode 100644
index 000000000..b70ec33ef
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/clawfern.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/clawfern"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/creeping_moss.json b/kubejs/assets/betterend/models/item/creeping_moss.json
new file mode 100644
index 000000000..9504445c1
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/creeping_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/creeping_moss"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/cyan_moss.json b/kubejs/assets/betterend/models/item/cyan_moss.json
new file mode 100644
index 000000000..5e8ea064c
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/cyan_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/cyan_moss"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/dense_vine.json b/kubejs/assets/betterend/models/item/dense_vine.json
new file mode 100644
index 000000000..5285c9a2b
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/dense_vine.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/dense_vine_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/end_lily_leaf.json b/kubejs/assets/betterend/models/item/end_lily_leaf.json
new file mode 100644
index 000000000..633ee574b
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/end_lily_leaf.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/end_lily_leaf_small"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/end_lily_leaf_dried.json b/kubejs/assets/betterend/models/item/end_lily_leaf_dried.json
new file mode 100644
index 000000000..109a23bac
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/end_lily_leaf_dried.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/end_lily_leaf_dried"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/end_lily_seed.json b/kubejs/assets/betterend/models/item/end_lily_seed.json
new file mode 100644
index 000000000..87c210e99
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/end_lily_seed.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/end_lily_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/end_lotus_seed.json b/kubejs/assets/betterend/models/item/end_lotus_seed.json
new file mode 100644
index 000000000..4212bcd6d
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/end_lotus_seed.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/end_lotus_seed"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/end_lotus_stem.json b/kubejs/assets/betterend/models/item/end_lotus_stem.json
new file mode 100644
index 000000000..1e0cb5ea6
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/end_lotus_stem.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/end_lotus_stem"
+}
diff --git a/kubejs/assets/betterend/models/item/filalux_wings.json b/kubejs/assets/betterend/models/item/filalux_wings.json
new file mode 100644
index 000000000..ca59cc6d2
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/filalux_wings.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/filalux_wings"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/flamaea.json b/kubejs/assets/betterend/models/item/flamaea.json
new file mode 100644
index 000000000..3a3c4e5c8
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/flamaea.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/flamaea_1"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/flammalix.json b/kubejs/assets/betterend/models/item/flammalix.json
new file mode 100644
index 000000000..7ebbca941
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/flammalix.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/flammalix"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/globulagus.json b/kubejs/assets/betterend/models/item/globulagus.json
new file mode 100644
index 000000000..e13924b4c
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/globulagus.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/globulagus"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/glowing_bulb.json b/kubejs/assets/betterend/models/item/glowing_bulb.json
new file mode 100644
index 000000000..2bcacaae0
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/glowing_bulb.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/glowing_bulb"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/glowing_pillar_leaves.json b/kubejs/assets/betterend/models/item/glowing_pillar_leaves.json
new file mode 100644
index 000000000..568fef262
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/glowing_pillar_leaves.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:item/generated",
+ "textures": {
+ "layer0": "betterend:block/glowing_pillar_leaves"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/item/glowing_pillar_luminophor.json b/kubejs/assets/betterend/models/item/glowing_pillar_luminophor.json
new file mode 100644
index 000000000..235d9b4af
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/glowing_pillar_luminophor.json
@@ -0,0 +1,3 @@
+{
+ "parent": "betterend:block/glowing_pillar_luminophor"
+}
diff --git a/kubejs/assets/betterend/models/item/glowing_pillar_seed.json b/kubejs/assets/betterend/models/item/glowing_pillar_seed.json
new file mode 100644
index 000000000..08d1672bc
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/glowing_pillar_seed.json
@@ -0,0 +1,6 @@
+{
+ "parent": "minecraft:item/generated",
+ "textures": {
+ "layer0": "betterend:item/glowing_pillar_seed"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/betterend/models/item/hydralux_sapling.json b/kubejs/assets/betterend/models/item/hydralux_sapling.json
new file mode 100644
index 000000000..f1754864a
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/hydralux_sapling.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/hydralux_spore"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/jungle_fern.json b/kubejs/assets/betterend/models/item/jungle_fern.json
new file mode 100644
index 000000000..52b577250
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/jungle_fern.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/jungle_fern"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/jungle_vine.json b/kubejs/assets/betterend/models/item/jungle_vine.json
new file mode 100644
index 000000000..8473766db
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/jungle_vine.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/jungle_vine_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/lamellarium.json b/kubejs/assets/betterend/models/item/lamellarium.json
new file mode 100644
index 000000000..d65d82f54
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/lamellarium.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/lamellarium"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/lutebus.json b/kubejs/assets/betterend/models/item/lutebus.json
new file mode 100644
index 000000000..3114b79f3
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/lutebus.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/lutebus"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/magnula.json b/kubejs/assets/betterend/models/item/magnula.json
new file mode 100644
index 000000000..c15595560
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/magnula.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/magnula_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/nightshade_moss.json b/kubejs/assets/betterend/models/item/nightshade_moss.json
new file mode 100644
index 000000000..67a5bd11f
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/nightshade_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/nightshade_moss"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/orango.json b/kubejs/assets/betterend/models/item/orango.json
new file mode 100644
index 000000000..f217163f5
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/orango.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/orango"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/purple_polypore.json b/kubejs/assets/betterend/models/item/purple_polypore.json
new file mode 100644
index 000000000..6ec500d99
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/purple_polypore.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/purple_polypore"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/rubinea.json b/kubejs/assets/betterend/models/item/rubinea.json
new file mode 100644
index 000000000..7187051ba
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/rubinea.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/rubinea_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/ruscus.json b/kubejs/assets/betterend/models/item/ruscus.json
new file mode 100644
index 000000000..32616c487
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/ruscus.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/ruscus"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/shadow_berry_cooked.json b/kubejs/assets/betterend/models/item/shadow_berry_cooked.json
new file mode 100644
index 000000000..e5259f7a6
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/shadow_berry_cooked.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/shadow_berry_cooked"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/shadow_berry_product.json b/kubejs/assets/betterend/models/item/shadow_berry_product.json
new file mode 100644
index 000000000..e7d961f92
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/shadow_berry_product.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/shadow_berry"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/shadow_berry_seeds.json b/kubejs/assets/betterend/models/item/shadow_berry_seeds.json
new file mode 100644
index 000000000..857ac6f1e
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/shadow_berry_seeds.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/shadow_berry_seeds"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/small_amaranita_mushroom.json b/kubejs/assets/betterend/models/item/small_amaranita_mushroom.json
new file mode 100644
index 000000000..a2464003e
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/small_amaranita_mushroom.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/small_amaranita_mushroom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/twisted_moss.json b/kubejs/assets/betterend/models/item/twisted_moss.json
new file mode 100644
index 000000000..4e5d347d2
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/twisted_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/twisted_moss"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/twisted_umbrella_moss.json b/kubejs/assets/betterend/models/item/twisted_umbrella_moss.json
new file mode 100644
index 000000000..df1cd768e
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/twisted_umbrella_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/twisted_umbrella_moss_small"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/twisted_umbrella_moss_tall.json b/kubejs/assets/betterend/models/item/twisted_umbrella_moss_tall.json
new file mode 100644
index 000000000..508b5a522
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/twisted_umbrella_moss_tall.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/twisted_umbrella_moss_large"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/twisted_vine.json b/kubejs/assets/betterend/models/item/twisted_vine.json
new file mode 100644
index 000000000..ace2ca8d4
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/twisted_vine.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:block/twisted_vine_bottom"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/umbrella_moss.json b/kubejs/assets/betterend/models/item/umbrella_moss.json
new file mode 100644
index 000000000..b28d16271
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/umbrella_moss.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/umbrella_moss_small"
+ }
+}
diff --git a/kubejs/assets/betterend/models/item/umbrella_moss_tall.json b/kubejs/assets/betterend/models/item/umbrella_moss_tall.json
new file mode 100644
index 000000000..7ed7d45f9
--- /dev/null
+++ b/kubejs/assets/betterend/models/item/umbrella_moss_tall.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "betterend:item/umbrella_moss_large"
+ }
+}
diff --git a/kubejs/assets/betterend/textures/block/aeridium.png b/kubejs/assets/betterend/textures/block/aeridium.png
new file mode 100644
index 000000000..17a33d94b
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/aeridium.png differ
diff --git a/kubejs/assets/betterend/textures/block/amaranita_stem_middle.png b/kubejs/assets/betterend/textures/block/amaranita_stem_middle.png
new file mode 100644
index 000000000..af2df081d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amaranita_stem_middle.png differ
diff --git a/kubejs/assets/betterend/textures/block/amaranita_stem_roots.png b/kubejs/assets/betterend/textures/block/amaranita_stem_roots.png
new file mode 100644
index 000000000..2325249d5
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amaranita_stem_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/amaranita_stem_top.png b/kubejs/assets/betterend/textures/block/amaranita_stem_top.png
new file mode 100644
index 000000000..f4499f4e6
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amaranita_stem_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/amber_grass.png b/kubejs/assets/betterend/textures/block/amber_grass.png
new file mode 100644
index 000000000..ce185a310
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amber_grass.png differ
diff --git a/kubejs/assets/betterend/textures/block/amber_root_0.png b/kubejs/assets/betterend/textures/block/amber_root_0.png
new file mode 100644
index 000000000..c86a64ce0
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amber_root_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/amber_root_1.png b/kubejs/assets/betterend/textures/block/amber_root_1.png
new file mode 100644
index 000000000..78e4bcbb2
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amber_root_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/amber_root_2.png b/kubejs/assets/betterend/textures/block/amber_root_2.png
new file mode 100644
index 000000000..e79946949
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amber_root_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/amber_root_3.png b/kubejs/assets/betterend/textures/block/amber_root_3.png
new file mode 100644
index 000000000..979afbebc
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/amber_root_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/aurant_polypore.png b/kubejs/assets/betterend/textures/block/aurant_polypore.png
new file mode 100644
index 000000000..373b084e5
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/aurant_polypore.png differ
diff --git a/kubejs/assets/betterend/textures/block/blooming_cooksonia_e.png b/kubejs/assets/betterend/textures/block/blooming_cooksonia_e.png
deleted file mode 100644
index 2fdb02566..000000000
Binary files a/kubejs/assets/betterend/textures/block/blooming_cooksonia_e.png and /dev/null differ
diff --git a/kubejs/assets/betterend/textures/block/blossom_berry_flower.png b/kubejs/assets/betterend/textures/block/blossom_berry_flower.png
new file mode 100644
index 000000000..ce4084330
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blossom_berry_flower.png differ
diff --git a/kubejs/assets/betterend/textures/block/blossom_berry_fruit.png b/kubejs/assets/betterend/textures/block/blossom_berry_fruit.png
new file mode 100644
index 000000000..4e45aec2b
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blossom_berry_fruit.png differ
diff --git a/kubejs/assets/betterend/textures/block/blossom_berry_seed_0.png b/kubejs/assets/betterend/textures/block/blossom_berry_seed_0.png
new file mode 100644
index 000000000..7bd6704e8
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blossom_berry_seed_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/blossom_berry_seed_1.png b/kubejs/assets/betterend/textures/block/blossom_berry_seed_1.png
new file mode 100644
index 000000000..5080dd5ed
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blossom_berry_seed_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/blossom_berry_seed_2.png b/kubejs/assets/betterend/textures/block/blossom_berry_seed_2.png
new file mode 100644
index 000000000..7a7d29924
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blossom_berry_seed_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/blossom_berry_stem.png b/kubejs/assets/betterend/textures/block/blossom_berry_stem.png
new file mode 100644
index 000000000..de1ecd70e
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blossom_berry_stem.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine.png b/kubejs/assets/betterend/textures/block/blue_vine.png
new file mode 100644
index 000000000..776b02a6e
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_0.png b/kubejs/assets/betterend/textures/block/blue_vine_0.png
new file mode 100644
index 000000000..d82e9b358
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_1.png b/kubejs/assets/betterend/textures/block/blue_vine_1.png
new file mode 100644
index 000000000..57eb9a2d0
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_2.png b/kubejs/assets/betterend/textures/block/blue_vine_2.png
new file mode 100644
index 000000000..1d2465288
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_3.png b/kubejs/assets/betterend/textures/block/blue_vine_3.png
new file mode 100644
index 000000000..92cd00da1
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_fur.png b/kubejs/assets/betterend/textures/block/blue_vine_fur.png
new file mode 100644
index 000000000..628b36894
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_fur.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_lantern.png b/kubejs/assets/betterend/textures/block/blue_vine_lantern.png
new file mode 100644
index 000000000..4b7ca65f4
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_lantern.png differ
diff --git a/kubejs/assets/betterend/textures/block/blue_vine_roots.png b/kubejs/assets/betterend/textures/block/blue_vine_roots.png
new file mode 100644
index 000000000..2548b655a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/blue_vine_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/bolux_mushroom.png b/kubejs/assets/betterend/textures/block/bolux_mushroom.png
new file mode 100644
index 000000000..d259982ee
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bolux_mushroom.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_moss_bulbs.png b/kubejs/assets/betterend/textures/block/bulb_moss_bulbs.png
new file mode 100644
index 000000000..68ccceb35
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_moss_bulbs.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_moss_leaves.png b/kubejs/assets/betterend/textures/block/bulb_moss_leaves.png
new file mode 100644
index 000000000..5465b27a9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_moss_leaves.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine.png b/kubejs/assets/betterend/textures/block/bulb_vine.png
new file mode 100644
index 000000000..a9ab55f87
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine.png.mcmeta b/kubejs/assets/betterend/textures/block/bulb_vine.png.mcmeta
new file mode 100644
index 000000000..df5ea3907
--- /dev/null
+++ b/kubejs/assets/betterend/textures/block/bulb_vine.png.mcmeta
@@ -0,0 +1,6 @@
+{
+ "animation": {
+ "interpolate": true,
+ "frametime": 32
+ }
+}
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_fur.png b/kubejs/assets/betterend/textures/block/bulb_vine_fur.png
new file mode 100644
index 000000000..90c1c0759
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_fur.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_lantern_bulb.png b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_bulb.png
new file mode 100644
index 000000000..e1d3a8db8
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_bulb.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_lantern_bulb.png.mcmeta b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_bulb.png.mcmeta
new file mode 100644
index 000000000..df5ea3907
--- /dev/null
+++ b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_bulb.png.mcmeta
@@ -0,0 +1,6 @@
+{
+ "animation": {
+ "interpolate": true,
+ "frametime": 32
+ }
+}
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_lantern_overlay.png b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_overlay.png
new file mode 100644
index 000000000..2ffa45a8d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_overlay.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_lantern_overlay.png.mcmeta b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_overlay.png.mcmeta
new file mode 100644
index 000000000..df5ea3907
--- /dev/null
+++ b/kubejs/assets/betterend/textures/block/bulb_vine_lantern_overlay.png.mcmeta
@@ -0,0 +1,6 @@
+{
+ "animation": {
+ "interpolate": true,
+ "frametime": 32
+ }
+}
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_middle.png b/kubejs/assets/betterend/textures/block/bulb_vine_middle.png
new file mode 100644
index 000000000..e5ce1b7c7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_middle.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_roots.png b/kubejs/assets/betterend/textures/block/bulb_vine_roots.png
new file mode 100644
index 000000000..6a9b70fb7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_seed_0.png b/kubejs/assets/betterend/textures/block/bulb_vine_seed_0.png
new file mode 100644
index 000000000..87662ff55
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_seed_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_seed_1.png b/kubejs/assets/betterend/textures/block/bulb_vine_seed_1.png
new file mode 100644
index 000000000..033e22e50
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_seed_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_seed_2.png b/kubejs/assets/betterend/textures/block/bulb_vine_seed_2.png
new file mode 100644
index 000000000..0dc3c7cbd
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_seed_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/bulb_vine_seed_3.png b/kubejs/assets/betterend/textures/block/bulb_vine_seed_3.png
new file mode 100644
index 000000000..5a15491f7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bulb_vine_seed_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/bushy_grass_1.png b/kubejs/assets/betterend/textures/block/bushy_grass_1.png
new file mode 100644
index 000000000..8c97c90b6
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bushy_grass_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/bushy_grass_2.png b/kubejs/assets/betterend/textures/block/bushy_grass_2.png
new file mode 100644
index 000000000..22cd370bf
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/bushy_grass_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_bush_leaves_1.png b/kubejs/assets/betterend/textures/block/cave_bush_leaves_1.png
new file mode 100644
index 000000000..e81478363
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_bush_leaves_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_bush_leaves_2.png b/kubejs/assets/betterend/textures/block/cave_bush_leaves_2.png
new file mode 100644
index 000000000..a79a3fbf8
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_bush_leaves_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_bush_leaves_3.png b/kubejs/assets/betterend/textures/block/cave_bush_leaves_3.png
new file mode 100644
index 000000000..f1f6b5432
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_bush_leaves_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_bush_leaves_4.png b/kubejs/assets/betterend/textures/block/cave_bush_leaves_4.png
new file mode 100644
index 000000000..12fe93d9d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_bush_leaves_4.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_grass_1.png b/kubejs/assets/betterend/textures/block/cave_grass_1.png
new file mode 100644
index 000000000..c0356dec5
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_grass_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_grass_2.png b/kubejs/assets/betterend/textures/block/cave_grass_2.png
new file mode 100644
index 000000000..2ad3bca53
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_grass_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_lantern_bottom.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_lantern_bottom.png
new file mode 100644
index 000000000..06a23b5a4
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_lantern_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_lantern_side.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_lantern_side.png
new file mode 100644
index 000000000..db30aa24b
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_lantern_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_side.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_side.png
new file mode 100644
index 000000000..b46d2e626
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_0.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_0.png
new file mode 100644
index 000000000..0d7ac3272
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_1.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_1.png
new file mode 100644
index 000000000..777c76283
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_2.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_2.png
new file mode 100644
index 000000000..c6ea044ac
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_3.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_3.png
new file mode 100644
index 000000000..3182ea977
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_3_side.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_3_side.png
new file mode 100644
index 000000000..2e9df50b1
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_stem_3_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/cave_pumpkin_top.png b/kubejs/assets/betterend/textures/block/cave_pumpkin_top.png
new file mode 100644
index 000000000..859f30bee
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cave_pumpkin_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/charnia_cyan.png b/kubejs/assets/betterend/textures/block/charnia_cyan.png
new file mode 100644
index 000000000..cc93ab69a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/charnia_cyan.png differ
diff --git a/kubejs/assets/betterend/textures/block/charnia_green.png b/kubejs/assets/betterend/textures/block/charnia_green.png
new file mode 100644
index 000000000..1443c1bd0
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/charnia_green.png differ
diff --git a/kubejs/assets/betterend/textures/block/charnia_light_blue.png b/kubejs/assets/betterend/textures/block/charnia_light_blue.png
new file mode 100644
index 000000000..c57547066
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/charnia_light_blue.png differ
diff --git a/kubejs/assets/betterend/textures/block/charnia_orange.png b/kubejs/assets/betterend/textures/block/charnia_orange.png
new file mode 100644
index 000000000..35256a3c7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/charnia_orange.png differ
diff --git a/kubejs/assets/betterend/textures/block/charnia_purple.png b/kubejs/assets/betterend/textures/block/charnia_purple.png
new file mode 100644
index 000000000..7e607ad13
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/charnia_purple.png differ
diff --git a/kubejs/assets/betterend/textures/block/charnia_red.png b/kubejs/assets/betterend/textures/block/charnia_red.png
new file mode 100644
index 000000000..152a3290e
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/charnia_red.png differ
diff --git a/kubejs/assets/betterend/textures/block/chorus_mushroom_0.png b/kubejs/assets/betterend/textures/block/chorus_mushroom_0.png
new file mode 100644
index 000000000..6d58e8fd5
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/chorus_mushroom_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/chorus_mushroom_1.png b/kubejs/assets/betterend/textures/block/chorus_mushroom_1.png
new file mode 100644
index 000000000..126807c77
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/chorus_mushroom_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/chorus_mushroom_2.png b/kubejs/assets/betterend/textures/block/chorus_mushroom_2.png
new file mode 100644
index 000000000..609accf44
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/chorus_mushroom_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/chorus_mushroom_3.png b/kubejs/assets/betterend/textures/block/chorus_mushroom_3.png
new file mode 100644
index 000000000..15ca654ef
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/chorus_mushroom_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/clawfern.png b/kubejs/assets/betterend/textures/block/clawfern.png
new file mode 100644
index 000000000..189217e55
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/clawfern.png differ
diff --git a/kubejs/assets/betterend/textures/block/creeping_moss_leaves.png b/kubejs/assets/betterend/textures/block/creeping_moss_leaves.png
new file mode 100644
index 000000000..8a41db36c
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/creeping_moss_leaves.png differ
diff --git a/kubejs/assets/betterend/textures/block/creeping_moss_spores.png b/kubejs/assets/betterend/textures/block/creeping_moss_spores.png
new file mode 100644
index 000000000..6b23f6989
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/creeping_moss_spores.png differ
diff --git a/kubejs/assets/betterend/textures/block/cyan_moss.png b/kubejs/assets/betterend/textures/block/cyan_moss.png
new file mode 100644
index 000000000..6046d3c71
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/cyan_moss.png differ
diff --git a/kubejs/assets/betterend/textures/block/dense_vine.png b/kubejs/assets/betterend/textures/block/dense_vine.png
new file mode 100644
index 000000000..045cbdb06
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/dense_vine.png differ
diff --git a/kubejs/assets/betterend/textures/block/dense_vine_bottom.png b/kubejs/assets/betterend/textures/block/dense_vine_bottom.png
new file mode 100644
index 000000000..d5ccb1f2c
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/dense_vine_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/dense_vine_roots.png b/kubejs/assets/betterend/textures/block/dense_vine_roots.png
new file mode 100644
index 000000000..26817e41a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/dense_vine_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_0.png b/kubejs/assets/betterend/textures/block/end_lily_0.png
new file mode 100644
index 000000000..fb440929a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_1.png b/kubejs/assets/betterend/textures/block/end_lily_1.png
new file mode 100644
index 000000000..d44679160
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_2.png b/kubejs/assets/betterend/textures/block/end_lily_2.png
new file mode 100644
index 000000000..8515e3a53
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_3.png b/kubejs/assets/betterend/textures/block/end_lily_3.png
new file mode 100644
index 000000000..b197a971d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_flower.png b/kubejs/assets/betterend/textures/block/end_lily_flower.png
new file mode 100644
index 000000000..2dc6da0d5
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_flower.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_flower_small.png b/kubejs/assets/betterend/textures/block/end_lily_flower_small.png
new file mode 100644
index 000000000..dbb9d518d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_flower_small.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_leaf.png b/kubejs/assets/betterend/textures/block/end_lily_leaf.png
new file mode 100644
index 000000000..742a04cb9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_leaf.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_leaf_small.png b/kubejs/assets/betterend/textures/block/end_lily_leaf_small.png
new file mode 100644
index 000000000..50af136cf
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_leaf_small.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_roots.png b/kubejs/assets/betterend/textures/block/end_lily_roots.png
new file mode 100644
index 000000000..23e8d6743
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lily_stem.png b/kubejs/assets/betterend/textures/block/end_lily_stem.png
new file mode 100644
index 000000000..eceaaae5d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lily_stem.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_1.png b/kubejs/assets/betterend/textures/block/end_lotus_1.png
new file mode 100644
index 000000000..975402544
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_2.png b/kubejs/assets/betterend/textures/block/end_lotus_2.png
new file mode 100644
index 000000000..de31203f7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_3.png b/kubejs/assets/betterend/textures/block/end_lotus_3.png
new file mode 100644
index 000000000..6de8053ba
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_4.png b/kubejs/assets/betterend/textures/block/end_lotus_4.png
new file mode 100644
index 000000000..557dc1bfc
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_4.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_center.png b/kubejs/assets/betterend/textures/block/end_lotus_center.png
new file mode 100644
index 000000000..a7c54ebb7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_center.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_center_2.png b/kubejs/assets/betterend/textures/block/end_lotus_center_2.png
new file mode 100644
index 000000000..cdfd4fbe9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_center_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_leaf_center.png b/kubejs/assets/betterend/textures/block/end_lotus_leaf_center.png
new file mode 100644
index 000000000..46e03e0c0
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_leaf_center.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_leaf_corner.png b/kubejs/assets/betterend/textures/block/end_lotus_leaf_corner.png
new file mode 100644
index 000000000..d3b33e7d2
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_leaf_corner.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_leaf_cutout.png b/kubejs/assets/betterend/textures/block/end_lotus_leaf_cutout.png
new file mode 100644
index 000000000..d5851cc20
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_leaf_cutout.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_leaf_side.png b/kubejs/assets/betterend/textures/block/end_lotus_leaf_side.png
new file mode 100644
index 000000000..dd49f021e
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_leaf_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_petal.png b/kubejs/assets/betterend/textures/block/end_lotus_petal.png
new file mode 100644
index 000000000..cfbaa4ccc
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_petal.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_petal_2.png b/kubejs/assets/betterend/textures/block/end_lotus_petal_2.png
new file mode 100644
index 000000000..fa5888e57
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_petal_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_roots.png b/kubejs/assets/betterend/textures/block/end_lotus_roots.png
new file mode 100644
index 000000000..a341b0ec1
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/end_lotus_stem.png b/kubejs/assets/betterend/textures/block/end_lotus_stem.png
new file mode 100644
index 000000000..6204c60a9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/end_lotus_stem.png differ
diff --git a/kubejs/assets/betterend/textures/block/filalux_wings.png b/kubejs/assets/betterend/textures/block/filalux_wings.png
new file mode 100644
index 000000000..747481772
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/filalux_wings.png differ
diff --git a/kubejs/assets/betterend/textures/block/filalux_wings_large.png b/kubejs/assets/betterend/textures/block/filalux_wings_large.png
new file mode 100644
index 000000000..49b7603d3
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/filalux_wings_large.png differ
diff --git a/kubejs/assets/betterend/textures/block/filalux_wings_top.png b/kubejs/assets/betterend/textures/block/filalux_wings_top.png
new file mode 100644
index 000000000..6a7eeb180
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/filalux_wings_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/filalux_wings_top_bottom.png b/kubejs/assets/betterend/textures/block/filalux_wings_top_bottom.png
new file mode 100644
index 000000000..83e72da6a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/filalux_wings_top_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/filalux_wings_top_side.png b/kubejs/assets/betterend/textures/block/filalux_wings_top_side.png
new file mode 100644
index 000000000..8ff78904d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/filalux_wings_top_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/flamaea_1.png b/kubejs/assets/betterend/textures/block/flamaea_1.png
new file mode 100644
index 000000000..ca8a7ece9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/flamaea_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/flamaea_2.png b/kubejs/assets/betterend/textures/block/flamaea_2.png
new file mode 100644
index 000000000..61a1dfe2f
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/flamaea_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/flamaea_3.png b/kubejs/assets/betterend/textures/block/flamaea_3.png
new file mode 100644
index 000000000..869153eea
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/flamaea_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/flamaea_4.png b/kubejs/assets/betterend/textures/block/flamaea_4.png
new file mode 100644
index 000000000..c54c97ff9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/flamaea_4.png differ
diff --git a/kubejs/assets/betterend/textures/block/flamaea_5.png b/kubejs/assets/betterend/textures/block/flamaea_5.png
new file mode 100644
index 000000000..bbfeb9f15
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/flamaea_5.png differ
diff --git a/kubejs/assets/betterend/textures/block/flammalix.png b/kubejs/assets/betterend/textures/block/flammalix.png
new file mode 100644
index 000000000..2757c7031
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/flammalix.png differ
diff --git a/kubejs/assets/betterend/textures/block/globulagus.png b/kubejs/assets/betterend/textures/block/globulagus.png
new file mode 100644
index 000000000..e4b371837
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/globulagus.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_leaves.png b/kubejs/assets/betterend/textures/block/glowing_pillar_leaves.png
new file mode 100644
index 000000000..2235b322f
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_leaves.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_luminophor.png b/kubejs/assets/betterend/textures/block/glowing_pillar_luminophor.png
new file mode 100644
index 000000000..3f70581fb
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_luminophor.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_roots_both.png b/kubejs/assets/betterend/textures/block/glowing_pillar_roots_both.png
new file mode 100644
index 000000000..9d5e434ed
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_roots_both.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_roots_bottom.png b/kubejs/assets/betterend/textures/block/glowing_pillar_roots_bottom.png
new file mode 100644
index 000000000..4166fd3f7
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_roots_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_roots_top.png b/kubejs/assets/betterend/textures/block/glowing_pillar_roots_top.png
new file mode 100644
index 000000000..6843b53ab
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_roots_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_seed_0.png b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_0.png
new file mode 100644
index 000000000..30c9d3204
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_seed_1.png b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_1.png
new file mode 100644
index 000000000..3e473d7f6
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_seed_2.png b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_2.png
new file mode 100644
index 000000000..d6a987aee
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/glowing_pillar_seed_3.png b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_3.png
new file mode 100644
index 000000000..736198cdb
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/glowing_pillar_seed_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_bloom_bottom.png b/kubejs/assets/betterend/textures/block/hydralux_bloom_bottom.png
new file mode 100644
index 000000000..52ed57dcc
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_bloom_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_bloom_top.png b/kubejs/assets/betterend/textures/block/hydralux_bloom_top.png
new file mode 100644
index 000000000..6c2f05293
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_bloom_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_flower_bottom.png b/kubejs/assets/betterend/textures/block/hydralux_flower_bottom.png
new file mode 100644
index 000000000..fcf05ac6d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_flower_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_flower_bud.png b/kubejs/assets/betterend/textures/block/hydralux_flower_bud.png
new file mode 100644
index 000000000..387700846
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_flower_bud.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_bottom.png b/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_bottom.png
new file mode 100644
index 000000000..8e577d393
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_side.png b/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_side.png
new file mode 100644
index 000000000..7de03a1e4
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_top.png b/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_top.png
new file mode 100644
index 000000000..b945c552b
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_flower_bud_petal_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_flower_petal.png b/kubejs/assets/betterend/textures/block/hydralux_flower_petal.png
new file mode 100644
index 000000000..30150f226
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_flower_petal.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_petal_block.png b/kubejs/assets/betterend/textures/block/hydralux_petal_block.png
new file mode 100644
index 000000000..0f9557b8a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_petal_block.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_petal_block_colored.png b/kubejs/assets/betterend/textures/block/hydralux_petal_block_colored.png
new file mode 100644
index 000000000..596dd8864
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_petal_block_colored.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_roots.png b/kubejs/assets/betterend/textures/block/hydralux_roots.png
new file mode 100644
index 000000000..8ec72837b
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_roots.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_sapling_1.png b/kubejs/assets/betterend/textures/block/hydralux_sapling_1.png
new file mode 100644
index 000000000..33c685a52
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_sapling_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_sapling_2.png b/kubejs/assets/betterend/textures/block/hydralux_sapling_2.png
new file mode 100644
index 000000000..ddf006a4e
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_sapling_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_sapling_3.png b/kubejs/assets/betterend/textures/block/hydralux_sapling_3.png
new file mode 100644
index 000000000..516b3c16d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_sapling_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_sapling_4.png b/kubejs/assets/betterend/textures/block/hydralux_sapling_4.png
new file mode 100644
index 000000000..584e2b77e
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_sapling_4.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_vine.png b/kubejs/assets/betterend/textures/block/hydralux_vine.png
new file mode 100644
index 000000000..5c34083a6
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_vine.png differ
diff --git a/kubejs/assets/betterend/textures/block/hydralux_vine_bottom.png b/kubejs/assets/betterend/textures/block/hydralux_vine_bottom.png
new file mode 100644
index 000000000..57b5c43bc
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/hydralux_vine_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_leaf.png b/kubejs/assets/betterend/textures/block/jungle_fern_leaf.png
new file mode 100644
index 000000000..a7f62e006
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_leaf.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_leaf_2.png b/kubejs/assets/betterend/textures/block/jungle_fern_leaf_2.png
new file mode 100644
index 000000000..85ab5e7e9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_leaf_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_leaf_3.png b/kubejs/assets/betterend/textures/block/jungle_fern_leaf_3.png
new file mode 100644
index 000000000..86cbcb27f
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_leaf_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_middle.png b/kubejs/assets/betterend/textures/block/jungle_fern_middle.png
new file mode 100644
index 000000000..e28d8aaf4
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_middle.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_middle_2.png b/kubejs/assets/betterend/textures/block/jungle_fern_middle_2.png
new file mode 100644
index 000000000..0e8384b46
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_middle_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_middle_3.png b/kubejs/assets/betterend/textures/block/jungle_fern_middle_3.png
new file mode 100644
index 000000000..b24117612
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_middle_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_spore.png b/kubejs/assets/betterend/textures/block/jungle_fern_spore.png
new file mode 100644
index 000000000..5504e57e8
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_spore.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_spore_2.png b/kubejs/assets/betterend/textures/block/jungle_fern_spore_2.png
new file mode 100644
index 000000000..37d967474
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_spore_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_fern_spore_3.png b/kubejs/assets/betterend/textures/block/jungle_fern_spore_3.png
new file mode 100644
index 000000000..a82c84296
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_fern_spore_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_vine.png b/kubejs/assets/betterend/textures/block/jungle_vine.png
new file mode 100644
index 000000000..82c144fc8
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_vine.png differ
diff --git a/kubejs/assets/betterend/textures/block/jungle_vine_bottom.png b/kubejs/assets/betterend/textures/block/jungle_vine_bottom.png
new file mode 100644
index 000000000..e3c5055c1
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/jungle_vine_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/lamellarium.png b/kubejs/assets/betterend/textures/block/lamellarium.png
new file mode 100644
index 000000000..a57759bbb
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lamellarium.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_leaf_bottom.png b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_bottom.png
new file mode 100644
index 000000000..6072f3e5a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_leaf_middle.png b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_middle.png
new file mode 100644
index 000000000..2894e3881
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_middle.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_leaf_pre_top.png b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_pre_top.png
new file mode 100644
index 000000000..e7b37edec
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_pre_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_leaf_top.png b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_top.png
new file mode 100644
index 000000000..70a162be6
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_leaf_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_seed_0.png b/kubejs/assets/betterend/textures/block/lanceleaf_seed_0.png
new file mode 100644
index 000000000..ee0b223b1
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_seed_0.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_seed_1.png b/kubejs/assets/betterend/textures/block/lanceleaf_seed_1.png
new file mode 100644
index 000000000..7950f3377
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_seed_1.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_seed_2.png b/kubejs/assets/betterend/textures/block/lanceleaf_seed_2.png
new file mode 100644
index 000000000..35dd16727
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_seed_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_seed_3.png b/kubejs/assets/betterend/textures/block/lanceleaf_seed_3.png
new file mode 100644
index 000000000..34bd0d313
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_seed_3.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_stem.png b/kubejs/assets/betterend/textures/block/lanceleaf_stem.png
new file mode 100644
index 000000000..cfc8d2e11
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_stem.png differ
diff --git a/kubejs/assets/betterend/textures/block/lanceleaf_stem_top.png b/kubejs/assets/betterend/textures/block/lanceleaf_stem_top.png
new file mode 100644
index 000000000..4a3cf9b7d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lanceleaf_stem_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/large_amaranita_cap_bottom.png b/kubejs/assets/betterend/textures/block/large_amaranita_cap_bottom.png
new file mode 100644
index 000000000..a87e472e3
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/large_amaranita_cap_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/large_amaranita_cap_side.png b/kubejs/assets/betterend/textures/block/large_amaranita_cap_side.png
new file mode 100644
index 000000000..fa114fa7f
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/large_amaranita_cap_side.png differ
diff --git a/kubejs/assets/betterend/textures/block/large_amaranita_cap_top.png b/kubejs/assets/betterend/textures/block/large_amaranita_cap_top.png
new file mode 100644
index 000000000..67fc68f87
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/large_amaranita_cap_top.png differ
diff --git a/kubejs/assets/betterend/textures/block/lutebus.png b/kubejs/assets/betterend/textures/block/lutebus.png
new file mode 100644
index 000000000..c850af59c
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/lutebus.png differ
diff --git a/kubejs/assets/betterend/textures/block/magnula.png b/kubejs/assets/betterend/textures/block/magnula.png
new file mode 100644
index 000000000..73fe3e7cf
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/magnula.png differ
diff --git a/kubejs/assets/betterend/textures/block/magnula_bottom.png b/kubejs/assets/betterend/textures/block/magnula_bottom.png
new file mode 100644
index 000000000..ac2fb89db
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/magnula_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/nightshade_moss.png b/kubejs/assets/betterend/textures/block/nightshade_moss.png
new file mode 100644
index 000000000..40100bcff
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/nightshade_moss.png differ
diff --git a/kubejs/assets/betterend/textures/block/orango.png b/kubejs/assets/betterend/textures/block/orango.png
new file mode 100644
index 000000000..63d30f644
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/orango.png differ
diff --git a/kubejs/assets/betterend/textures/block/pond_anemone.png b/kubejs/assets/betterend/textures/block/pond_anemone.png
new file mode 100644
index 000000000..a2115e4d6
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/pond_anemone.png differ
diff --git a/kubejs/assets/betterend/textures/block/purple_polypore.png b/kubejs/assets/betterend/textures/block/purple_polypore.png
new file mode 100644
index 000000000..4f4406101
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/purple_polypore.png differ
diff --git a/kubejs/assets/betterend/textures/block/rubinea.png b/kubejs/assets/betterend/textures/block/rubinea.png
new file mode 100644
index 000000000..ea924734a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/rubinea.png differ
diff --git a/kubejs/assets/betterend/textures/block/rubinea_bottom.png b/kubejs/assets/betterend/textures/block/rubinea_bottom.png
new file mode 100644
index 000000000..8ad59259b
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/rubinea_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/ruscus.png b/kubejs/assets/betterend/textures/block/ruscus.png
new file mode 100644
index 000000000..0098eef03
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/ruscus.png differ
diff --git a/kubejs/assets/betterend/textures/block/shadow_berry.png b/kubejs/assets/betterend/textures/block/shadow_berry.png
new file mode 100644
index 000000000..e3d697a63
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/shadow_berry.png differ
diff --git a/kubejs/assets/betterend/textures/block/shadow_berry_leaves.png b/kubejs/assets/betterend/textures/block/shadow_berry_leaves.png
new file mode 100644
index 000000000..2be3feca9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/shadow_berry_leaves.png differ
diff --git a/kubejs/assets/betterend/textures/block/small_amaranita_mushroom.png b/kubejs/assets/betterend/textures/block/small_amaranita_mushroom.png
new file mode 100644
index 000000000..51e2a511f
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/small_amaranita_mushroom.png differ
diff --git a/kubejs/assets/betterend/textures/block/twisted_moss.png b/kubejs/assets/betterend/textures/block/twisted_moss.png
new file mode 100644
index 000000000..64352afd3
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/twisted_moss.png differ
diff --git a/kubejs/assets/betterend/textures/block/twisted_moss_2.png b/kubejs/assets/betterend/textures/block/twisted_moss_2.png
new file mode 100644
index 000000000..dfc987526
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/twisted_moss_2.png differ
diff --git a/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_bottom.png b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_bottom.png
new file mode 100644
index 000000000..f12047a30
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_end.png b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_end.png
new file mode 100644
index 000000000..06d1bbadf
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_end.png differ
diff --git a/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_sporophyte.png b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_sporophyte.png
new file mode 100644
index 000000000..20b3b409f
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_sporophyte.png differ
diff --git a/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_up.png b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_up.png
new file mode 100644
index 000000000..ab04f81a9
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/twisted_umbrella_moss_up.png differ
diff --git a/kubejs/assets/betterend/textures/block/umbrella_moss_bottom.png b/kubejs/assets/betterend/textures/block/umbrella_moss_bottom.png
new file mode 100644
index 000000000..4dadf7979
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/umbrella_moss_bottom.png differ
diff --git a/kubejs/assets/betterend/textures/block/umbrella_moss_end.png b/kubejs/assets/betterend/textures/block/umbrella_moss_end.png
new file mode 100644
index 000000000..01edef43a
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/umbrella_moss_end.png differ
diff --git a/kubejs/assets/betterend/textures/block/umbrella_moss_small.png b/kubejs/assets/betterend/textures/block/umbrella_moss_small.png
new file mode 100644
index 000000000..504d4023d
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/umbrella_moss_small.png differ
diff --git a/kubejs/assets/betterend/textures/block/umbrella_moss_sporophyte.png b/kubejs/assets/betterend/textures/block/umbrella_moss_sporophyte.png
new file mode 100644
index 000000000..776b90891
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/umbrella_moss_sporophyte.png differ
diff --git a/kubejs/assets/betterend/textures/block/umbrella_moss_up.png b/kubejs/assets/betterend/textures/block/umbrella_moss_up.png
new file mode 100644
index 000000000..fbf9aa927
Binary files /dev/null and b/kubejs/assets/betterend/textures/block/umbrella_moss_up.png differ
diff --git a/kubejs/assets/betterend/textures/item/amber_root_seed.png b/kubejs/assets/betterend/textures/item/amber_root_seed.png
new file mode 100644
index 000000000..270c111d5
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/amber_root_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/amber_roots.png b/kubejs/assets/betterend/textures/item/amber_roots.png
new file mode 100644
index 000000000..d78d4562f
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/amber_roots.png differ
diff --git a/kubejs/assets/betterend/textures/item/aurant_polypore.png b/kubejs/assets/betterend/textures/item/aurant_polypore.png
new file mode 100644
index 000000000..84010b1d4
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/aurant_polypore.png differ
diff --git a/kubejs/assets/betterend/textures/item/blossom_berry.png b/kubejs/assets/betterend/textures/item/blossom_berry.png
new file mode 100644
index 000000000..a92c1db04
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/blossom_berry.png differ
diff --git a/kubejs/assets/betterend/textures/item/blossom_berry_seed.png b/kubejs/assets/betterend/textures/item/blossom_berry_seed.png
new file mode 100644
index 000000000..0d9cbf5e7
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/blossom_berry_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/blue_vine_seed.png b/kubejs/assets/betterend/textures/item/blue_vine_seed.png
new file mode 100644
index 000000000..8749466ce
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/blue_vine_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/bolux_mushroom.png b/kubejs/assets/betterend/textures/item/bolux_mushroom.png
new file mode 100644
index 000000000..a92762642
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/bolux_mushroom.png differ
diff --git a/kubejs/assets/betterend/textures/item/bolux_mushroom_cooked.png b/kubejs/assets/betterend/textures/item/bolux_mushroom_cooked.png
new file mode 100644
index 000000000..844e05abd
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/bolux_mushroom_cooked.png differ
diff --git a/kubejs/assets/betterend/textures/item/bolux_mushroom_seeds.png b/kubejs/assets/betterend/textures/item/bolux_mushroom_seeds.png
new file mode 100644
index 000000000..ffcfa7b90
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/bolux_mushroom_seeds.png differ
diff --git a/kubejs/assets/betterend/textures/item/cave_pumpkin_pie.png b/kubejs/assets/betterend/textures/item/cave_pumpkin_pie.png
new file mode 100644
index 000000000..419b2de10
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/cave_pumpkin_pie.png differ
diff --git a/kubejs/assets/betterend/textures/item/cave_pumpkin_seed.png b/kubejs/assets/betterend/textures/item/cave_pumpkin_seed.png
new file mode 100644
index 000000000..e6e2278ef
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/cave_pumpkin_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/charnia_cyan.png b/kubejs/assets/betterend/textures/item/charnia_cyan.png
new file mode 100644
index 000000000..363579631
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/charnia_cyan.png differ
diff --git a/kubejs/assets/betterend/textures/item/charnia_green.png b/kubejs/assets/betterend/textures/item/charnia_green.png
new file mode 100644
index 000000000..7e9121b5d
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/charnia_green.png differ
diff --git a/kubejs/assets/betterend/textures/item/charnia_light_blue.png b/kubejs/assets/betterend/textures/item/charnia_light_blue.png
new file mode 100644
index 000000000..2dde93a91
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/charnia_light_blue.png differ
diff --git a/kubejs/assets/betterend/textures/item/charnia_orange.png b/kubejs/assets/betterend/textures/item/charnia_orange.png
new file mode 100644
index 000000000..19da7ad1f
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/charnia_orange.png differ
diff --git a/kubejs/assets/betterend/textures/item/charnia_purple.png b/kubejs/assets/betterend/textures/item/charnia_purple.png
new file mode 100644
index 000000000..40538bf35
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/charnia_purple.png differ
diff --git a/kubejs/assets/betterend/textures/item/charnia_red.png b/kubejs/assets/betterend/textures/item/charnia_red.png
new file mode 100644
index 000000000..bf5cddfa5
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/charnia_red.png differ
diff --git a/kubejs/assets/betterend/textures/item/chorus_mushroom_cooked.png b/kubejs/assets/betterend/textures/item/chorus_mushroom_cooked.png
new file mode 100644
index 000000000..dd74d8c96
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/chorus_mushroom_cooked.png differ
diff --git a/kubejs/assets/betterend/textures/item/chorus_mushroom_raw.png b/kubejs/assets/betterend/textures/item/chorus_mushroom_raw.png
new file mode 100644
index 000000000..171777e03
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/chorus_mushroom_raw.png differ
diff --git a/kubejs/assets/betterend/textures/item/chorus_mushroom_seed.png b/kubejs/assets/betterend/textures/item/chorus_mushroom_seed.png
new file mode 100644
index 000000000..31c20cc7f
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/chorus_mushroom_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/creeping_moss.png b/kubejs/assets/betterend/textures/item/creeping_moss.png
new file mode 100644
index 000000000..54ad3f534
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/creeping_moss.png differ
diff --git a/kubejs/assets/betterend/textures/item/end_lily_leaf_dried.png b/kubejs/assets/betterend/textures/item/end_lily_leaf_dried.png
new file mode 100644
index 000000000..08e55bdb5
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/end_lily_leaf_dried.png differ
diff --git a/kubejs/assets/betterend/textures/item/end_lily_seed.png b/kubejs/assets/betterend/textures/item/end_lily_seed.png
new file mode 100644
index 000000000..347e1919a
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/end_lily_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/end_lotus_seed.png b/kubejs/assets/betterend/textures/item/end_lotus_seed.png
new file mode 100644
index 000000000..64dc7dc81
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/end_lotus_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/filalux_wings.png b/kubejs/assets/betterend/textures/item/filalux_wings.png
new file mode 100644
index 000000000..6b0ee2a48
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/filalux_wings.png differ
diff --git a/kubejs/assets/betterend/textures/item/flammalix.png b/kubejs/assets/betterend/textures/item/flammalix.png
new file mode 100644
index 000000000..80de2d858
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/flammalix.png differ
diff --git a/kubejs/assets/betterend/textures/item/glowing_bulb.png b/kubejs/assets/betterend/textures/item/glowing_bulb.png
new file mode 100644
index 000000000..3e2f2d263
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/glowing_bulb.png differ
diff --git a/kubejs/assets/betterend/textures/item/glowing_pillar_seed.png b/kubejs/assets/betterend/textures/item/glowing_pillar_seed.png
new file mode 100644
index 000000000..65152e7d3
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/glowing_pillar_seed.png differ
diff --git a/kubejs/assets/betterend/textures/item/hydralux_petal.png b/kubejs/assets/betterend/textures/item/hydralux_petal.png
new file mode 100644
index 000000000..a9530d299
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/hydralux_petal.png differ
diff --git a/kubejs/assets/betterend/textures/item/hydralux_spore.png b/kubejs/assets/betterend/textures/item/hydralux_spore.png
new file mode 100644
index 000000000..5041dcf0e
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/hydralux_spore.png differ
diff --git a/kubejs/assets/betterend/textures/item/jungle_fern.png b/kubejs/assets/betterend/textures/item/jungle_fern.png
new file mode 100644
index 000000000..bbe489557
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/jungle_fern.png differ
diff --git a/kubejs/assets/betterend/textures/item/murkweed.png b/kubejs/assets/betterend/textures/item/murkweed.png
new file mode 100644
index 000000000..39279a5b1
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/murkweed.png differ
diff --git a/kubejs/assets/betterend/textures/item/pond_anemone.png b/kubejs/assets/betterend/textures/item/pond_anemone.png
new file mode 100644
index 000000000..6b9dd9f88
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/pond_anemone.png differ
diff --git a/kubejs/assets/betterend/textures/item/purple_polypore.png b/kubejs/assets/betterend/textures/item/purple_polypore.png
new file mode 100644
index 000000000..44ac7d393
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/purple_polypore.png differ
diff --git a/kubejs/assets/betterend/textures/item/shadow_berry.png b/kubejs/assets/betterend/textures/item/shadow_berry.png
new file mode 100644
index 000000000..f23af1bf4
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/shadow_berry.png differ
diff --git a/kubejs/assets/betterend/textures/item/shadow_berry_cooked.png b/kubejs/assets/betterend/textures/item/shadow_berry_cooked.png
new file mode 100644
index 000000000..7771c320c
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/shadow_berry_cooked.png differ
diff --git a/kubejs/assets/betterend/textures/item/shadow_berry_seeds.png b/kubejs/assets/betterend/textures/item/shadow_berry_seeds.png
new file mode 100644
index 000000000..04bb4dd00
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/shadow_berry_seeds.png differ
diff --git a/kubejs/assets/betterend/textures/item/small_amaranita_mushroom.png b/kubejs/assets/betterend/textures/item/small_amaranita_mushroom.png
new file mode 100644
index 000000000..008b1a70d
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/small_amaranita_mushroom.png differ
diff --git a/kubejs/assets/betterend/textures/item/twisted_umbrella_moss_large.png b/kubejs/assets/betterend/textures/item/twisted_umbrella_moss_large.png
new file mode 100644
index 000000000..c250f97f3
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/twisted_umbrella_moss_large.png differ
diff --git a/kubejs/assets/betterend/textures/item/twisted_umbrella_moss_small.png b/kubejs/assets/betterend/textures/item/twisted_umbrella_moss_small.png
new file mode 100644
index 000000000..36c8cb233
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/twisted_umbrella_moss_small.png differ
diff --git a/kubejs/assets/betterend/textures/item/umbrella_moss_large.png b/kubejs/assets/betterend/textures/item/umbrella_moss_large.png
new file mode 100644
index 000000000..1f6400422
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/umbrella_moss_large.png differ
diff --git a/kubejs/assets/betterend/textures/item/umbrella_moss_small.png b/kubejs/assets/betterend/textures/item/umbrella_moss_small.png
new file mode 100644
index 000000000..036121758
Binary files /dev/null and b/kubejs/assets/betterend/textures/item/umbrella_moss_small.png differ
diff --git a/kubejs/assets/create/lang/uk_ua.json b/kubejs/assets/create/lang/uk_ua.json
index 7f4e08d59..62ef6ace1 100644
--- a/kubejs/assets/create/lang/uk_ua.json
+++ b/kubejs/assets/create/lang/uk_ua.json
@@ -1,8 +1,8 @@
{
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
"block.create.netherite_backtank": "Рюкзак із синьої сталі",
- "block.create.industrial_iron_block": "Промисловий сталевий блок",
- "block.create.weathered_iron_block": "Блок вивітреної сталі",
+ "block.create.industrial_iron_block": "Промисловий Сталевий Блок",
+ "block.create.weathered_iron_block": "Блок Вивітреної Сталі",
"block.create.industrial_iron_window": "Промислове сталеве вікно",
"block.create.weathered_iron_window": "Вікно з вивітреної сталі",
"block.create.industrial_iron_window_pane": "Панель промислового сталевого вікна",
diff --git a/kubejs/assets/createhorsepower/lang/uk_ua.json b/kubejs/assets/createhorsepower/lang/uk_ua.json
index 223843916..bee021e85 100644
--- a/kubejs/assets/createhorsepower/lang/uk_ua.json
+++ b/kubejs/assets/createhorsepower/lang/uk_ua.json
@@ -1,4 +1,4 @@
{
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
- "blocks.createhorsepower.horse_crank": "Тваринний Привід"
+ "block.createhorsepower.horse_crank": "Тваринний Привід"
}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/ad_astra_oxygen_loading.json b/kubejs/assets/emi/category/properties/ad_astra_oxygen_loading.json
index 5bfc8f37a..9510c19e4 100644
--- a/kubejs/assets/emi/category/properties/ad_astra_oxygen_loading.json
+++ b/kubejs/assets/emi/category/properties/ad_astra_oxygen_loading.json
@@ -1 +1 @@
-{"ad_astra:oxygen_loading":{"order":154}}
\ No newline at end of file
+{"ad_astra:oxygen_loading":{"order":159}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/ae2_attunement.json b/kubejs/assets/emi/category/properties/ae2_attunement.json
index 34eca3302..a2a7db15f 100644
--- a/kubejs/assets/emi/category/properties/ae2_attunement.json
+++ b/kubejs/assets/emi/category/properties/ae2_attunement.json
@@ -1 +1 @@
-{"ae2:attunement":{"order":151}}
\ No newline at end of file
+{"ae2:attunement":{"order":156}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/ae2_condenser.json b/kubejs/assets/emi/category/properties/ae2_condenser.json
index c79546830..fd17cdb4c 100644
--- a/kubejs/assets/emi/category/properties/ae2_condenser.json
+++ b/kubejs/assets/emi/category/properties/ae2_condenser.json
@@ -1 +1 @@
-{"ae2:condenser":{"order":141}}
\ No newline at end of file
+{"ae2:condenser":{"order":146}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/ae2_item_transformation.json b/kubejs/assets/emi/category/properties/ae2_item_transformation.json
index f9b230502..78373990a 100644
--- a/kubejs/assets/emi/category/properties/ae2_item_transformation.json
+++ b/kubejs/assets/emi/category/properties/ae2_item_transformation.json
@@ -1 +1 @@
-{"ae2:item_transformation":{"order":130}}
\ No newline at end of file
+{"ae2:item_transformation":{"order":135}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/create_draining.json b/kubejs/assets/emi/category/properties/create_draining.json
index 4495ed635..06be9dd2c 100644
--- a/kubejs/assets/emi/category/properties/create_draining.json
+++ b/kubejs/assets/emi/category/properties/create_draining.json
@@ -1 +1 @@
-{"create:draining":{"order":152}}
\ No newline at end of file
+{"create:draining":{"order":157}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/create_spout_filling.json b/kubejs/assets/emi/category/properties/create_spout_filling.json
index 142c7159b..7893b41fd 100644
--- a/kubejs/assets/emi/category/properties/create_spout_filling.json
+++ b/kubejs/assets/emi/category/properties/create_spout_filling.json
@@ -1 +1 @@
-{"create:spout_filling":{"order":153}}
\ No newline at end of file
+{"create:spout_filling":{"order":158}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/createaddition_rolling.json b/kubejs/assets/emi/category/properties/createaddition_rolling.json
index d9bb81c21..056262e1c 100644
--- a/kubejs/assets/emi/category/properties/createaddition_rolling.json
+++ b/kubejs/assets/emi/category/properties/createaddition_rolling.json
@@ -1 +1 @@
-{"createaddition:rolling":{"order":67}}
\ No newline at end of file
+{"createaddition:rolling":{"order":69}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json
index 866b6a815..1c4d394f5 100644
--- a/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json
+++ b/kubejs/assets/emi/category/properties/domum_ornamentum_architects_cutter.json
@@ -1 +1 @@
-{"domum_ornamentum:architects_cutter":{"order":150}}
\ No newline at end of file
+{"domum_ornamentum:architects_cutter":{"order":155}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/emi_info.json b/kubejs/assets/emi/category/properties/emi_info.json
index 46a30b0bb..756568a52 100644
--- a/kubejs/assets/emi/category/properties/emi_info.json
+++ b/kubejs/assets/emi/category/properties/emi_info.json
@@ -1 +1 @@
-{"emi:info":{"order":159}}
\ No newline at end of file
+{"emi:info":{"order":164}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/emi_tag.json b/kubejs/assets/emi/category/properties/emi_tag.json
index bedf1fb15..35098e653 100644
--- a/kubejs/assets/emi/category/properties/emi_tag.json
+++ b/kubejs/assets/emi/category/properties/emi_tag.json
@@ -1 +1 @@
-{"emi:tag":{"order":160}}
\ No newline at end of file
+{"emi:tag":{"order":165}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json
index 8d2506886..6cb5eb35c 100644
--- a/kubejs/assets/emi/category/properties/exposure_photograph_printing.json
+++ b/kubejs/assets/emi/category/properties/exposure_photograph_printing.json
@@ -1 +1 @@
-{"exposure:photograph_printing":{"order":146}}
\ No newline at end of file
+{"exposure:photograph_printing":{"order":151}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json
index b9457419e..aa0d5e721 100644
--- a/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json
+++ b/kubejs/assets/emi/category/properties/exposure_photograph_stacking.json
@@ -1 +1 @@
-{"exposure:photograph_stacking":{"order":155}}
\ No newline at end of file
+{"exposure:photograph_stacking":{"order":160}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json
index dbe739864..0a4a8ea52 100644
--- a/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json
+++ b/kubejs/assets/emi/category/properties/framedblocks_framing_saw.json
@@ -1 +1 @@
-{"framedblocks:framing_saw":{"order":149}}
\ No newline at end of file
+{"framedblocks:framing_saw":{"order":154}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_automatic_packing.json b/kubejs/assets/emi/category/properties/greate_automatic_packing.json
index 2830c870d..3e636705e 100644
--- a/kubejs/assets/emi/category/properties/greate_automatic_packing.json
+++ b/kubejs/assets/emi/category/properties/greate_automatic_packing.json
@@ -1 +1 @@
-{"greate:automatic_packing":{"order":144}}
\ No newline at end of file
+{"greate:automatic_packing":{"order":149}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json
index 7972f5bbb..b1da674e8 100644
--- a/kubejs/assets/emi/category/properties/greate_automatic_shaped.json
+++ b/kubejs/assets/emi/category/properties/greate_automatic_shaped.json
@@ -1 +1 @@
-{"greate:automatic_shaped":{"order":142}}
\ No newline at end of file
+{"greate:automatic_shaped":{"order":147}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json
index 8be765d72..40a2a8b5d 100644
--- a/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json
+++ b/kubejs/assets/emi/category/properties/greate_automatic_shapeless.json
@@ -1 +1 @@
-{"greate:automatic_shapeless":{"order":143}}
\ No newline at end of file
+{"greate:automatic_shapeless":{"order":148}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_block_cutting.json b/kubejs/assets/emi/category/properties/greate_block_cutting.json
index c2f75d238..af82c00c1 100644
--- a/kubejs/assets/emi/category/properties/greate_block_cutting.json
+++ b/kubejs/assets/emi/category/properties/greate_block_cutting.json
@@ -1 +1 @@
-{"greate:block_cutting":{"order":148}}
\ No newline at end of file
+{"greate:block_cutting":{"order":153}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_crushing.json b/kubejs/assets/emi/category/properties/greate_crushing.json
index 35b5d4b95..89f502969 100644
--- a/kubejs/assets/emi/category/properties/greate_crushing.json
+++ b/kubejs/assets/emi/category/properties/greate_crushing.json
@@ -1 +1 @@
-{"greate:crushing":{"order":102}}
\ No newline at end of file
+{"greate:crushing":{"order":104}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_fan_washing.json b/kubejs/assets/emi/category/properties/greate_fan_washing.json
index 666937c38..f86647e24 100644
--- a/kubejs/assets/emi/category/properties/greate_fan_washing.json
+++ b/kubejs/assets/emi/category/properties/greate_fan_washing.json
@@ -1 +1 @@
-{"greate:fan_washing":{"order":132}}
\ No newline at end of file
+{"greate:fan_washing":{"order":137}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_milling.json b/kubejs/assets/emi/category/properties/greate_milling.json
index cbb2c90e3..bc5f127f2 100644
--- a/kubejs/assets/emi/category/properties/greate_milling.json
+++ b/kubejs/assets/emi/category/properties/greate_milling.json
@@ -1 +1 @@
-{"greate:milling":{"order":101}}
\ No newline at end of file
+{"greate:milling":{"order":103}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_mixing.json b/kubejs/assets/emi/category/properties/greate_mixing.json
index 535bc221e..113ec0216 100644
--- a/kubejs/assets/emi/category/properties/greate_mixing.json
+++ b/kubejs/assets/emi/category/properties/greate_mixing.json
@@ -1 +1 @@
-{"greate:mixing":{"order":104}}
\ No newline at end of file
+{"greate:mixing":{"order":106}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_pressing.json b/kubejs/assets/emi/category/properties/greate_pressing.json
index 6fa191380..d360bbdd0 100644
--- a/kubejs/assets/emi/category/properties/greate_pressing.json
+++ b/kubejs/assets/emi/category/properties/greate_pressing.json
@@ -1 +1 @@
-{"greate:pressing":{"order":92}}
\ No newline at end of file
+{"greate:pressing":{"order":94}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/greate_sawing.json b/kubejs/assets/emi/category/properties/greate_sawing.json
index 352eee084..664590908 100644
--- a/kubejs/assets/emi/category/properties/greate_sawing.json
+++ b/kubejs/assets/emi/category/properties/greate_sawing.json
@@ -1 +1 @@
-{"greate:sawing":{"order":79}}
\ No newline at end of file
+{"greate:sawing":{"order":81}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json
index f1127037f..58fbd66f4 100644
--- a/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json
+++ b/kubejs/assets/emi/category/properties/gtceu_air_scrubber.json
@@ -1 +1 @@
-{"gtceu:air_scrubber":{"order":61}}
\ No newline at end of file
+{"gtceu:air_scrubber":{"order":63}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json
index c780ece98..a84c92919 100644
--- a/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json
+++ b/kubejs/assets/emi/category/properties/gtceu_alloy_blast_smelter.json
@@ -1 +1 @@
-{"gtceu:alloy_blast_smelter":{"order":115}}
\ No newline at end of file
+{"gtceu:alloy_blast_smelter":{"order":117}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json
index be8911c15..62b1c950a 100644
--- a/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json
+++ b/kubejs/assets/emi/category/properties/gtceu_alloy_smelter.json
@@ -1 +1 @@
-{"gtceu:alloy_smelter":{"order":62}}
\ No newline at end of file
+{"gtceu:alloy_smelter":{"order":64}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json
index 56497a584..8e6adaa18 100644
--- a/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json
+++ b/kubejs/assets/emi/category/properties/gtceu_aqueous_accumulator.json
@@ -1 +1 @@
-{"gtceu:aqueous_accumulator":{"order":63}}
\ No newline at end of file
+{"gtceu:aqueous_accumulator":{"order":65}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json
index f67893f4b..6ab233c65 100644
--- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json
+++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace.json
@@ -1 +1 @@
-{"gtceu:arc_furnace":{"order":64}}
\ No newline at end of file
+{"gtceu:arc_furnace":{"order":66}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json
index 4840c3f6b..e4af226f9 100644
--- a/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json
+++ b/kubejs/assets/emi/category/properties/gtceu_arc_furnace_recycling.json
@@ -1 +1 @@
-{"gtceu:arc_furnace_recycling":{"order":138}}
\ No newline at end of file
+{"gtceu:arc_furnace_recycling":{"order":143}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_assembler.json b/kubejs/assets/emi/category/properties/gtceu_assembler.json
index 9feb4a3a7..36718ef4c 100644
--- a/kubejs/assets/emi/category/properties/gtceu_assembler.json
+++ b/kubejs/assets/emi/category/properties/gtceu_assembler.json
@@ -1 +1 @@
-{"gtceu:assembler":{"order":65}}
\ No newline at end of file
+{"gtceu:assembler":{"order":67}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json
index 27e58575d..a5a720cfc 100644
--- a/kubejs/assets/emi/category/properties/gtceu_assembly_line.json
+++ b/kubejs/assets/emi/category/properties/gtceu_assembly_line.json
@@ -1 +1 @@
-{"gtceu:assembly_line":{"order":116}}
\ No newline at end of file
+{"gtceu:assembly_line":{"order":118}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_autoclave.json b/kubejs/assets/emi/category/properties/gtceu_autoclave.json
index e14693c40..57d327cca 100644
--- a/kubejs/assets/emi/category/properties/gtceu_autoclave.json
+++ b/kubejs/assets/emi/category/properties/gtceu_autoclave.json
@@ -1 +1 @@
-{"gtceu:autoclave":{"order":66}}
\ No newline at end of file
+{"gtceu:autoclave":{"order":68}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_bender.json b/kubejs/assets/emi/category/properties/gtceu_bender.json
index 0f4f592ac..7bde30f4f 100644
--- a/kubejs/assets/emi/category/properties/gtceu_bender.json
+++ b/kubejs/assets/emi/category/properties/gtceu_bender.json
@@ -1 +1 @@
-{"gtceu:bender":{"order":69}}
\ No newline at end of file
+{"gtceu:bender":{"order":71}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_brewery.json b/kubejs/assets/emi/category/properties/gtceu_brewery.json
index d28c31826..134ac7a76 100644
--- a/kubejs/assets/emi/category/properties/gtceu_brewery.json
+++ b/kubejs/assets/emi/category/properties/gtceu_brewery.json
@@ -1 +1 @@
-{"gtceu:brewery":{"order":70}}
\ No newline at end of file
+{"gtceu:brewery":{"order":72}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_canner.json b/kubejs/assets/emi/category/properties/gtceu_canner.json
index 81563879b..bd66722a6 100644
--- a/kubejs/assets/emi/category/properties/gtceu_canner.json
+++ b/kubejs/assets/emi/category/properties/gtceu_canner.json
@@ -1 +1 @@
-{"gtceu:canner":{"order":71}}
\ No newline at end of file
+{"gtceu:canner":{"order":73}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json
index 7034513f9..a79755897 100644
--- a/kubejs/assets/emi/category/properties/gtceu_centrifuge.json
+++ b/kubejs/assets/emi/category/properties/gtceu_centrifuge.json
@@ -1 +1 @@
-{"gtceu:centrifuge":{"order":73}}
\ No newline at end of file
+{"gtceu:centrifuge":{"order":75}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json
index 258efb8a8..35c51b3ac 100644
--- a/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json
+++ b/kubejs/assets/emi/category/properties/gtceu_chem_dyes.json
@@ -1 +1 @@
-{"gtceu:chem_dyes":{"order":136}}
\ No newline at end of file
+{"gtceu:chem_dyes":{"order":141}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json
index 6a470f4c2..a88f782f1 100644
--- a/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json
+++ b/kubejs/assets/emi/category/properties/gtceu_chemical_bath.json
@@ -1 +1 @@
-{"gtceu:chemical_bath":{"order":74}}
\ No newline at end of file
+{"gtceu:chemical_bath":{"order":76}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json
index 9b3a5a82d..3e9bf3eb0 100644
--- a/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json
+++ b/kubejs/assets/emi/category/properties/gtceu_chemical_reactor.json
@@ -1 +1 @@
-{"gtceu:chemical_reactor":{"order":75}}
\ No newline at end of file
+{"gtceu:chemical_reactor":{"order":77}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json
index 3323d38f3..10d8b3562 100644
--- a/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json
+++ b/kubejs/assets/emi/category/properties/gtceu_circuit_assembler.json
@@ -1 +1 @@
-{"gtceu:circuit_assembler":{"order":77}}
\ No newline at end of file
+{"gtceu:circuit_assembler":{"order":79}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_compressor.json b/kubejs/assets/emi/category/properties/gtceu_compressor.json
index e36472045..f4f32d41a 100644
--- a/kubejs/assets/emi/category/properties/gtceu_compressor.json
+++ b/kubejs/assets/emi/category/properties/gtceu_compressor.json
@@ -1 +1 @@
-{"gtceu:compressor":{"order":78}}
\ No newline at end of file
+{"gtceu:compressor":{"order":80}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_cracker.json b/kubejs/assets/emi/category/properties/gtceu_cracker.json
index d9effd7c7..1297c9c90 100644
--- a/kubejs/assets/emi/category/properties/gtceu_cracker.json
+++ b/kubejs/assets/emi/category/properties/gtceu_cracker.json
@@ -1 +1 @@
-{"gtceu:cracker":{"order":117}}
\ No newline at end of file
+{"gtceu:cracker":{"order":119}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_cutter.json b/kubejs/assets/emi/category/properties/gtceu_cutter.json
index cfd3ec2f4..06e072204 100644
--- a/kubejs/assets/emi/category/properties/gtceu_cutter.json
+++ b/kubejs/assets/emi/category/properties/gtceu_cutter.json
@@ -1 +1 @@
-{"gtceu:cutter":{"order":80}}
\ No newline at end of file
+{"gtceu:cutter":{"order":82}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json
index b69b3dbf8..a498e4a74 100644
--- a/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json
+++ b/kubejs/assets/emi/category/properties/gtceu_distillation_tower.json
@@ -1 +1 @@
-{"gtceu:distillation_tower":{"order":82}}
\ No newline at end of file
+{"gtceu:distillation_tower":{"order":84}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_distillery.json b/kubejs/assets/emi/category/properties/gtceu_distillery.json
index 8f7183b9b..21a758c2c 100644
--- a/kubejs/assets/emi/category/properties/gtceu_distillery.json
+++ b/kubejs/assets/emi/category/properties/gtceu_distillery.json
@@ -1 +1 @@
-{"gtceu:distillery":{"order":81}}
\ No newline at end of file
+{"gtceu:distillery":{"order":83}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json
index 9af715ac9..7dd09c35e 100644
--- a/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json
+++ b/kubejs/assets/emi/category/properties/gtceu_electric_blast_furnace.json
@@ -1 +1 @@
-{"gtceu:electric_blast_furnace":{"order":118}}
\ No newline at end of file
+{"gtceu:electric_blast_furnace":{"order":120}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json
index 3b4fd8e2f..7e6b59068 100644
--- a/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_electrolyzer.json
@@ -1 +1 @@
-{"gtceu:electrolyzer":{"order":83}}
\ No newline at end of file
+{"gtceu:electrolyzer":{"order":85}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json
index d4dc891bb..c2d57fa61 100644
--- a/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json
+++ b/kubejs/assets/emi/category/properties/gtceu_electromagnetic_separator.json
@@ -1 +1 @@
-{"gtceu:electromagnetic_separator":{"order":84}}
\ No newline at end of file
+{"gtceu:electromagnetic_separator":{"order":86}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_end_dome.json b/kubejs/assets/emi/category/properties/gtceu_end_dome.json
index ee6e1c443..14e612e62 100644
--- a/kubejs/assets/emi/category/properties/gtceu_end_dome.json
+++ b/kubejs/assets/emi/category/properties/gtceu_end_dome.json
@@ -1 +1 @@
-{"gtceu:end_dome":{"order":119}}
\ No newline at end of file
+{"gtceu:end_dome":{"order":121}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json
new file mode 100644
index 000000000..c23c09fa4
--- /dev/null
+++ b/kubejs/assets/emi/category/properties/gtceu_evaporation_tower.json
@@ -0,0 +1 @@
+{"gtceu:evaporation_tower":{"order":122}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor.json b/kubejs/assets/emi/category/properties/gtceu_extractor.json
index 9363b1f3e..2593eb121 100644
--- a/kubejs/assets/emi/category/properties/gtceu_extractor.json
+++ b/kubejs/assets/emi/category/properties/gtceu_extractor.json
@@ -1 +1 @@
-{"gtceu:extractor":{"order":86}}
\ No newline at end of file
+{"gtceu:extractor":{"order":88}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json
index fabd0e4aa..774ee6f4b 100644
--- a/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json
+++ b/kubejs/assets/emi/category/properties/gtceu_extractor_recycling.json
@@ -1 +1 @@
-{"gtceu:extractor_recycling":{"order":140}}
\ No newline at end of file
+{"gtceu:extractor_recycling":{"order":145}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_extruder.json b/kubejs/assets/emi/category/properties/gtceu_extruder.json
index 29cd70a58..640f85437 100644
--- a/kubejs/assets/emi/category/properties/gtceu_extruder.json
+++ b/kubejs/assets/emi/category/properties/gtceu_extruder.json
@@ -1 +1 @@
-{"gtceu:extruder":{"order":88}}
\ No newline at end of file
+{"gtceu:extruder":{"order":90}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_fermenter.json b/kubejs/assets/emi/category/properties/gtceu_fermenter.json
index 2e2049b96..ee427d2c8 100644
--- a/kubejs/assets/emi/category/properties/gtceu_fermenter.json
+++ b/kubejs/assets/emi/category/properties/gtceu_fermenter.json
@@ -1 +1 @@
-{"gtceu:fermenter":{"order":89}}
\ No newline at end of file
+{"gtceu:fermenter":{"order":91}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json
new file mode 100644
index 000000000..b3edc6e5c
--- /dev/null
+++ b/kubejs/assets/emi/category/properties/gtceu_fission_reactor.json
@@ -0,0 +1 @@
+{"gtceu:fission_reactor":{"order":123}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json
index e3cee0c3e..b428d85c4 100644
--- a/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json
+++ b/kubejs/assets/emi/category/properties/gtceu_fluid_heater.json
@@ -1 +1 @@
-{"gtceu:fluid_heater":{"order":90}}
\ No newline at end of file
+{"gtceu:fluid_heater":{"order":92}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json
index ae60a6a4a..497ab5301 100644
--- a/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json
+++ b/kubejs/assets/emi/category/properties/gtceu_fluid_solidifier.json
@@ -1 +1 @@
-{"gtceu:fluid_solidifier":{"order":91}}
\ No newline at end of file
+{"gtceu:fluid_solidifier":{"order":93}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json
index 64e3f1086..ac8f5bc1f 100644
--- a/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_forge_hammer.json
@@ -1 +1 @@
-{"gtceu:forge_hammer":{"order":93}}
\ No newline at end of file
+{"gtceu:forge_hammer":{"order":95}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_forming_press.json b/kubejs/assets/emi/category/properties/gtceu_forming_press.json
index f3f8ac60e..b31a4e0a2 100644
--- a/kubejs/assets/emi/category/properties/gtceu_forming_press.json
+++ b/kubejs/assets/emi/category/properties/gtceu_forming_press.json
@@ -1 +1 @@
-{"gtceu:forming_press":{"order":94}}
\ No newline at end of file
+{"gtceu:forming_press":{"order":96}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json
index ffc3f8950..ad9b6c430 100644
--- a/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json
+++ b/kubejs/assets/emi/category/properties/gtceu_fusion_reactor.json
@@ -1 +1 @@
-{"gtceu:fusion_reactor":{"order":121}}
\ No newline at end of file
+{"gtceu:fusion_reactor":{"order":124}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json
index 82658eb6d..924fc22f5 100644
--- a/kubejs/assets/emi/category/properties/gtceu_gas_collector.json
+++ b/kubejs/assets/emi/category/properties/gtceu_gas_collector.json
@@ -1 +1 @@
-{"gtceu:gas_collector":{"order":95}}
\ No newline at end of file
+{"gtceu:gas_collector":{"order":97}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json
index d03d5f1f7..4fd1571df 100644
--- a/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_gas_pressurizer.json
@@ -1 +1 @@
-{"gtceu:gas_pressurizer":{"order":96}}
\ No newline at end of file
+{"gtceu:gas_pressurizer":{"order":98}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json
index bd4af2d9f..28d0647f2 100644
--- a/kubejs/assets/emi/category/properties/gtceu_greenhouse.json
+++ b/kubejs/assets/emi/category/properties/gtceu_greenhouse.json
@@ -1 +1 @@
-{"gtceu:greenhouse":{"order":122}}
\ No newline at end of file
+{"gtceu:greenhouse":{"order":125}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json
new file mode 100644
index 000000000..14d38366f
--- /dev/null
+++ b/kubejs/assets/emi/category/properties/gtceu_heat_exchanger.json
@@ -0,0 +1 @@
+{"gtceu:heat_exchanger":{"order":126}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json
index 87cb93444..1fd79f554 100644
--- a/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json
+++ b/kubejs/assets/emi/category/properties/gtceu_implosion_compressor.json
@@ -1 +1 @@
-{"gtceu:implosion_compressor":{"order":123}}
\ No newline at end of file
+{"gtceu:implosion_compressor":{"order":127}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json
index dda0262f5..0926e3397 100644
--- a/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json
+++ b/kubejs/assets/emi/category/properties/gtceu_ingot_molding.json
@@ -1 +1 @@
-{"gtceu:ingot_molding":{"order":137}}
\ No newline at end of file
+{"gtceu:ingot_molding":{"order":142}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json
index 7636fa949..bec908370 100644
--- a/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json
+++ b/kubejs/assets/emi/category/properties/gtceu_large_chemical_reactor.json
@@ -1 +1 @@
-{"gtceu:large_chemical_reactor":{"order":76}}
\ No newline at end of file
+{"gtceu:large_chemical_reactor":{"order":78}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json
new file mode 100644
index 000000000..5d99a72a1
--- /dev/null
+++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier2.json
@@ -0,0 +1 @@
+{"gtceu:large_solar_panel_tier2":{"order":58}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json
new file mode 100644
index 000000000..41668bd66
--- /dev/null
+++ b/kubejs/assets/emi/category/properties/gtceu_large_solar_panel_tier3.json
@@ -0,0 +1 @@
+{"gtceu:large_solar_panel_tier3":{"order":59}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json
index 4ec5bece5..cc5dae296 100644
--- a/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json
+++ b/kubejs/assets/emi/category/properties/gtceu_laser_engraver.json
@@ -1 +1 @@
-{"gtceu:laser_engraver":{"order":98}}
\ No newline at end of file
+{"gtceu:laser_engraver":{"order":100}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_lathe.json b/kubejs/assets/emi/category/properties/gtceu_lathe.json
index cd4d90292..0d31b784c 100644
--- a/kubejs/assets/emi/category/properties/gtceu_lathe.json
+++ b/kubejs/assets/emi/category/properties/gtceu_lathe.json
@@ -1 +1 @@
-{"gtceu:lathe":{"order":100}}
\ No newline at end of file
+{"gtceu:lathe":{"order":102}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator.json b/kubejs/assets/emi/category/properties/gtceu_macerator.json
index dcb424f62..7e4215e92 100644
--- a/kubejs/assets/emi/category/properties/gtceu_macerator.json
+++ b/kubejs/assets/emi/category/properties/gtceu_macerator.json
@@ -1 +1 @@
-{"gtceu:macerator":{"order":103}}
\ No newline at end of file
+{"gtceu:macerator":{"order":105}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json
index fb3e962da..842fe6c6e 100644
--- a/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json
+++ b/kubejs/assets/emi/category/properties/gtceu_macerator_recycling.json
@@ -1 +1 @@
-{"gtceu:macerator_recycling":{"order":139}}
\ No newline at end of file
+{"gtceu:macerator_recycling":{"order":144}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_mixer.json b/kubejs/assets/emi/category/properties/gtceu_mixer.json
index dea654915..772935fd5 100644
--- a/kubejs/assets/emi/category/properties/gtceu_mixer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_mixer.json
@@ -1 +1 @@
-{"gtceu:mixer":{"order":105}}
\ No newline at end of file
+{"gtceu:mixer":{"order":107}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_nether_dome.json b/kubejs/assets/emi/category/properties/gtceu_nether_dome.json
index 1a58b1aae..300bf86d8 100644
--- a/kubejs/assets/emi/category/properties/gtceu_nether_dome.json
+++ b/kubejs/assets/emi/category/properties/gtceu_nether_dome.json
@@ -1 +1 @@
-{"gtceu:nether_dome":{"order":124}}
\ No newline at end of file
+{"gtceu:nether_dome":{"order":128}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json
new file mode 100644
index 000000000..e89f4b197
--- /dev/null
+++ b/kubejs/assets/emi/category/properties/gtceu_nuclear_fuel_factory.json
@@ -0,0 +1 @@
+{"gtceu:nuclear_fuel_factory":{"order":129}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json
index 814f10095..e4b923a47 100644
--- a/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json
+++ b/kubejs/assets/emi/category/properties/gtceu_ore_bathing.json
@@ -1 +1 @@
-{"gtceu:ore_bathing":{"order":135}}
\ No newline at end of file
+{"gtceu:ore_bathing":{"order":140}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json
index dca9c7579..2d3515c55 100644
--- a/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json
+++ b/kubejs/assets/emi/category/properties/gtceu_ore_crushing.json
@@ -1 +1 @@
-{"gtceu:ore_crushing":{"order":133}}
\ No newline at end of file
+{"gtceu:ore_crushing":{"order":138}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json
index 1418c220f..bc239b83b 100644
--- a/kubejs/assets/emi/category/properties/gtceu_ore_forging.json
+++ b/kubejs/assets/emi/category/properties/gtceu_ore_forging.json
@@ -1 +1 @@
-{"gtceu:ore_forging":{"order":134}}
\ No newline at end of file
+{"gtceu:ore_forging":{"order":139}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json
index 2b7d07bdb..d94c68066 100644
--- a/kubejs/assets/emi/category/properties/gtceu_ore_washer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_ore_washer.json
@@ -1 +1 @@
-{"gtceu:ore_washer":{"order":131}}
\ No newline at end of file
+{"gtceu:ore_washer":{"order":136}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_packer.json b/kubejs/assets/emi/category/properties/gtceu_packer.json
index 3bbe9d091..706d4cd8c 100644
--- a/kubejs/assets/emi/category/properties/gtceu_packer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_packer.json
@@ -1 +1 @@
-{"gtceu:packer":{"order":106}}
\ No newline at end of file
+{"gtceu:packer":{"order":108}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json
index 6a29d69f0..2416acde1 100644
--- a/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json
+++ b/kubejs/assets/emi/category/properties/gtceu_plasma_generator.json
@@ -1 +1 @@
-{"gtceu:plasma_generator":{"order":58}}
\ No newline at end of file
+{"gtceu:plasma_generator":{"order":60}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_polarizer.json b/kubejs/assets/emi/category/properties/gtceu_polarizer.json
index 91d276d9b..3d522c724 100644
--- a/kubejs/assets/emi/category/properties/gtceu_polarizer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_polarizer.json
@@ -1 +1 @@
-{"gtceu:polarizer":{"order":107}}
\ No newline at end of file
+{"gtceu:polarizer":{"order":109}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json
index 9b051252b..45492010b 100644
--- a/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json
+++ b/kubejs/assets/emi/category/properties/gtceu_programmed_circuit.json
@@ -1 +1 @@
-{"gtceu:programmed_circuit":{"order":158}}
\ No newline at end of file
+{"gtceu:programmed_circuit":{"order":163}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json
index 9794ec7b7..f07745f93 100644
--- a/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json
+++ b/kubejs/assets/emi/category/properties/gtceu_pyrolyse_oven.json
@@ -1 +1 @@
-{"gtceu:pyrolyse_oven":{"order":125}}
\ No newline at end of file
+{"gtceu:pyrolyse_oven":{"order":130}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_research_station.json b/kubejs/assets/emi/category/properties/gtceu_research_station.json
index 691e9d069..27c0a49dc 100644
--- a/kubejs/assets/emi/category/properties/gtceu_research_station.json
+++ b/kubejs/assets/emi/category/properties/gtceu_research_station.json
@@ -1 +1 @@
-{"gtceu:research_station":{"order":126}}
\ No newline at end of file
+{"gtceu:research_station":{"order":131}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json
index a17e077c0..d533b86c4 100644
--- a/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json
+++ b/kubejs/assets/emi/category/properties/gtceu_rock_breaker.json
@@ -1 +1 @@
-{"gtceu:rock_breaker":{"order":108}}
\ No newline at end of file
+{"gtceu:rock_breaker":{"order":110}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_scanner.json b/kubejs/assets/emi/category/properties/gtceu_scanner.json
index aee5176c1..2b7fbf097 100644
--- a/kubejs/assets/emi/category/properties/gtceu_scanner.json
+++ b/kubejs/assets/emi/category/properties/gtceu_scanner.json
@@ -1 +1 @@
-{"gtceu:scanner":{"order":109}}
\ No newline at end of file
+{"gtceu:scanner":{"order":111}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_sifter.json b/kubejs/assets/emi/category/properties/gtceu_sifter.json
index d3622ebbd..55960418c 100644
--- a/kubejs/assets/emi/category/properties/gtceu_sifter.json
+++ b/kubejs/assets/emi/category/properties/gtceu_sifter.json
@@ -1 +1 @@
-{"gtceu:sifter":{"order":111}}
\ No newline at end of file
+{"gtceu:sifter":{"order":113}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json
index acc6c9a9f..a6103a304 100644
--- a/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json
+++ b/kubejs/assets/emi/category/properties/gtceu_steam_bloomery.json
@@ -1 +1 @@
-{"gtceu:steam_bloomery":{"order":127}}
\ No newline at end of file
+{"gtceu:steam_bloomery":{"order":132}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json b/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json
index 2d062a1d3..95ae7c3f3 100644
--- a/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json
+++ b/kubejs/assets/emi/category/properties/gtceu_steam_turbine.json
@@ -1 +1 @@
-{"gtceu:steam_turbine":{"order":59}}
\ No newline at end of file
+{"gtceu:steam_turbine":{"order":61}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json
index ed14b73f3..c50d67ace 100644
--- a/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json
+++ b/kubejs/assets/emi/category/properties/gtceu_thermal_centrifuge.json
@@ -1 +1 @@
-{"gtceu:thermal_centrifuge":{"order":112}}
\ No newline at end of file
+{"gtceu:thermal_centrifuge":{"order":114}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json
index 9956a34c8..195d12d5f 100644
--- a/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json
+++ b/kubejs/assets/emi/category/properties/gtceu_vacuum_freezer.json
@@ -1 +1 @@
-{"gtceu:vacuum_freezer":{"order":128}}
\ No newline at end of file
+{"gtceu:vacuum_freezer":{"order":133}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json
index 26d6ffd80..c30c42b96 100644
--- a/kubejs/assets/emi/category/properties/gtceu_wire_coating.json
+++ b/kubejs/assets/emi/category/properties/gtceu_wire_coating.json
@@ -1 +1 @@
-{"gtceu:wire_coating":{"order":129}}
\ No newline at end of file
+{"gtceu:wire_coating":{"order":134}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/gtceu_wiremill.json b/kubejs/assets/emi/category/properties/gtceu_wiremill.json
index 42aac0f5f..fb7ed10ad 100644
--- a/kubejs/assets/emi/category/properties/gtceu_wiremill.json
+++ b/kubejs/assets/emi/category/properties/gtceu_wiremill.json
@@ -1 +1 @@
-{"gtceu:wiremill":{"order":114}}
\ No newline at end of file
+{"gtceu:wiremill":{"order":116}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/minecraft_smelting.json b/kubejs/assets/emi/category/properties/minecraft_smelting.json
index 9803c4aa2..56bf2e08f 100644
--- a/kubejs/assets/emi/category/properties/minecraft_smelting.json
+++ b/kubejs/assets/emi/category/properties/minecraft_smelting.json
@@ -1 +1 @@
-{"minecraft:smelting":{"order":60}}
\ No newline at end of file
+{"minecraft:smelting":{"order":62}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/minecraft_smithing.json b/kubejs/assets/emi/category/properties/minecraft_smithing.json
index a5c432622..d7a9a0682 100644
--- a/kubejs/assets/emi/category/properties/minecraft_smithing.json
+++ b/kubejs/assets/emi/category/properties/minecraft_smithing.json
@@ -1 +1 @@
-{"minecraft:smithing":{"order":145}}
\ No newline at end of file
+{"minecraft:smithing":{"order":150}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json
index f16f3f585..e0eaf501a 100644
--- a/kubejs/assets/emi/category/properties/minecraft_stonecutting.json
+++ b/kubejs/assets/emi/category/properties/minecraft_stonecutting.json
@@ -1 +1 @@
-{"minecraft:stonecutting":{"order":147}}
\ No newline at end of file
+{"minecraft:stonecutting":{"order":152}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/tacz_attachment_query.json b/kubejs/assets/emi/category/properties/tacz_attachment_query.json
index b7752947e..ee17d80ca 100644
--- a/kubejs/assets/emi/category/properties/tacz_attachment_query.json
+++ b/kubejs/assets/emi/category/properties/tacz_attachment_query.json
@@ -1 +1 @@
-{"tacz:attachment_query":{"order":156}}
\ No newline at end of file
+{"tacz:attachment_query":{"order":161}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json
index a988018eb..236a589fd 100644
--- a/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json
+++ b/kubejs/assets/emi/category/properties/taczammoquery_ammo_query.json
@@ -1 +1 @@
-{"taczammoquery:ammo_query":{"order":157}}
\ No newline at end of file
+{"taczammoquery:ammo_query":{"order":162}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json
index 0d6d31da5..0a5b6d780 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_centrifugation.json
@@ -1 +1 @@
-{"vintageimprovements:centrifugation":{"order":72}}
\ No newline at end of file
+{"vintageimprovements:centrifugation":{"order":74}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json
index f4925b365..bb82a9f4e 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_coiling.json
@@ -1 +1 @@
-{"vintageimprovements:coiling":{"order":113}}
\ No newline at end of file
+{"vintageimprovements:coiling":{"order":115}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json
index cf048c3a4..f438a821f 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_curving.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_curving.json
@@ -1 +1 @@
-{"vintageimprovements:curving":{"order":87}}
\ No newline at end of file
+{"vintageimprovements:curving":{"order":89}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json
index e5967c78b..237ed1905 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_laser_cutting.json
@@ -1 +1 @@
-{"vintageimprovements:laser_cutting":{"order":97}}
\ No newline at end of file
+{"vintageimprovements:laser_cutting":{"order":99}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json
index 1051075cc..ec2c7ba1c 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_pressurizing.json
@@ -1 +1 @@
-{"vintageimprovements:pressurizing":{"order":68}}
\ No newline at end of file
+{"vintageimprovements:pressurizing":{"order":70}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_turning.json b/kubejs/assets/emi/category/properties/vintageimprovements_turning.json
index afe73f5e9..44468b09e 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_turning.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_turning.json
@@ -1 +1 @@
-{"vintageimprovements:turning":{"order":99}}
\ No newline at end of file
+{"vintageimprovements:turning":{"order":101}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json
index 49a48cb2f..1353f8120 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_vacuumizing.json
@@ -1 +1 @@
-{"vintageimprovements:vacuumizing":{"order":85}}
\ No newline at end of file
+{"vintageimprovements:vacuumizing":{"order":87}}
\ No newline at end of file
diff --git a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json
index 33729d203..6f0f75390 100644
--- a/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json
+++ b/kubejs/assets/emi/category/properties/vintageimprovements_vibrating.json
@@ -1 +1 @@
-{"vintageimprovements:vibrating":{"order":110}}
\ No newline at end of file
+{"vintageimprovements:vibrating":{"order":112}}
\ No newline at end of file
diff --git a/kubejs/assets/endermanoverhaul/lang/uk_ua.json b/kubejs/assets/endermanoverhaul/lang/uk_ua.json
index 874ec12f6..4a951e27e 100644
--- a/kubejs/assets/endermanoverhaul/lang/uk_ua.json
+++ b/kubejs/assets/endermanoverhaul/lang/uk_ua.json
@@ -10,16 +10,16 @@
"entity.endermanoverhaul.end_enderman": "Баритоновий Хоровий Ендермен",
"entity.endermanoverhaul.end_islands_enderman": "Сопрано-Хоровий Ендермен",
"entity.endermanoverhaul.spirit": "Комета",
- "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Яйце Появи Глибокопечерного Ендермена",
- "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Яйце Появи Попелястого Ендермена",
- "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Яйце Появи Грибного Ендермена",
- "item.endermanoverhaul.swamp_enderman_spawn_egg": "Яйце Появи Мохового Ендермена",
- "item.endermanoverhaul.scarab_spawn_egg": "Яйце Появи Жука",
- "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "Яйце Появи Ендермена, Торкнутого Світлобутоном",
- "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "Яйце Появи Ендермена з Місячного Моря",
- "item.endermanoverhaul.end_enderman_spawn_egg": "Яйце Появи Баритонового Хорового Ендермена",
- "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Яйце Появи Сопрано-Хорового Ендермена",
- "item.endermanoverhaul.spirit_spawn_egg": "Яйце Появи Комети",
+ "item.endermanoverhaul.nether_wastes_enderman_spawn_egg": "Яйце виклику Глибокопечерного Ендермена",
+ "item.endermanoverhaul.dark_oak_enderman_spawn_egg": "Яйце виклику Попелястого Ендермена",
+ "item.endermanoverhaul.mushroom_fields_enderman_spawn_egg": "Яйце виклику Грибного Ендермена",
+ "item.endermanoverhaul.swamp_enderman_spawn_egg": "Яйце виклику Мохового Ендермена",
+ "item.endermanoverhaul.scarab_spawn_egg": "Яйце виклику Жука",
+ "item.endermanoverhaul.soulsand_valley_enderman_spawn_egg": "Яйце виклику Ендермена, Торкнутого Світло бутоном",
+ "item.endermanoverhaul.windswept_hills_enderman_spawn_egg": "Яйце виклику Ендермена з Місячного Моря",
+ "item.endermanoverhaul.end_enderman_spawn_egg": "Яйце виклику Баритонового Хорового Ендермена",
+ "item.endermanoverhaul.end_islands_enderman_spawn_egg": "Яйце виклику Сопрано-Хорового Ендермена",
+ "item.endermanoverhaul.spirit_spawn_egg": "Яйце виклику Комети",
"subtitles.endermanoverhaul.entity.cave_enderman.ambient": "Глибокопечерний Ендермен Vwoops",
"subtitles.endermanoverhaul.entity.cave_enderman.hurt": "Глибокопечерний Ендермен боляче",
"subtitles.endermanoverhaul.entity.dark_oak_enderman.ambient": "Попелястий Ендермен Vwoops",
diff --git a/kubejs/assets/gtceu/blockstates/almandine_bud_indicator.json b/kubejs/assets/gtceu/blockstates/almandine_bud_indicator.json
new file mode 100644
index 000000000..556f0cca5
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/almandine_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/almandine_bud_indicator" },
+ { "model": "gtceu:block/almandine_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/almandine_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/almandine_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/amethyst_bud_indicator.json b/kubejs/assets/gtceu/blockstates/amethyst_bud_indicator.json
new file mode 100644
index 000000000..51b306edb
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/amethyst_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/amethyst_bud_indicator" },
+ { "model": "gtceu:block/amethyst_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/amethyst_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/amethyst_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/apatite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/apatite_bud_indicator.json
new file mode 100644
index 000000000..cdc286605
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/apatite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/apatite_bud_indicator" },
+ { "model": "gtceu:block/apatite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/apatite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/apatite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/armalcolite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/armalcolite_bud_indicator.json
new file mode 100644
index 000000000..2301466a9
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/armalcolite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/armalcolite_bud_indicator" },
+ { "model": "gtceu:block/armalcolite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/armalcolite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/armalcolite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/bismuth_bronze_crate.json b/kubejs/assets/gtceu/blockstates/bismuth_bronze_crate.json
new file mode 100644
index 000000000..a09a72360
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/bismuth_bronze_crate.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "gtceu:block/machine/bismuth_bronze_crate"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/bismuth_bronze_drum.json b/kubejs/assets/gtceu/blockstates/bismuth_bronze_drum.json
new file mode 100644
index 000000000..4a12a2b83
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/bismuth_bronze_drum.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "gtceu:block/machine/bismuth_bronze_drum"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/black_bronze_crate.json b/kubejs/assets/gtceu/blockstates/black_bronze_crate.json
new file mode 100644
index 000000000..55d38c8a2
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/black_bronze_crate.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "gtceu:block/machine/black_bronze_crate"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/black_bronze_drum.json b/kubejs/assets/gtceu/blockstates/black_bronze_drum.json
new file mode 100644
index 000000000..d533e519f
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/black_bronze_drum.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "gtceu:block/machine/black_bronze_drum"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/blue_topaz_bud_indicator.json b/kubejs/assets/gtceu/blockstates/blue_topaz_bud_indicator.json
new file mode 100644
index 000000000..80882049e
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/blue_topaz_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/blue_topaz_bud_indicator" },
+ { "model": "gtceu:block/blue_topaz_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/blue_topaz_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/blue_topaz_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/certus_quartz_bud_indicator.json b/kubejs/assets/gtceu/blockstates/certus_quartz_bud_indicator.json
new file mode 100644
index 000000000..d2517bf64
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/certus_quartz_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/certus_quartz_bud_indicator" },
+ { "model": "gtceu:block/certus_quartz_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/certus_quartz_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/certus_quartz_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/cinnabar_bud_indicator.json b/kubejs/assets/gtceu/blockstates/cinnabar_bud_indicator.json
new file mode 100644
index 000000000..6c773c7c3
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/cinnabar_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/cinnabar_bud_indicator" },
+ { "model": "gtceu:block/cinnabar_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/cinnabar_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/cinnabar_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/coal_bud_indicator.json b/kubejs/assets/gtceu/blockstates/coal_bud_indicator.json
new file mode 100644
index 000000000..e96304c30
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/coal_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/coal_bud_indicator" },
+ { "model": "gtceu:block/coal_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/coal_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/coal_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/diamond_bud_indicator.json b/kubejs/assets/gtceu/blockstates/diamond_bud_indicator.json
new file mode 100644
index 000000000..7af73536e
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/diamond_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/diamond_bud_indicator" },
+ { "model": "gtceu:block/diamond_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/diamond_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/diamond_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/emerald_bud_indicator.json b/kubejs/assets/gtceu/blockstates/emerald_bud_indicator.json
new file mode 100644
index 000000000..34beadbe0
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/emerald_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/emerald_bud_indicator" },
+ { "model": "gtceu:block/emerald_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/emerald_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/emerald_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/green_sapphire_bud_indicator.json b/kubejs/assets/gtceu/blockstates/green_sapphire_bud_indicator.json
new file mode 100644
index 000000000..a51e6bbbb
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/green_sapphire_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/green_sapphire_bud_indicator" },
+ { "model": "gtceu:block/green_sapphire_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/green_sapphire_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/green_sapphire_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/grossular_bud_indicator.json b/kubejs/assets/gtceu/blockstates/grossular_bud_indicator.json
new file mode 100644
index 000000000..41eb18879
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/grossular_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/grossular_bud_indicator" },
+ { "model": "gtceu:block/grossular_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/grossular_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/grossular_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/lapis_bud_indicator.json b/kubejs/assets/gtceu/blockstates/lapis_bud_indicator.json
new file mode 100644
index 000000000..fe98ec967
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/lapis_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/lapis_bud_indicator" },
+ { "model": "gtceu:block/lapis_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/lapis_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/lapis_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/lazurite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/lazurite_bud_indicator.json
new file mode 100644
index 000000000..634635c98
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/lazurite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/lazurite_bud_indicator" },
+ { "model": "gtceu:block/lazurite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/lazurite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/lazurite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/malachite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/malachite_bud_indicator.json
new file mode 100644
index 000000000..e573f3eac
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/malachite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/malachite_bud_indicator" },
+ { "model": "gtceu:block/malachite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/malachite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/malachite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/monazite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/monazite_bud_indicator.json
new file mode 100644
index 000000000..77bd95662
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/monazite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/monazite_bud_indicator" },
+ { "model": "gtceu:block/monazite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/monazite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/monazite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/nether_quartz_bud_indicator.json b/kubejs/assets/gtceu/blockstates/nether_quartz_bud_indicator.json
new file mode 100644
index 000000000..e353066d4
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/nether_quartz_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/nether_quartz_bud_indicator" },
+ { "model": "gtceu:block/nether_quartz_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/nether_quartz_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/nether_quartz_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/olivine_bud_indicator.json b/kubejs/assets/gtceu/blockstates/olivine_bud_indicator.json
new file mode 100644
index 000000000..d1c38d8d4
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/olivine_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/olivine_bud_indicator" },
+ { "model": "gtceu:block/olivine_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/olivine_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/olivine_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/opal_bud_indicator.json b/kubejs/assets/gtceu/blockstates/opal_bud_indicator.json
new file mode 100644
index 000000000..bcea74c23
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/opal_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/opal_bud_indicator" },
+ { "model": "gtceu:block/opal_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/opal_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/opal_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/pyrope_bud_indicator.json b/kubejs/assets/gtceu/blockstates/pyrope_bud_indicator.json
new file mode 100644
index 000000000..810e64dda
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/pyrope_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/pyrope_bud_indicator" },
+ { "model": "gtceu:block/pyrope_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/pyrope_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/pyrope_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/quartzite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/quartzite_bud_indicator.json
new file mode 100644
index 000000000..e88677ad5
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/quartzite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/quartzite_bud_indicator" },
+ { "model": "gtceu:block/quartzite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/quartzite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/quartzite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/realgar_bud_indicator.json b/kubejs/assets/gtceu/blockstates/realgar_bud_indicator.json
new file mode 100644
index 000000000..ce4433309
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/realgar_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/realgar_bud_indicator" },
+ { "model": "gtceu:block/realgar_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/realgar_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/realgar_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/red_garnet_bud_indicator.json b/kubejs/assets/gtceu/blockstates/red_garnet_bud_indicator.json
new file mode 100644
index 000000000..6c9f3394c
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/red_garnet_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/red_garnet_bud_indicator" },
+ { "model": "gtceu:block/red_garnet_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/red_garnet_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/red_garnet_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/rock_salt_bud_indicator.json b/kubejs/assets/gtceu/blockstates/rock_salt_bud_indicator.json
new file mode 100644
index 000000000..5d25be1b1
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/rock_salt_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/rock_salt_bud_indicator" },
+ { "model": "gtceu:block/rock_salt_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/rock_salt_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/rock_salt_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json b/kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json
new file mode 100644
index 000000000..dacf99e1c
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/rose_quartz_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/rose_quartz_bud_indicator" },
+ { "model": "gtceu:block/rose_quartz_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/rose_quartz_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/rose_quartz_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/ruby_bud_indicator.json b/kubejs/assets/gtceu/blockstates/ruby_bud_indicator.json
new file mode 100644
index 000000000..2bc4303b2
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/ruby_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/ruby_bud_indicator" },
+ { "model": "gtceu:block/ruby_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/ruby_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/ruby_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/salt_bud_indicator.json b/kubejs/assets/gtceu/blockstates/salt_bud_indicator.json
new file mode 100644
index 000000000..c6da638e3
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/salt_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/salt_bud_indicator" },
+ { "model": "gtceu:block/salt_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/salt_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/salt_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/sapphire_bud_indicator.json b/kubejs/assets/gtceu/blockstates/sapphire_bud_indicator.json
new file mode 100644
index 000000000..295a8304d
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/sapphire_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/sapphire_bud_indicator" },
+ { "model": "gtceu:block/sapphire_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/sapphire_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/sapphire_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/sodalite_bud_indicator.json b/kubejs/assets/gtceu/blockstates/sodalite_bud_indicator.json
new file mode 100644
index 000000000..08096e8d8
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/sodalite_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/sodalite_bud_indicator" },
+ { "model": "gtceu:block/sodalite_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/sodalite_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/sodalite_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/spessartine_bud_indicator.json b/kubejs/assets/gtceu/blockstates/spessartine_bud_indicator.json
new file mode 100644
index 000000000..4341fb1e7
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/spessartine_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/spessartine_bud_indicator" },
+ { "model": "gtceu:block/spessartine_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/spessartine_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/spessartine_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/topaz_bud_indicator.json b/kubejs/assets/gtceu/blockstates/topaz_bud_indicator.json
new file mode 100644
index 000000000..e9fb19ed2
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/topaz_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/topaz_bud_indicator" },
+ { "model": "gtceu:block/topaz_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/topaz_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/topaz_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/blockstates/yellow_garnet_bud_indicator.json b/kubejs/assets/gtceu/blockstates/yellow_garnet_bud_indicator.json
new file mode 100644
index 000000000..399941f7f
--- /dev/null
+++ b/kubejs/assets/gtceu/blockstates/yellow_garnet_bud_indicator.json
@@ -0,0 +1,10 @@
+{
+ "variants": {
+ "": [
+ { "model": "gtceu:block/yellow_garnet_bud_indicator" },
+ { "model": "gtceu:block/yellow_garnet_bud_indicator", "y": 90 },
+ { "model": "gtceu:block/yellow_garnet_bud_indicator", "y": 180 },
+ { "model": "gtceu:block/yellow_garnet_bud_indicator", "y": 270 }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json
index 2217e7b53..cbabf88eb 100644
--- a/kubejs/assets/gtceu/lang/en_us.json
+++ b/kubejs/assets/gtceu/lang/en_us.json
@@ -5,8 +5,14 @@
"block.gtceu.end_dome": "Enderarium",
"block.gtceu.greenhouse": "Greenhouse",
"block.gtceu.steam_bloomery": "Steam Bloomery",
- "block.gtceu.large_solar_panel": "Large Solar Panel",
+ "block.gtceu.large_solar_panel": "§9Large Solar Array MK I",
+ "block.gtceu.large_solar_panel_tier2": "§bLarge Solar Array MK II",
+ "block.gtceu.large_solar_panel_tier3": "§cLarge Solar Array MK III",
"block.gtceu.gas_pressurizer": "Gas Pressurizer",
+ "block.gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory",
+ "block.gtceu.heat_exchanger": "Heat Exchanger",
+ "block.gtceu.fission_reactor": "Fission Reactor",
+ "block.gtceu.evaporation_tower": "Evaporation Tower",
"block.gtceu.copper_crate": "Copper Crate",
"block.gtceu.copper_drum": "Copper Drum",
"block.gtceu.black_bronze_crate": "Black Bronze Crate",
@@ -21,8 +27,14 @@
"gtceu.steam_bloomery": "Steam Bloomery",
"gtceu.food_oven": "Food Oven",
"gtceu.food_processor": "Food Processor",
- "gtceu.large_solar_panel": "Large Solar Panel",
+ "gtceu.large_solar_panel": "Large Solar Array MK I",
+ "gtceu.large_solar_panel_tier2": "Large Solar Array MK II",
+ "gtceu.large_solar_panel_tier3": "Large Solar Array MK III",
"gtceu.gas_pressurizer": "Gas Pressurizer",
+ "gtceu.nuclear_fuel_factory": "Nuclear Fuel Factory",
+ "gtceu.heat_exchanger": "Heat Exchanger",
+ "gtceu.fission_reactor": "Fission Reactor",
+ "gtceu.evaporation_tower": "Evaporation Tower",
"item.gtceu.tiny_wood_dust": "Tiny Pile of Softwood Pulp",
"item.gtceu.small_wood_dust": "Small Pile of Softwood Pulp",
"item.gtceu.wood_dust": "Softwood Pulp",
@@ -31,10 +43,14 @@
"item.gtceu.hardwood_dust": "Hardwood Pulp",
"item.gtceu.tiny_thermochemically_treated_hardwood_dust": "Tiny Pile of Thermochemically Treated Hardwood Pulp",
"item.gtceu.small_thermochemically_treated_hardwood_dust": "Small Pile of Thermochemically Treated Hardwood Pulp",
- "item.gtceu.thermochemically_treated_hardwood_dust": "Thermochemicallyy Treated Hardwood Pulp",
+ "item.gtceu.thermochemically_treated_hardwood_dust": "Thermochemically Treated Hardwood Pulp",
"item.gtceu.tool.behavior.canoe_creator": "§5Boater: §fCan Create Canoes",
"item.gtceu.deepslate_dust": "Migmatite Dust",
+ "item.gtceu.small_deepslate_dust": "Small Pile of Migmatite Dust",
+ "item.gtceu.tiny_deepslate_dust": "Tiny Pile of Migmatite Dust",
"item.gtceu.blackstone_dust": "Pyroxenite Dust",
+ "item.gtceu.small_blackstone_dust": "Small Pile of Pyroxenite Dust",
+ "item.gtceu.tiny_blackstone_dust": "Tiny Pile of Pyroxenite Dust",
"item.gtceu.iron_ring": "Cast Iron Ring",
"item.gtceu.small_iron_gear": "Cast Iron Gear",
"item.gtceu.iron_gear": "Cast Iron Gear",
@@ -72,19 +88,55 @@
"item.gtceu.wood_plate": "Medium Density Fiberboard",
"item.gtceu.treated_wood_dust": "Treated Chipboard Composite",
"material.gtceu.ice": "Ice Slush",
- "material.gtceu.damascus_steel": "Piglin Steel",
+ "material.gtceu.damascus_steel": "Swine-steel",
"material.gtceu.cooperite": "Cooperite",
- "material.gtceu.fayalite": "Fayalite",
- "material.gtceu.diopside": "Diopside",
- "material.gtceu.enstatite": "Enstatite",
"material.gtceu.armalcolite": "Armalcolite",
"material.gtceu.desh": "Desh",
"material.gtceu.ostrum": "Ostrum",
"material.gtceu.calorite": "Calorite",
"material.gtceu.etrium": "Etrium",
"material.gtceu.rocket_alloy_t1": "R-Aluminosteel Rocket Alloy",
- "material.gtceu.rocket_alloy_t2": "ASM 4914 Titanium Rocket Alloy",
+ "material.gtceu.rocket_alloy_t3": "45-Ti Tungstensteel Rocket Alloy",
"material.gtceu.vitrified_asbestos": "Vitrified Asbestos",
+ "material.gtceu.liquid_carbon_dioxide": "Liquid Carbon Dioxide",
+ "material.gtceu.hot_debrominated_brine": "Hot Debrominated Brine",
+ "material.gtceu.hydrogen_iodide": "Hydrogen Iodide",
+ "material.gtceu.dense_steam": "High Pressure Steam",
+ "material.gtceu.radioactive_steam": "Radioactive Steam",
+ "material.gtceu.radioactive_waste": "Radioactive Waste",
+ "material.gtceu.irradiated_steam": "Irradiated Steam",
+ "material.gtceu.heavy_water": "Heavy Water",
+ "material.gtceu.uranium_waste": "Uranium Waste",
+ "material.gtceu.nuclear_waste": "Nuclear Waste",
+ "material.gtceu.dirty_hexafluorosilicic_acid": "Dirty Hexafluorosilicic Acid",
+ "material.gtceu.martian_sludge": "Martian Sludge",
+ "material.gtceu.dioxygen_difluoride": "Dioxygen Difluoride",
+ "material.gtceu.tritiated_water": "Tritiated Water",
+ "material.gtceu.raw_rich_brine": "Raw Rich Brine",
+ "material.gtceu.hot_iodine_brine": "Hot Iodine Brine",
+ "material.gtceu.brominated_iodine_vapor": "Brominated Iodine Vapor",
+ "material.gtceu.basic_bromine_exhaust": "Basic Bromine Exhaust",
+ "material.gtceu.dirty_flibe": "Dirty FLiBe",
+ "material.gtceu.flibe": "FLiBe",
+ "material.gtceu.hot_flibe": "Hot FLiBe",
+ "material.gtceu.raw_brine": "Raw Brine",
+ "material.gtceu.hot_brine": "Hot Brine",
+ "material.gtceu.hot_chlorinated_brominated_brine": "Hot Chlorinated Brominated Brine",
+ "material.gtceu.brominated_chlorine_vapor": "Brominated Chlorine Vapor",
+ "material.gtceu.acidic_bromine_solution": "Acidic Bromine Solution",
+ "material.gtceu.concentrated_bromine_solution": "Concentrated Bromine Solution",
+ "material.gtceu.debrominated_brine": "Debrominated Brine",
+ "material.gtceu.acidic_bromine_exhaust": "Acidic Bromine Exhaust",
+ "material.gtceu.hot_alkaline_debrominated_brine": "Hot Alkaline Debrominated Brine",
+ "material.gtceu.lithium_carbonate": "Lithium Carbonate",
+ "material.gtceu.lithium_fluoride": "Lithium Fluoride",
+ "material.gtceu.tetrafluoroberyllate": "Tetrafluoroberyllate",
+ "material.gtceu.thorium_230": "Thorium 230",
+ "material.gtceu.thorium_232": "Thorium 232",
+ "material.gtceu.tbu-232_pellet": "TBU 232 Pellet",
+ "material.gtceu.plutonium_pellet": "Plutonium Pellet",
+ "material.gtceu.uranium_pellet": "Uranium Pellet",
+ "material.gtceu.thorium_pellet": "Thorium Pellet",
"metaitem.dust.tooltip.purify": "Drop in Water to get Clean Dust",
"metaitem.crushed.tooltip.purify": "Drop in Water to get Purified Ore",
"item.gtceu.tool.behavior.silk_ice": "Silk harvests Packed Ice",
diff --git a/kubejs/assets/gtceu/lang/uk_ua.json b/kubejs/assets/gtceu/lang/uk_ua.json
index 89b6bae8a..1fe5eb568 100644
--- a/kubejs/assets/gtceu/lang/uk_ua.json
+++ b/kubejs/assets/gtceu/lang/uk_ua.json
@@ -1,10 +1,18 @@
{
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
- "block.bud_indicator": "%s Поверхневий бутон",
+ "block.bud_indicator": "%s Поверхнева Друза",
"block.gtceu.nether_dome": "Незераріум",
"block.gtceu.end_dome": "Ендераріум",
"block.gtceu.greenhouse": "Теплиця",
"block.gtceu.steam_bloomery": "Парова Сиродутна Піч",
+ "block.gtceu.large_solar_panel": "§9Велика сонячна панель MK I",
+ "block.gtceu.large_solar_panel_tier2": "§bВелика сонячна панель MK II",
+ "block.gtceu.large_solar_panel_tier3": "§cВелика сонячна панель MK III",
+ "block.gtceu.gas_pressurizer": "Газовий пресуризатор",
+ "block.gtceu.nuclear_fuel_factory": "Фабрика ядерного палива",
+ "block.gtceu.heat_exchanger": "Теплообмінник",
+ "block.gtceu.fission_reactor": "Реактор ядерного поділу",
+ "block.gtceu.evaporation_tower": "Випарна камера",
"block.gtceu.copper_crate": "Мідний Ящик",
"block.gtceu.copper_drum": "Мідна Бочка",
"block.gtceu.black_bronze_crate": "Ящик з Чорної Бронзи",
@@ -19,6 +27,14 @@
"gtceu.steam_bloomery": "Парова Сиродутна Піч",
"gtceu.food_oven": "Духова піч",
"gtceu.food_processor": "Кухонний комбайн",
+ "gtceu.large_solar_panel": "Велика сонячна панель MK I",
+ "gtceu.large_solar_panel_tier2": "Велика сонячна панель MK II",
+ "gtceu.large_solar_panel_tier3": "Велика сонячна панель MK III",
+ "gtceu.gas_pressurizer": "Газовий пресуризатор",
+ "gtceu.nuclear_fuel_factory": "Фабрика ядерного палива",
+ "gtceu.heat_exchanger": "Теплообмінник",
+ "gtceu.fission_reactor": "Реактор ядерного поділу",
+ "gtceu.evaporation_tower": "Випарна камера",
"item.gtceu.tiny_wood_dust": "Маленька купа хвойної целюлози",
"item.gtceu.small_wood_dust": "Мала купа хвойної целюлози",
"item.gtceu.wood_dust": "Хвойна целюлоза",
@@ -68,17 +84,55 @@
"item.gtceu.wood_plate": "ДВП середньої щільності",
"item.gtceu.treated_wood_dust": "Оброблений композит на основі ДСП",
"material.gtceu.ice": "Крижана каша",
+ "material.gtceu.damascus_steel": "Свиняча сталь",
"material.gtceu.cooperite": "Куперит",
- "material.gtceu.fayalite": "Фаяліт",
- "material.gtceu.diopside": "Діопсид",
- "material.gtceu.enstatite": "Енстатит",
"material.gtceu.armalcolite": "Армалколіт",
"material.gtceu.desh": "Деш",
"material.gtceu.ostrum": "Острум",
"material.gtceu.calorite": "Калорит",
"material.gtceu.etrium": "Етріум",
"material.gtceu.rocket_alloy_t1": "Алюміносталевий ракетний сплав R-класу",
+ "material.gtceu.rocket_alloy_t3": "Ракетний сплав вольфрамової сталі 45-Ti",
"material.gtceu.vitrified_asbestos": "Вітрифікований азбест",
+ "material.gtceu.liquid_carbon_dioxide": "Рідкий діоксид вуглецю",
+ "material.gtceu.hot_debrominated_brine": "Гаряча дебромована розсіл",
+ "material.gtceu.hydrogen_iodide": "Гідроген йодид",
+ "material.gtceu.dense_steam": "Пар високого тиску",
+ "material.gtceu.radioactive_steam": "Радіоактивна пара",
+ "material.gtceu.radioactive_waste": "Радіоактивні відходи",
+ "material.gtceu.irradiated_steam": "Ірадійована пара",
+ "material.gtceu.heavy_water": "Важка вода",
+ "material.gtceu.uranium_waste": "Уранові відходи",
+ "material.gtceu.nuclear_waste": "Ядерні відходи",
+ "material.gtceu.dirty_hexafluorosilicic_acid": "Брудна гексафторосилікатна кислота",
+ "material.gtceu.martian_sludge": "Марсіанський мул",
+ "material.gtceu.dioxygen_difluoride": "Діоксиген дифторид",
+ "material.gtceu.tritiated_water": "Тритійована вода",
+ "material.gtceu.raw_rich_brine": "Сира концентрована розсіл",
+ "material.gtceu.hot_iodine_brine": "Гарячий йодний розсіл",
+ "material.gtceu.brominated_iodine_vapor": "Бромована йодна пара",
+ "material.gtceu.basic_bromine_exhaust": "Базові бромні вихлопи",
+ "material.gtceu.dirty_flibe": "Брудний FLiBe",
+ "material.gtceu.flibe": "FLiBe",
+ "material.gtceu.hot_flibe": "Гарячий FLiBe",
+ "material.gtceu.raw_brine": "Сирий розсіл",
+ "material.gtceu.hot_brine": "Гарячий розсіл",
+ "material.gtceu.hot_chlorinated_brominated_brine": "Гарячий хлорований бромований розсіл",
+ "material.gtceu.brominated_chlorine_vapor": "Бромована хлорна пара",
+ "material.gtceu.acidic_bromine_solution": "Кислотний бромний розчин",
+ "material.gtceu.concentrated_bromine_solution": "Концентрований бромний розчин",
+ "material.gtceu.debrominated_brine": "Дебромована розсіл",
+ "material.gtceu.acidic_bromine_exhaust": "Кислотні бромні вихлопи",
+ "material.gtceu.hot_alkaline_debrominated_brine": "Гарячий лужний дебромований розсіл",
+ "material.gtceu.lithium_carbonate": "Літій карбонат",
+ "material.gtceu.lithium_fluoride": "Літій фторид",
+ "material.gtceu.tetrafluoroberyllate": "Тетрафтороберилат",
+ "material.gtceu.thorium_230": "Торій 230",
+ "material.gtceu.thorium_232": "Торій 232",
+ "material.gtceu.tbu-232_pellet": "Гранула TBU 232",
+ "material.gtceu.plutonium_pellet": "Плутонієва гранула",
+ "material.gtceu.uranium_pellet": "Уранова гранула",
+ "material.gtceu.thorium_pellet": "Торієва гранула",
"metaitem.dust.tooltip.purify": "Киньте у воду, щоб отримати чистий пил",
"metaitem.crushed.tooltip.purify": "Киньте у воду, щоб отримати очищену руду",
"item.gtceu.tool.behavior.silk_ice": "Шовк збирає упакований лід",
@@ -92,21 +146,21 @@
"gtceu.jei.bedrock_fluid.moon_helium": "Місячний Гелій",
"gtceu.jei.bedrock_fluid.moon_helium_3": "Місячний Гелій-3",
"gtceu.jei.bedrock_fluid.moon_argon": "Місячний Аргон",
- "tagprefix.sword_head": "%s Голівка меча",
- "tagprefix.pickaxe_head": "%s Голівка кайла",
- "tagprefix.shovel_head": "%s Голівка лопати",
- "tagprefix.axe_head": "%s Голівка сокири",
- "tagprefix.hoe_head": "%s Голівка мотики",
- "tagprefix.scythe_head": "%s Голівка коси",
- "tagprefix.file_head": "%s Голівка напилка",
- "tagprefix.hammer_head": "%s Hammer Head",
- "tagprefix.saw_head": "%s Голівка пилки",
- "tagprefix.knife_head": "%s Голівка ножа",
- "tagprefix.butchery_knife_head": "%s Голівка м’ясницького ножа",
- "tagprefix.mining_hammer_head": "%s Голівка гірничого молота",
- "tagprefix.spade_head": "%s Голівка лопати",
+ "tagprefix.sword_head": "%s Оголів'я меча",
+ "tagprefix.pickaxe_head": "%s Оголів'я кайла",
+ "tagprefix.shovel_head": "%s Оголів'я лопати",
+ "tagprefix.axe_head": "%s Оголів'я сокири",
+ "tagprefix.hoe_head": "%s Оголів'я мотики",
+ "tagprefix.scythe_head": "%s Оголів'я коси",
+ "tagprefix.file_head": "%s Оголів'я напилка",
+ "tagprefix.hammer_head": "%s Оголів'я молота",
+ "tagprefix.saw_head": "%s Оголів'я пили",
+ "tagprefix.knife_head": "%s Оголів'я ножа",
+ "tagprefix.butchery_knife_head": "%s Оголів'я тесака",
+ "tagprefix.mining_hammer_head": "%s Оголів'я скельного молота",
+ "tagprefix.spade_head": "%s Оголів'я лопати",
"tagprefix.double_ingot": "%s Подвійний злиток",
- "tagprefix.poor_raw": "Бідна(е,ий) Сира(е,ий) %s",
+ "tagprefix.poor_raw": "Бідна(е, ий) сира(е, ий) %s",
"tagprefix.rich_raw": "Багата(е,ий) сира(е,ий) %s",
"tagprefix.gabbro": "Габро %s руда",
"tagprefix.shale": "Глиняста сланцева %s руда",
@@ -119,9 +173,9 @@
"tagprefix.rhyolite": "Ріолітова %s руда",
"tagprefix.dacite": "Дацитова %s руда",
"tagprefix.quartzite": "Кварцитова %s руда",
- "tagprefix.slate": "Шиферна Сланцева %s руда",
+ "tagprefix.slate": "Шиферна сланцева %s руда",
"tagprefix.phyllite": "Філітова %s руда",
- "tagprefix.schist": "Аспідна Сланцева %s руда",
+ "tagprefix.schist": "Аспідна сланцева %s руда",
"tagprefix.gneiss": "Гнейсова %s руда",
"tagprefix.marble": "Мармурова %s руда",
"tagprefix.deepslate": "Мігматитова %s руда",
diff --git a/kubejs/assets/gtceu/models/block/almandine_bud_indicator.json b/kubejs/assets/gtceu/models/block/almandine_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/almandine_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/amethyst_bud_indicator.json b/kubejs/assets/gtceu/models/block/amethyst_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/amethyst_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/apatite_bud_indicator.json b/kubejs/assets/gtceu/models/block/apatite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/apatite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/armalcolite_bud_indicator.json b/kubejs/assets/gtceu/models/block/armalcolite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/armalcolite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/blue_topaz_bud_indicator.json b/kubejs/assets/gtceu/models/block/blue_topaz_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/blue_topaz_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/bud_indicator.json b/kubejs/assets/gtceu/models/block/bud_indicator.json
similarity index 95%
rename from kubejs/assets/tfg/models/block/bud_indicator.json
rename to kubejs/assets/gtceu/models/block/bud_indicator.json
index 17bb265ed..2ba573619 100644
--- a/kubejs/assets/tfg/models/block/bud_indicator.json
+++ b/kubejs/assets/gtceu/models/block/bud_indicator.json
@@ -1,9 +1,9 @@
{
"credit": "Made by Redeix",
"textures": {
- "0": "tfg:block/bud_indicator_layer_0",
- "1": "tfg:block/bud_indicator_layer_1",
- "particle": "tfg:block/bud_indicator_layer_0"
+ "0": "gtceu:block/bud_indicator_layer_0",
+ "1": "gtceu:block/bud_indicator_layer_1",
+ "particle": "gtceu:block/bud_indicator_layer_0"
},
"elements": [
{
@@ -151,6 +151,11 @@
"translation": [ 0, 8, 0 ],
"scale": [ 1.6, 1.6, 1.6 ]
},
+ "inventory": {
+ "rotation": [ 22.5, -30, 0 ],
+ "translation": [ 0, 8, 0 ],
+ "scale": [ 1.6, 1.6, 1.6 ]
+ },
"fixed": {
"rotation": [ -90, 0, 0 ],
"translation": [ -0.25, 1, -7.5 ]
diff --git a/kubejs/assets/gtceu/models/block/certus_quartz_bud_indicator.json b/kubejs/assets/gtceu/models/block/certus_quartz_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/certus_quartz_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/cinnabar_bud_indicator.json b/kubejs/assets/gtceu/models/block/cinnabar_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/cinnabar_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/coal_bud_indicator.json b/kubejs/assets/gtceu/models/block/coal_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/coal_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/diamond_bud_indicator.json b/kubejs/assets/gtceu/models/block/diamond_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/diamond_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/emerald_bud_indicator.json b/kubejs/assets/gtceu/models/block/emerald_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/emerald_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/green_sapphire_bud_indicator.json b/kubejs/assets/gtceu/models/block/green_sapphire_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/green_sapphire_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/grossular_bud_indicator.json b/kubejs/assets/gtceu/models/block/grossular_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/grossular_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/lapis_bud_indicator.json b/kubejs/assets/gtceu/models/block/lapis_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/lapis_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/lazurite_bud_indicator.json b/kubejs/assets/gtceu/models/block/lazurite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/lazurite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/machine/bismuth_bronze_crate.json b/kubejs/assets/gtceu/models/block/machine/bismuth_bronze_crate.json
new file mode 100644
index 000000000..6dbe95a61
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/machine/bismuth_bronze_crate.json
@@ -0,0 +1,13 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "gtceu:bismuth_bronze_crate",
+ "variants": {
+ "taped=false": {
+ "model": "gtceu:block/machine/template/crate/metal_crate"
+ },
+ "taped=true": {
+ "model": "gtceu:block/machine/template/crate/metal_crate_taped"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/machine/bismuth_bronze_drum.json b/kubejs/assets/gtceu/models/block/machine/bismuth_bronze_drum.json
new file mode 100644
index 000000000..12fd07831
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/machine/bismuth_bronze_drum.json
@@ -0,0 +1,10 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "gtceu:bismuth_bronze_drum",
+ "variants": {
+ "": {
+ "model": "gtceu:block/machine/template/drum/metal_drum"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/machine/black_bronze_crate.json b/kubejs/assets/gtceu/models/block/machine/black_bronze_crate.json
new file mode 100644
index 000000000..78c487da6
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/machine/black_bronze_crate.json
@@ -0,0 +1,13 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "gtceu:black_bronze_crate",
+ "variants": {
+ "taped=false": {
+ "model": "gtceu:block/machine/template/crate/metal_crate"
+ },
+ "taped=true": {
+ "model": "gtceu:block/machine/template/crate/metal_crate_taped"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/machine/black_bronze_drum.json b/kubejs/assets/gtceu/models/block/machine/black_bronze_drum.json
new file mode 100644
index 000000000..16e8ebbad
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/machine/black_bronze_drum.json
@@ -0,0 +1,10 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "gtceu:black_bronze_drum",
+ "variants": {
+ "": {
+ "model": "gtceu:block/machine/template/drum/metal_drum"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/malachite_bud_indicator.json b/kubejs/assets/gtceu/models/block/malachite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/malachite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/monazite_bud_indicator.json b/kubejs/assets/gtceu/models/block/monazite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/monazite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/nether_quartz_bud_indicator.json b/kubejs/assets/gtceu/models/block/nether_quartz_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/nether_quartz_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/olivine_bud_indicator.json b/kubejs/assets/gtceu/models/block/olivine_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/olivine_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/opal_bud_indicator.json b/kubejs/assets/gtceu/models/block/opal_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/opal_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/pyrope_bud_indicator.json b/kubejs/assets/gtceu/models/block/pyrope_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/pyrope_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/quartzite_bud_indicator.json b/kubejs/assets/gtceu/models/block/quartzite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/quartzite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/realgar_bud_indicator.json b/kubejs/assets/gtceu/models/block/realgar_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/realgar_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/red_garnet_bud_indicator.json b/kubejs/assets/gtceu/models/block/red_garnet_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/red_garnet_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/rock_salt_bud_indicator.json b/kubejs/assets/gtceu/models/block/rock_salt_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/rock_salt_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/rose_quartz_bud_indicator.json b/kubejs/assets/gtceu/models/block/rose_quartz_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/rose_quartz_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/ruby_bud_indicator.json b/kubejs/assets/gtceu/models/block/ruby_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/ruby_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/salt_bud_indicator.json b/kubejs/assets/gtceu/models/block/salt_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/salt_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/sapphire_bud_indicator.json b/kubejs/assets/gtceu/models/block/sapphire_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/sapphire_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/sodalite_bud_indicator.json b/kubejs/assets/gtceu/models/block/sodalite_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/sodalite_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/spessartine_bud_indicator.json b/kubejs/assets/gtceu/models/block/spessartine_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/spessartine_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/topaz_bud_indicator.json b/kubejs/assets/gtceu/models/block/topaz_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/topaz_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/block/yellow_garnet_bud_indicator.json b/kubejs/assets/gtceu/models/block/yellow_garnet_bud_indicator.json
new file mode 100644
index 000000000..40f78d28c
--- /dev/null
+++ b/kubejs/assets/gtceu/models/block/yellow_garnet_bud_indicator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/bud_indicator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/item/bismuth_bronze_crate.json b/kubejs/assets/gtceu/models/item/bismuth_bronze_crate.json
new file mode 100644
index 000000000..374b6d9a8
--- /dev/null
+++ b/kubejs/assets/gtceu/models/item/bismuth_bronze_crate.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/machine/bismuth_bronze_crate"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/item/bismuth_bronze_drum.json b/kubejs/assets/gtceu/models/item/bismuth_bronze_drum.json
new file mode 100644
index 000000000..b82d68b8f
--- /dev/null
+++ b/kubejs/assets/gtceu/models/item/bismuth_bronze_drum.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/machine/bismuth_bronze_drum"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/item/black_bronze_crate.json b/kubejs/assets/gtceu/models/item/black_bronze_crate.json
new file mode 100644
index 000000000..f8fb35a15
--- /dev/null
+++ b/kubejs/assets/gtceu/models/item/black_bronze_crate.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/machine/black_bronze_crate"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/item/black_bronze_drum.json b/kubejs/assets/gtceu/models/item/black_bronze_drum.json
new file mode 100644
index 000000000..0dd9df574
--- /dev/null
+++ b/kubejs/assets/gtceu/models/item/black_bronze_drum.json
@@ -0,0 +1,3 @@
+{
+ "parent": "gtceu:block/machine/black_bronze_drum"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/ev.json b/kubejs/assets/gtceu/models/tag/item/circuits/ev.json
new file mode 100644
index 000000000..fa927b1c2
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/ev.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/ev_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/hv.json b/kubejs/assets/gtceu/models/tag/item/circuits/hv.json
new file mode 100644
index 000000000..1db5765de
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/hv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/hv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/iv.json b/kubejs/assets/gtceu/models/tag/item/circuits/iv.json
new file mode 100644
index 000000000..b721be2e3
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/iv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/iv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/luv.json b/kubejs/assets/gtceu/models/tag/item/circuits/luv.json
new file mode 100644
index 000000000..42fe362cb
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/luv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/luv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/lv.json b/kubejs/assets/gtceu/models/tag/item/circuits/lv.json
new file mode 100644
index 000000000..8dded6db0
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/lv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/lv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/mv.json b/kubejs/assets/gtceu/models/tag/item/circuits/mv.json
new file mode 100644
index 000000000..26894ce45
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/mv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/mv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/uhv.json b/kubejs/assets/gtceu/models/tag/item/circuits/uhv.json
new file mode 100644
index 000000000..84098184e
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/uhv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/uhv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/ulv.json b/kubejs/assets/gtceu/models/tag/item/circuits/ulv.json
new file mode 100644
index 000000000..51d54b080
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/ulv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/ulv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/uv.json b/kubejs/assets/gtceu/models/tag/item/circuits/uv.json
new file mode 100644
index 000000000..61cade570
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/uv.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/uv_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/models/tag/item/circuits/zpm.json b/kubejs/assets/gtceu/models/tag/item/circuits/zpm.json
new file mode 100644
index 000000000..fbda9d9ed
--- /dev/null
+++ b/kubejs/assets/gtceu/models/tag/item/circuits/zpm.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:item/zpm_universal_circuit"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/bud_indicator_layer_0.png b/kubejs/assets/gtceu/textures/block/bud_indicator_layer_0.png
similarity index 100%
rename from kubejs/assets/tfg/textures/block/bud_indicator_layer_0.png
rename to kubejs/assets/gtceu/textures/block/bud_indicator_layer_0.png
diff --git a/kubejs/assets/tfg/textures/block/bud_indicator_layer_0_emissive.png b/kubejs/assets/gtceu/textures/block/bud_indicator_layer_0_emissive.png
similarity index 100%
rename from kubejs/assets/tfg/textures/block/bud_indicator_layer_0_emissive.png
rename to kubejs/assets/gtceu/textures/block/bud_indicator_layer_0_emissive.png
diff --git a/kubejs/assets/tfg/textures/block/bud_indicator_layer_1.png b/kubejs/assets/gtceu/textures/block/bud_indicator_layer_1.png
similarity index 100%
rename from kubejs/assets/tfg/textures/block/bud_indicator_layer_1.png
rename to kubejs/assets/gtceu/textures/block/bud_indicator_layer_1.png
diff --git a/kubejs/assets/tfg/textures/block/bud_indicator_layer_1_emissive.png b/kubejs/assets/gtceu/textures/block/bud_indicator_layer_1_emissive.png
similarity index 100%
rename from kubejs/assets/tfg/textures/block/bud_indicator_layer_1_emissive.png
rename to kubejs/assets/gtceu/textures/block/bud_indicator_layer_1_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png
new file mode 100644
index 000000000..8cca66fc9
Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png differ
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta
new file mode 100644
index 000000000..33611385b
--- /dev/null
+++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.dense_steam.png.mcmeta
@@ -0,0 +1,45 @@
+{
+ "animation": {
+ "frametime": 1,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png
new file mode 100644
index 000000000..382800137
Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png differ
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta
new file mode 100644
index 000000000..33611385b
--- /dev/null
+++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.irradiated_steam.png.mcmeta
@@ -0,0 +1,45 @@
+{
+ "animation": {
+ "frametime": 1,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png
new file mode 100644
index 000000000..ad8a044a8
Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png differ
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta
new file mode 100644
index 000000000..744a3d54c
--- /dev/null
+++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.nuclear_waste.png.mcmeta
@@ -0,0 +1,87 @@
+{
+ "animation": {
+ "frametime": 2,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 39,
+ 38,
+ 37,
+ 36,
+ 35,
+ 34,
+ 33,
+ 32,
+ 31,
+ 30,
+ 29,
+ 28,
+ 27,
+ 26,
+ 25,
+ 24,
+ 23,
+ 22,
+ 21,
+ 20,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png
new file mode 100644
index 000000000..608ba1eb2
Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png differ
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta
new file mode 100644
index 000000000..33611385b
--- /dev/null
+++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_steam.png.mcmeta
@@ -0,0 +1,45 @@
+{
+ "animation": {
+ "frametime": 1,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png
new file mode 100644
index 000000000..c97f8bf25
Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png differ
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png.mcmeta
new file mode 100644
index 000000000..52c527b88
--- /dev/null
+++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.radioactive_waste.png.mcmeta
@@ -0,0 +1,69 @@
+{
+ "animation": {
+ "frametime": 2,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 30,
+ 29,
+ 28,
+ 27,
+ 26,
+ 25,
+ 24,
+ 23,
+ 22,
+ 21,
+ 20,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png b/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png
new file mode 100644
index 000000000..af5d59697
Binary files /dev/null and b/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png differ
diff --git a/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png.mcmeta b/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png.mcmeta
new file mode 100644
index 000000000..744a3d54c
--- /dev/null
+++ b/kubejs/assets/gtceu/textures/block/fluids/fluid.uranium_waste.png.mcmeta
@@ -0,0 +1,87 @@
+{
+ "animation": {
+ "frametime": 2,
+ "frames": [
+ 0,
+ 1,
+ 2,
+ 3,
+ 4,
+ 5,
+ 6,
+ 7,
+ 8,
+ 9,
+ 10,
+ 11,
+ 12,
+ 13,
+ 14,
+ 15,
+ 16,
+ 17,
+ 18,
+ 19,
+ 20,
+ 21,
+ 22,
+ 23,
+ 24,
+ 25,
+ 26,
+ 27,
+ 28,
+ 29,
+ 30,
+ 31,
+ 32,
+ 33,
+ 34,
+ 35,
+ 36,
+ 37,
+ 38,
+ 39,
+ 40,
+ 39,
+ 38,
+ 37,
+ 36,
+ 35,
+ 34,
+ 33,
+ 32,
+ 31,
+ 30,
+ 29,
+ 28,
+ 27,
+ 26,
+ 25,
+ 24,
+ 23,
+ 22,
+ 21,
+ 20,
+ 19,
+ 18,
+ 17,
+ 16,
+ 15,
+ 14,
+ 13,
+ 12,
+ 11,
+ 10,
+ 9,
+ 8,
+ 7,
+ 6,
+ 5,
+ 4,
+ 3,
+ 2,
+ 1
+ ]
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif
deleted file mode 100644
index 383a1c800..000000000
Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive_ref.gif and /dev/null differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif
deleted file mode 100644
index d766d3c18..000000000
Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_ref.gif and /dev/null differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png b/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png
deleted file mode 100644
index e10b0db21..000000000
Binary files a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front_active.png and /dev/null differ
diff --git a/kubejs/assets/immersive_aircraft/lang/uk_ua.json b/kubejs/assets/immersive_aircraft/lang/uk_ua.json
index 933d23fdb..06cf80fc4 100644
--- a/kubejs/assets/immersive_aircraft/lang/uk_ua.json
+++ b/kubejs/assets/immersive_aircraft/lang/uk_ua.json
@@ -2,8 +2,8 @@
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
"item.immersive_aircraft.steel_boiler": "Парова авіаційна турбіна",
"item.immersive_aircraft.nether_engine": "MV авіаційний двигун",
- "item.immersive_aircraft.enhanced_propeller": "Алюмінієвий покритий авіаційний пропелер",
- "item.immersive_aircraft.improved_landing_gear": "Посадкова опора з темної сталі",
+ "item.immersive_aircraft.enhanced_propeller": "Вкритий алюмінієвий авіаційний пропелер",
+ "item.immersive_aircraft.improved_landing_gear": "Шасі з темної сталі",
"item.immersive_aircraft.hull_reinforcement": "Посилена обшивка з темної сталі",
- "item.immersive_aircraft.bamboo_hopper": "Алюміневий Бункер"
+ "item.immersive_aircraft.bamboo_hopper": "Алюмінієва воронка"
}
\ No newline at end of file
diff --git a/kubejs/assets/minecraft/lang/en_gb.json b/kubejs/assets/minecraft/lang/en_gb.json
index 1fb48f92d..c5ccf5f68 100644
--- a/kubejs/assets/minecraft/lang/en_gb.json
+++ b/kubejs/assets/minecraft/lang/en_gb.json
@@ -45,6 +45,7 @@
"block.minecraft.pearlescent_froglight": "Pearlescent Lightbloom",
"block.minecraft.verdant_froglight": "Verdant Lightbloom",
"block.minecraft.ochre_froglight": "Ochre Lightbloom",
+ "minecraft:nether_wart_block": "Crimson Wart Block",
"item.minecraft.iron_nugget": "Cast Iron Nugget",
"item.minecraft.iron_ingot": "Cast Iron Ingot",
"item.minecraft.iron_block": "Cast Iron Block",
diff --git a/kubejs/assets/minecraft/lang/en_us.json b/kubejs/assets/minecraft/lang/en_us.json
index 1fb48f92d..c5ccf5f68 100644
--- a/kubejs/assets/minecraft/lang/en_us.json
+++ b/kubejs/assets/minecraft/lang/en_us.json
@@ -45,6 +45,7 @@
"block.minecraft.pearlescent_froglight": "Pearlescent Lightbloom",
"block.minecraft.verdant_froglight": "Verdant Lightbloom",
"block.minecraft.ochre_froglight": "Ochre Lightbloom",
+ "minecraft:nether_wart_block": "Crimson Wart Block",
"item.minecraft.iron_nugget": "Cast Iron Nugget",
"item.minecraft.iron_ingot": "Cast Iron Ingot",
"item.minecraft.iron_block": "Cast Iron Block",
diff --git a/kubejs/assets/minecraft/lang/uk_ua.json b/kubejs/assets/minecraft/lang/uk_ua.json
index e38c866bf..d7f7df16d 100644
--- a/kubejs/assets/minecraft/lang/uk_ua.json
+++ b/kubejs/assets/minecraft/lang/uk_ua.json
@@ -45,6 +45,7 @@
"block.minecraft.pearlescent_froglight": "Перламутровий Світлобутон",
"block.minecraft.verdant_froglight": "Зеленіючий Світлобутон",
"block.minecraft.ochre_froglight": "Охристий Світлобутон",
+ "minecraft:nether_wart_block": "Блок багрового наросту",
"item.minecraft.iron_nugget": "Самородок чавуну",
"item.minecraft.iron_ingot": "Чавунний злиток",
"item.minecraft.iron_block": "Чавунний блок",
diff --git a/kubejs/assets/primitive_creatures/lang/uk_ua.json b/kubejs/assets/primitive_creatures/lang/uk_ua.json
index d38dae7b6..9bc4a5fcb 100644
--- a/kubejs/assets/primitive_creatures/lang/uk_ua.json
+++ b/kubejs/assets/primitive_creatures/lang/uk_ua.json
@@ -2,6 +2,22 @@
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
"entity.primitive_creatures.tfc": "Каоліновий Клейз",
"entity.primitive_creatures.golem_2": "Графітовий Глейз",
- "item.primitive_creatures.tfc_spawn_egg": "Яйце спавну Каолінового Клейза",
- "item.primitive_creatures.golem_2_spawn_egg": "Яйце спавну Графітового Глейза"
+ "entity.primitive_creatures.iloger_4": "Засідник",
+ "entity.primitive_creatures.wiloger": "Приборковач звірів",
+ "entity.primitive_creatures.iloger_2": "Травник",
+ "entity.primitive_creatures.iloger_1": "Фуражир",
+ "item.primitive_creatures.tfc_spawn_egg": "Яйце виклику Каолінового Клейза",
+ "item.primitive_creatures.golem_2_spawn_egg": "Яйце виклику Графітового Глейза",
+ "item.primitive_creatures.iloger_4_spawn_egg": "Яйце виклику Засідника",
+ "item.primitive_creatures.wiloger_spawn_egg": "Яйце виклику Приборкувача Звірів",
+ "item.primitive_creatures.iloger_2_spawn_egg": "Яйце виклику Травника",
+ "item.primitive_creatures.iloger_1_spawn_egg": "Яйце виклику Фуражира",
+ "item.primitive_creatures.yhgi": "Кремнієва дубина",
+ "item.primitive_creatures.reh": "Зміцнена кримнієва дубина",
+ "item.primitive_creatures.grh": "Зношана вовна",
+ "item.primitive_creatures.totem_0": "Малий глиняний ідол",
+ "item.primitive_creatures.totem_2": "Дерев'яний ідол Леволюдини",
+ "item.primitive_creatures.totem_3": "Загартований глиняний ідол",
+ "item.primitive_creatures.tt_5": "Малий уламок",
+ "item.primitive_creatures.f_1": "Примітивна вибухівка"
}
\ No newline at end of file
diff --git a/kubejs/assets/railways/lang/en_us.json b/kubejs/assets/railways/lang/en_us.json
index 97fc7b4bb..b8d807145 100644
--- a/kubejs/assets/railways/lang/en_us.json
+++ b/kubejs/assets/railways/lang/en_us.json
@@ -2,6 +2,42 @@
"__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
"block.railways.track_create_andesite_wide": "Wide Train Track",
"block.railways.track_create_andesite_narrow": "Narrow Train Track",
+ "block.railways.track_blackstone_narrow": "Narrow Pyroxenite Train Track",
+ "block.railways.track_incomplete_blackstone_narrow": "Narrow Incomplete Pyroxenite Track",
+ "block.railways.track_blackstone": "Pyroxenite Train Track",
+ "block.railways.track_incomplete_blackstone": "Incomplete Pyroxenite Track",
+ "block.railways.track_blackstone_wide": "Wide Pyroxenite Train Track",
+ "block.railways.track_incomplete_blackstone_wide": "Wide Incomplete Pyroxenite Track",
+ "block.railways.track_acacia_narrow": "Narrow Baobab Train Track",
+ "block.railways.track_incomplete_acacia_narrow": "Narrow Incomplete Baobab Track",
+ "block.railways.track_acacia": "Baobab Train Track",
+ "block.railways.track_incomplete_acacia": "Incomplete Baobab Track",
+ "block.railways.track_acacia_wide": "Wide Baobab Train Track",
+ "block.railways.track_incomplete_acacia_wide": "Wide Incomplete Baobab Track",
+ "block.railways.track_birch_narrow": "Narrow Eucalyptus Train Track",
+ "block.railways.track_incomplete_birch_narrow": "Narrow Incomplete Eucalyptus Track",
+ "block.railways.track_birch": "Eucalyptus Train Track",
+ "block.railways.track_incomplete_birch": "Incomplete Eucalyptus Track",
+ "block.railways.track_birch_wide": "Wide Eucalyptus Train Track",
+ "block.railways.track_incomplete_birch_wide": "Wide Incomplete Eucalyptus Track",
+ "block.railways.track_cherry_narrow": "Narrow Fig Train Track",
+ "block.railways.track_incomplete_cherry_narrow": "Narrow Incomplete Fig Track",
+ "block.railways.track_cherry": "Fig Train Track",
+ "block.railways.track_incomplete_cherry": "Incomplete Fig Track",
+ "block.railways.track_cherry_wide": "Wide Fig Train Track",
+ "block.railways.track_incomplete_cherry_wide": "Wide Incomplete Fig Track",
+ "block.railways.track_jungle_narrow": "Narrow Teak Train Track",
+ "block.railways.track_incomplete_jungle_narrow": "Narrow Incomplete Teak Track",
+ "block.railways.track_jungle": "Teak Train Track",
+ "block.railways.track_incomplete_jungle": "Incomplete Teak Track",
+ "block.railways.track_jungle_wide": "Wide Teak Train Track",
+ "block.railways.track_incomplete_jungle_wide": "Wide Incomplete Teak Track",
+ "block.railways.track_spruce_narrow": "Narrow Cypress Train Track",
+ "block.railways.track_incomplete_spruce_narrow": "Narrow Incomplete Cypress Track",
+ "block.railways.track_spruce": "Cypress Train Track",
+ "block.railways.track_incomplete_spruce": "Incomplete Cypress Track",
+ "block.railways.track_spruce_wide": "Wide Cypress Train Track",
+ "block.railways.track_incomplete_spruce_wide": "Wide Incomplete Cypress Track",
"item.railways.track_incomplete_create_andesite_wide": "Incomplete Wide Track",
"item.railways.track_incomplete_create_andesite_narrow": "Incomplete Narrow Track",
"tfc.recipe.barrel.railways.barrel.dyeing.cap_decolor": "Decoloring",
diff --git a/kubejs/assets/species/lang/en_us.json b/kubejs/assets/species/lang/en_us.json
new file mode 100644
index 000000000..c9c0d5322
--- /dev/null
+++ b/kubejs/assets/species/lang/en_us.json
@@ -0,0 +1,4 @@
+{
+ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
+ "block.species.alphacene_moss_block": "Glacian Cap"
+}
\ No newline at end of file
diff --git a/kubejs/assets/species/lang/uk_ua.json b/kubejs/assets/species/lang/uk_ua.json
new file mode 100644
index 000000000..93e60c181
--- /dev/null
+++ b/kubejs/assets/species/lang/uk_ua.json
@@ -0,0 +1,4 @@
+{
+ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
+ "block.species.alphacene_moss_block": "Гляціанський капелюшок"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tacz/lang/en_us.json b/kubejs/assets/tacz/lang/en_us.json
new file mode 100644
index 000000000..e2f5007a2
--- /dev/null
+++ b/kubejs/assets/tacz/lang/en_us.json
@@ -0,0 +1,18 @@
+{
+ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
+ "applied_armorer.attachment.extended_mag_aa_1.name": "Certus Grooved Magazine",
+ "applied_armorer.attachment.extended_mag_aa_2.name": "§9Certus Grooved Magazine",
+ "applied_armorer.attachment.extended_mag_aa_3.name": "§dCertus Grooved Magazine",
+ "applied_armorer.attachment.extended_mid_mag_aa_1.name": "Fluix Grooved Magazine",
+ "applied_armorer.attachment.extended_mid_mag_aa_2.name": "§9Fluix Grooved Magazine",
+ "applied_armorer.attachment.extended_mid_mag_aa_3.name": "§dFluix Grooved Magazine",
+ "applied_armorer.attachment.grip_lf11.name": "LF-11 Laser-Grip",
+ "applied_armorer.attachment.grip_sl_2.name": "SL-2 Laser-Grip",
+ "applied_armorer.attachment.grip_stable.name": "ST-61 Grip",
+ "applied_armorer.attachment.grip_light.name": "LI-13 Grip",
+ "applied_armorer.attachment.grip_hf_17.name": "HF-17 Grip",
+ "create_armorer.attachment.extended_mag_ca_1.name": "Invar Magazine",
+ "create_armorer.attachment.extended_mag_ca_2.name": "Copper Plated Magazine",
+ "create_armorer.attachment.extended_mag_ca_3.name": "Brass Plated Magazine",
+ "create_armorer.ammo.rbapb.name": "Rimmed Blunt Ammo"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/lang/en_us.json b/kubejs/assets/tfc/lang/en_us.json
index 6511ddb87..db67a55c4 100644
--- a/kubejs/assets/tfc/lang/en_us.json
+++ b/kubejs/assets/tfc/lang/en_us.json
@@ -1,2661 +1,2662 @@
{
- "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
- "block.tfc.fluid.salt_water": "Sea Water",
- "block.tfc.cauldron.salt_water": "Sea Water Cauldron",
- "block.gtceu.andesite_almandine_ore.prospected": "Almandine",
- "block.gtceu.andesite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.andesite_alunite_ore.prospected": "Alunite",
- "block.gtceu.andesite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.andesite_apatite_ore.prospected": "Apatite",
- "block.gtceu.andesite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.andesite_barite_ore.prospected": "Barite",
- "block.gtceu.andesite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.andesite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.andesite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.andesite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.andesite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.andesite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.andesite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.andesite_borax_ore.prospected": "Borax",
- "block.gtceu.andesite_bornite_ore.prospected": "Bornite",
- "block.gtceu.andesite_calcite_ore.prospected": "Calcite",
- "block.gtceu.andesite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.andesite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.andesite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.andesite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.andesite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.andesite_chromite_ore.prospected": "Chromite",
- "block.gtceu.andesite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.andesite_coal_ore.prospected": "Coal",
- "block.gtceu.andesite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.andesite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.andesite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.andesite_copper_ore.prospected": "Copper",
- "block.gtceu.andesite_diamond_ore.prospected": "Diamond",
- "block.gtceu.andesite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.andesite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.andesite_emerald_ore.prospected": "Emerald",
- "block.gtceu.andesite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.andesite_galena_ore.prospected": "Galena",
- "block.gtceu.andesite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.andesite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.andesite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.andesite_goethite_ore.prospected": "Goethite",
- "block.gtceu.andesite_gold_ore.prospected": "Gold",
- "block.gtceu.andesite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.andesite_graphite_ore.prospected": "Graphite",
- "block.gtceu.andesite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.andesite_grossular_ore.prospected": "Grossular",
- "block.gtceu.andesite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.andesite_hematite_ore.prospected": "Hematite",
- "block.gtceu.andesite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.andesite_iron_ore.prospected": "Iron",
- "block.gtceu.andesite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.andesite_lapis_ore.prospected": "Lapis",
- "block.gtceu.andesite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.andesite_lead_ore.prospected": "Lead",
- "block.gtceu.andesite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.andesite_lithium_ore.prospected": "Lithium",
- "block.gtceu.andesite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.andesite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.andesite_malachite_ore.prospected": "Malachite",
- "block.gtceu.andesite_mica_ore.prospected": "Mica",
- "block.gtceu.andesite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.andesite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.andesite_monazite_ore.prospected": "Monazite",
- "block.gtceu.andesite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.andesite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.andesite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.andesite_nickel_ore.prospected": "Nickel",
- "block.gtceu.andesite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.andesite_olivine_ore.prospected": "Olivine",
- "block.gtceu.andesite_opal_ore.prospected": "Opal",
- "block.gtceu.andesite_palladium_ore.prospected": "Palladium",
- "block.gtceu.andesite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.andesite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.andesite_platinum_ore.prospected": "Platinum",
- "block.gtceu.andesite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.andesite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.andesite_powellite_ore.prospected": "Powellite",
- "block.gtceu.andesite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.andesite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.andesite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.andesite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.andesite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.andesite_realgar_ore.prospected": "Realgar",
- "block.gtceu.andesite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.andesite_redstone_ore.prospected": "Redstone",
- "block.gtceu.andesite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.andesite_ruby_ore.prospected": "Ruby",
- "block.gtceu.andesite_salt_ore.prospected": "Salt",
- "block.gtceu.andesite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.andesite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.andesite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.andesite_silver_ore.prospected": "Silver",
- "block.gtceu.andesite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.andesite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.andesite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.andesite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.andesite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.andesite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.andesite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.andesite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.andesite_talc_ore.prospected": "Talc",
- "block.gtceu.andesite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.andesite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.andesite_thorium_ore.prospected": "Thorium",
- "block.gtceu.andesite_tin_ore.prospected": "Tin",
- "block.gtceu.andesite_topaz_ore.prospected": "Topaz",
- "block.gtceu.andesite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.andesite_trona_ore.prospected": "Trona",
- "block.gtceu.andesite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.andesite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.andesite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.andesite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.andesite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.andesite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.andesite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.basalt_almandine_ore.prospected": "Almandine",
- "block.gtceu.basalt_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.basalt_alunite_ore.prospected": "Alunite",
- "block.gtceu.basalt_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.basalt_apatite_ore.prospected": "Apatite",
- "block.gtceu.basalt_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.basalt_barite_ore.prospected": "Barite",
- "block.gtceu.basalt_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.basalt_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.basalt_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.basalt_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.basalt_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.basalt_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.basalt_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.basalt_borax_ore.prospected": "Borax",
- "block.gtceu.basalt_bornite_ore.prospected": "Bornite",
- "block.gtceu.basalt_calcite_ore.prospected": "Calcite",
- "block.gtceu.basalt_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.basalt_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.basalt_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.basalt_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.basalt_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.basalt_chromite_ore.prospected": "Chromite",
- "block.gtceu.basalt_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.basalt_coal_ore.prospected": "Coal",
- "block.gtceu.basalt_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.basalt_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.basalt_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.basalt_copper_ore.prospected": "Copper",
- "block.gtceu.basalt_diamond_ore.prospected": "Diamond",
- "block.gtceu.basalt_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.basalt_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.basalt_emerald_ore.prospected": "Emerald",
- "block.gtceu.basalt_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.basalt_galena_ore.prospected": "Galena",
- "block.gtceu.basalt_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.basalt_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.basalt_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.basalt_goethite_ore.prospected": "Goethite",
- "block.gtceu.basalt_gold_ore.prospected": "Gold",
- "block.gtceu.basalt_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.basalt_graphite_ore.prospected": "Graphite",
- "block.gtceu.basalt_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.basalt_grossular_ore.prospected": "Grossular",
- "block.gtceu.basalt_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.basalt_hematite_ore.prospected": "Hematite",
- "block.gtceu.basalt_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.basalt_iron_ore.prospected": "Iron",
- "block.gtceu.basalt_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.basalt_lapis_ore.prospected": "Lapis",
- "block.gtceu.basalt_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.basalt_lead_ore.prospected": "Lead",
- "block.gtceu.basalt_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.basalt_lithium_ore.prospected": "Lithium",
- "block.gtceu.basalt_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.basalt_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.basalt_malachite_ore.prospected": "Malachite",
- "block.gtceu.basalt_mica_ore.prospected": "Mica",
- "block.gtceu.basalt_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.basalt_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.basalt_monazite_ore.prospected": "Monazite",
- "block.gtceu.basalt_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.basalt_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.basalt_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.basalt_nickel_ore.prospected": "Nickel",
- "block.gtceu.basalt_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.basalt_olivine_ore.prospected": "Olivine",
- "block.gtceu.basalt_opal_ore.prospected": "Opal",
- "block.gtceu.basalt_palladium_ore.prospected": "Palladium",
- "block.gtceu.basalt_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.basalt_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.basalt_platinum_ore.prospected": "Platinum",
- "block.gtceu.basalt_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.basalt_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.basalt_powellite_ore.prospected": "Powellite",
- "block.gtceu.basalt_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.basalt_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.basalt_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.basalt_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.basalt_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.basalt_realgar_ore.prospected": "Realgar",
- "block.gtceu.basalt_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.basalt_redstone_ore.prospected": "Redstone",
- "block.gtceu.basalt_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.basalt_ruby_ore.prospected": "Ruby",
- "block.gtceu.basalt_salt_ore.prospected": "Salt",
- "block.gtceu.basalt_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.basalt_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.basalt_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.basalt_silver_ore.prospected": "Silver",
- "block.gtceu.basalt_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.basalt_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.basalt_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.basalt_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.basalt_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.basalt_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.basalt_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.basalt_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.basalt_talc_ore.prospected": "Talc",
- "block.gtceu.basalt_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.basalt_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.basalt_thorium_ore.prospected": "Thorium",
- "block.gtceu.basalt_tin_ore.prospected": "Tin",
- "block.gtceu.basalt_topaz_ore.prospected": "Topaz",
- "block.gtceu.basalt_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.basalt_trona_ore.prospected": "Trona",
- "block.gtceu.basalt_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.basalt_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.basalt_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.basalt_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.basalt_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.basalt_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.basalt_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.chalk_almandine_ore.prospected": "Almandine",
- "block.gtceu.chalk_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.chalk_alunite_ore.prospected": "Alunite",
- "block.gtceu.chalk_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.chalk_apatite_ore.prospected": "Apatite",
- "block.gtceu.chalk_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.chalk_barite_ore.prospected": "Barite",
- "block.gtceu.chalk_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.chalk_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.chalk_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.chalk_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.chalk_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.chalk_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.chalk_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.chalk_borax_ore.prospected": "Borax",
- "block.gtceu.chalk_bornite_ore.prospected": "Bornite",
- "block.gtceu.chalk_calcite_ore.prospected": "Calcite",
- "block.gtceu.chalk_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.chalk_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.chalk_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.chalk_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.chalk_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.chalk_chromite_ore.prospected": "Chromite",
- "block.gtceu.chalk_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.chalk_coal_ore.prospected": "Coal",
- "block.gtceu.chalk_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.chalk_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.chalk_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.chalk_copper_ore.prospected": "Copper",
- "block.gtceu.chalk_diamond_ore.prospected": "Diamond",
- "block.gtceu.chalk_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.chalk_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.chalk_emerald_ore.prospected": "Emerald",
- "block.gtceu.chalk_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.chalk_galena_ore.prospected": "Galena",
- "block.gtceu.chalk_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.chalk_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.chalk_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.chalk_goethite_ore.prospected": "Goethite",
- "block.gtceu.chalk_gold_ore.prospected": "Gold",
- "block.gtceu.chalk_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.chalk_graphite_ore.prospected": "Graphite",
- "block.gtceu.chalk_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.chalk_grossular_ore.prospected": "Grossular",
- "block.gtceu.chalk_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.chalk_hematite_ore.prospected": "Hematite",
- "block.gtceu.chalk_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.chalk_iron_ore.prospected": "Iron",
- "block.gtceu.chalk_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.chalk_lapis_ore.prospected": "Lapis",
- "block.gtceu.chalk_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.chalk_lead_ore.prospected": "Lead",
- "block.gtceu.chalk_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.chalk_lithium_ore.prospected": "Lithium",
- "block.gtceu.chalk_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.chalk_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.chalk_malachite_ore.prospected": "Malachite",
- "block.gtceu.chalk_mica_ore.prospected": "Mica",
- "block.gtceu.chalk_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.chalk_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.chalk_monazite_ore.prospected": "Monazite",
- "block.gtceu.chalk_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.chalk_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.chalk_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.chalk_nickel_ore.prospected": "Nickel",
- "block.gtceu.chalk_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.chalk_olivine_ore.prospected": "Olivine",
- "block.gtceu.chalk_opal_ore.prospected": "Opal",
- "block.gtceu.chalk_palladium_ore.prospected": "Palladium",
- "block.gtceu.chalk_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.chalk_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.chalk_platinum_ore.prospected": "Platinum",
- "block.gtceu.chalk_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.chalk_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.chalk_powellite_ore.prospected": "Powellite",
- "block.gtceu.chalk_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.chalk_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.chalk_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.chalk_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.chalk_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.chalk_realgar_ore.prospected": "Realgar",
- "block.gtceu.chalk_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.chalk_redstone_ore.prospected": "Redstone",
- "block.gtceu.chalk_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.chalk_ruby_ore.prospected": "Ruby",
- "block.gtceu.chalk_salt_ore.prospected": "Salt",
- "block.gtceu.chalk_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.chalk_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.chalk_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.chalk_silver_ore.prospected": "Silver",
- "block.gtceu.chalk_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.chalk_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.chalk_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.chalk_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.chalk_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.chalk_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.chalk_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.chalk_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.chalk_talc_ore.prospected": "Talc",
- "block.gtceu.chalk_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.chalk_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.chalk_thorium_ore.prospected": "Thorium",
- "block.gtceu.chalk_tin_ore.prospected": "Tin",
- "block.gtceu.chalk_topaz_ore.prospected": "Topaz",
- "block.gtceu.chalk_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.chalk_trona_ore.prospected": "Trona",
- "block.gtceu.chalk_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.chalk_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.chalk_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.chalk_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.chalk_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.chalk_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.chalk_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.chert_almandine_ore.prospected": "Almandine",
- "block.gtceu.chert_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.chert_alunite_ore.prospected": "Alunite",
- "block.gtceu.chert_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.chert_apatite_ore.prospected": "Apatite",
- "block.gtceu.chert_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.chert_barite_ore.prospected": "Barite",
- "block.gtceu.chert_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.chert_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.chert_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.chert_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.chert_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.chert_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.chert_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.chert_borax_ore.prospected": "Borax",
- "block.gtceu.chert_bornite_ore.prospected": "Bornite",
- "block.gtceu.chert_calcite_ore.prospected": "Calcite",
- "block.gtceu.chert_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.chert_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.chert_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.chert_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.chert_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.chert_chromite_ore.prospected": "Chromite",
- "block.gtceu.chert_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.chert_coal_ore.prospected": "Coal",
- "block.gtceu.chert_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.chert_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.chert_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.chert_copper_ore.prospected": "Copper",
- "block.gtceu.chert_diamond_ore.prospected": "Diamond",
- "block.gtceu.chert_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.chert_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.chert_emerald_ore.prospected": "Emerald",
- "block.gtceu.chert_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.chert_galena_ore.prospected": "Galena",
- "block.gtceu.chert_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.chert_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.chert_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.chert_goethite_ore.prospected": "Goethite",
- "block.gtceu.chert_gold_ore.prospected": "Gold",
- "block.gtceu.chert_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.chert_graphite_ore.prospected": "Graphite",
- "block.gtceu.chert_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.chert_grossular_ore.prospected": "Grossular",
- "block.gtceu.chert_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.chert_hematite_ore.prospected": "Hematite",
- "block.gtceu.chert_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.chert_iron_ore.prospected": "Iron",
- "block.gtceu.chert_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.chert_lapis_ore.prospected": "Lapis",
- "block.gtceu.chert_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.chert_lead_ore.prospected": "Lead",
- "block.gtceu.chert_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.chert_lithium_ore.prospected": "Lithium",
- "block.gtceu.chert_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.chert_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.chert_malachite_ore.prospected": "Malachite",
- "block.gtceu.chert_mica_ore.prospected": "Mica",
- "block.gtceu.chert_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.chert_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.chert_monazite_ore.prospected": "Monazite",
- "block.gtceu.chert_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.chert_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.chert_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.chert_nickel_ore.prospected": "Nickel",
- "block.gtceu.chert_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.chert_olivine_ore.prospected": "Olivine",
- "block.gtceu.chert_opal_ore.prospected": "Opal",
- "block.gtceu.chert_palladium_ore.prospected": "Palladium",
- "block.gtceu.chert_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.chert_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.chert_platinum_ore.prospected": "Platinum",
- "block.gtceu.chert_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.chert_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.chert_powellite_ore.prospected": "Powellite",
- "block.gtceu.chert_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.chert_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.chert_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.chert_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.chert_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.chert_realgar_ore.prospected": "Realgar",
- "block.gtceu.chert_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.chert_redstone_ore.prospected": "Redstone",
- "block.gtceu.chert_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.chert_ruby_ore.prospected": "Ruby",
- "block.gtceu.chert_salt_ore.prospected": "Salt",
- "block.gtceu.chert_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.chert_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.chert_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.chert_silver_ore.prospected": "Silver",
- "block.gtceu.chert_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.chert_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.chert_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.chert_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.chert_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.chert_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.chert_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.chert_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.chert_talc_ore.prospected": "Talc",
- "block.gtceu.chert_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.chert_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.chert_thorium_ore.prospected": "Thorium",
- "block.gtceu.chert_tin_ore.prospected": "Tin",
- "block.gtceu.chert_topaz_ore.prospected": "Topaz",
- "block.gtceu.chert_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.chert_trona_ore.prospected": "Trona",
- "block.gtceu.chert_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.chert_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.chert_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.chert_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.chert_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.chert_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.chert_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.claystone_almandine_ore.prospected": "Almandine",
- "block.gtceu.claystone_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.claystone_alunite_ore.prospected": "Alunite",
- "block.gtceu.claystone_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.claystone_apatite_ore.prospected": "Apatite",
- "block.gtceu.claystone_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.claystone_barite_ore.prospected": "Barite",
- "block.gtceu.claystone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.claystone_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.claystone_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.claystone_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.claystone_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.claystone_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.claystone_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.claystone_borax_ore.prospected": "Borax",
- "block.gtceu.claystone_bornite_ore.prospected": "Bornite",
- "block.gtceu.claystone_calcite_ore.prospected": "Calcite",
- "block.gtceu.claystone_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.claystone_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.claystone_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.claystone_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.claystone_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.claystone_chromite_ore.prospected": "Chromite",
- "block.gtceu.claystone_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.claystone_coal_ore.prospected": "Coal",
- "block.gtceu.claystone_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.claystone_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.claystone_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.claystone_copper_ore.prospected": "Copper",
- "block.gtceu.claystone_diamond_ore.prospected": "Diamond",
- "block.gtceu.claystone_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.claystone_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.claystone_emerald_ore.prospected": "Emerald",
- "block.gtceu.claystone_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.claystone_galena_ore.prospected": "Galena",
- "block.gtceu.claystone_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.claystone_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.claystone_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.claystone_goethite_ore.prospected": "Goethite",
- "block.gtceu.claystone_gold_ore.prospected": "Gold",
- "block.gtceu.claystone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.claystone_graphite_ore.prospected": "Graphite",
- "block.gtceu.claystone_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.claystone_grossular_ore.prospected": "Grossular",
- "block.gtceu.claystone_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.claystone_hematite_ore.prospected": "Hematite",
- "block.gtceu.claystone_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.claystone_iron_ore.prospected": "Iron",
- "block.gtceu.claystone_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.claystone_lapis_ore.prospected": "Lapis",
- "block.gtceu.claystone_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.claystone_lead_ore.prospected": "Lead",
- "block.gtceu.claystone_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.claystone_lithium_ore.prospected": "Lithium",
- "block.gtceu.claystone_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.claystone_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.claystone_malachite_ore.prospected": "Malachite",
- "block.gtceu.claystone_mica_ore.prospected": "Mica",
- "block.gtceu.claystone_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.claystone_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.claystone_monazite_ore.prospected": "Monazite",
- "block.gtceu.claystone_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.claystone_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.claystone_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.claystone_nickel_ore.prospected": "Nickel",
- "block.gtceu.claystone_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.claystone_olivine_ore.prospected": "Olivine",
- "block.gtceu.claystone_opal_ore.prospected": "Opal",
- "block.gtceu.claystone_palladium_ore.prospected": "Palladium",
- "block.gtceu.claystone_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.claystone_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.claystone_platinum_ore.prospected": "Platinum",
- "block.gtceu.claystone_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.claystone_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.claystone_powellite_ore.prospected": "Powellite",
- "block.gtceu.claystone_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.claystone_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.claystone_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.claystone_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.claystone_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.claystone_realgar_ore.prospected": "Realgar",
- "block.gtceu.claystone_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.claystone_redstone_ore.prospected": "Redstone",
- "block.gtceu.claystone_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.claystone_ruby_ore.prospected": "Ruby",
- "block.gtceu.claystone_salt_ore.prospected": "Salt",
- "block.gtceu.claystone_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.claystone_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.claystone_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.claystone_silver_ore.prospected": "Silver",
- "block.gtceu.claystone_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.claystone_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.claystone_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.claystone_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.claystone_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.claystone_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.claystone_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.claystone_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.claystone_talc_ore.prospected": "Talc",
- "block.gtceu.claystone_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.claystone_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.claystone_thorium_ore.prospected": "Thorium",
- "block.gtceu.claystone_tin_ore.prospected": "Tin",
- "block.gtceu.claystone_topaz_ore.prospected": "Topaz",
- "block.gtceu.claystone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.claystone_trona_ore.prospected": "Trona",
- "block.gtceu.claystone_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.claystone_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.claystone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.claystone_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.claystone_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.claystone_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.claystone_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.conglomerate_almandine_ore.prospected": "Almandine",
- "block.gtceu.conglomerate_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.conglomerate_alunite_ore.prospected": "Alunite",
- "block.gtceu.conglomerate_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.conglomerate_apatite_ore.prospected": "Apatite",
- "block.gtceu.conglomerate_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.conglomerate_barite_ore.prospected": "Barite",
- "block.gtceu.conglomerate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.conglomerate_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.conglomerate_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.conglomerate_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.conglomerate_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.conglomerate_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.conglomerate_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.conglomerate_borax_ore.prospected": "Borax",
- "block.gtceu.conglomerate_bornite_ore.prospected": "Bornite",
- "block.gtceu.conglomerate_calcite_ore.prospected": "Calcite",
- "block.gtceu.conglomerate_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.conglomerate_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.conglomerate_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.conglomerate_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.conglomerate_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.conglomerate_chromite_ore.prospected": "Chromite",
- "block.gtceu.conglomerate_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.conglomerate_coal_ore.prospected": "Coal",
- "block.gtceu.conglomerate_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.conglomerate_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.conglomerate_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.conglomerate_copper_ore.prospected": "Copper",
- "block.gtceu.conglomerate_diamond_ore.prospected": "Diamond",
- "block.gtceu.conglomerate_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.conglomerate_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.conglomerate_emerald_ore.prospected": "Emerald",
- "block.gtceu.conglomerate_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.conglomerate_galena_ore.prospected": "Galena",
- "block.gtceu.conglomerate_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.conglomerate_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.conglomerate_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.conglomerate_goethite_ore.prospected": "Goethite",
- "block.gtceu.conglomerate_gold_ore.prospected": "Gold",
- "block.gtceu.conglomerate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.conglomerate_graphite_ore.prospected": "Graphite",
- "block.gtceu.conglomerate_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.conglomerate_grossular_ore.prospected": "Grossular",
- "block.gtceu.conglomerate_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.conglomerate_hematite_ore.prospected": "Hematite",
- "block.gtceu.conglomerate_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.conglomerate_iron_ore.prospected": "Iron",
- "block.gtceu.conglomerate_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.conglomerate_lapis_ore.prospected": "Lapis",
- "block.gtceu.conglomerate_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.conglomerate_lead_ore.prospected": "Lead",
- "block.gtceu.conglomerate_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.conglomerate_lithium_ore.prospected": "Lithium",
- "block.gtceu.conglomerate_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.conglomerate_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.conglomerate_malachite_ore.prospected": "Malachite",
- "block.gtceu.conglomerate_mica_ore.prospected": "Mica",
- "block.gtceu.conglomerate_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.conglomerate_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.conglomerate_monazite_ore.prospected": "Monazite",
- "block.gtceu.conglomerate_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.conglomerate_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.conglomerate_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.conglomerate_nickel_ore.prospected": "Nickel",
- "block.gtceu.conglomerate_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.conglomerate_olivine_ore.prospected": "Olivine",
- "block.gtceu.conglomerate_opal_ore.prospected": "Opal",
- "block.gtceu.conglomerate_palladium_ore.prospected": "Palladium",
- "block.gtceu.conglomerate_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.conglomerate_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.conglomerate_platinum_ore.prospected": "Platinum",
- "block.gtceu.conglomerate_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.conglomerate_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.conglomerate_powellite_ore.prospected": "Powellite",
- "block.gtceu.conglomerate_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.conglomerate_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.conglomerate_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.conglomerate_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.conglomerate_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.conglomerate_realgar_ore.prospected": "Realgar",
- "block.gtceu.conglomerate_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.conglomerate_redstone_ore.prospected": "Redstone",
- "block.gtceu.conglomerate_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.conglomerate_ruby_ore.prospected": "Ruby",
- "block.gtceu.conglomerate_salt_ore.prospected": "Salt",
- "block.gtceu.conglomerate_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.conglomerate_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.conglomerate_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.conglomerate_silver_ore.prospected": "Silver",
- "block.gtceu.conglomerate_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.conglomerate_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.conglomerate_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.conglomerate_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.conglomerate_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.conglomerate_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.conglomerate_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.conglomerate_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.conglomerate_talc_ore.prospected": "Talc",
- "block.gtceu.conglomerate_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.conglomerate_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.conglomerate_thorium_ore.prospected": "Thorium",
- "block.gtceu.conglomerate_tin_ore.prospected": "Tin",
- "block.gtceu.conglomerate_topaz_ore.prospected": "Topaz",
- "block.gtceu.conglomerate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.conglomerate_trona_ore.prospected": "Trona",
- "block.gtceu.conglomerate_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.conglomerate_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.conglomerate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.conglomerate_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.conglomerate_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.conglomerate_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.conglomerate_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.dacite_almandine_ore.prospected": "Almandine",
- "block.gtceu.dacite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.dacite_alunite_ore.prospected": "Alunite",
- "block.gtceu.dacite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.dacite_apatite_ore.prospected": "Apatite",
- "block.gtceu.dacite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.dacite_barite_ore.prospected": "Barite",
- "block.gtceu.dacite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.dacite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.dacite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.dacite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.dacite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.dacite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.dacite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.dacite_borax_ore.prospected": "Borax",
- "block.gtceu.dacite_bornite_ore.prospected": "Bornite",
- "block.gtceu.dacite_calcite_ore.prospected": "Calcite",
- "block.gtceu.dacite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.dacite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.dacite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.dacite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.dacite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.dacite_chromite_ore.prospected": "Chromite",
- "block.gtceu.dacite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.dacite_coal_ore.prospected": "Coal",
- "block.gtceu.dacite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.dacite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.dacite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.dacite_copper_ore.prospected": "Copper",
- "block.gtceu.dacite_diamond_ore.prospected": "Diamond",
- "block.gtceu.dacite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.dacite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.dacite_emerald_ore.prospected": "Emerald",
- "block.gtceu.dacite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.dacite_galena_ore.prospected": "Galena",
- "block.gtceu.dacite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.dacite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.dacite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.dacite_goethite_ore.prospected": "Goethite",
- "block.gtceu.dacite_gold_ore.prospected": "Gold",
- "block.gtceu.dacite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.dacite_graphite_ore.prospected": "Graphite",
- "block.gtceu.dacite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.dacite_grossular_ore.prospected": "Grossular",
- "block.gtceu.dacite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.dacite_hematite_ore.prospected": "Hematite",
- "block.gtceu.dacite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.dacite_iron_ore.prospected": "Iron",
- "block.gtceu.dacite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.dacite_lapis_ore.prospected": "Lapis",
- "block.gtceu.dacite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.dacite_lead_ore.prospected": "Lead",
- "block.gtceu.dacite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.dacite_lithium_ore.prospected": "Lithium",
- "block.gtceu.dacite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.dacite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.dacite_malachite_ore.prospected": "Malachite",
- "block.gtceu.dacite_mica_ore.prospected": "Mica",
- "block.gtceu.dacite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.dacite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.dacite_monazite_ore.prospected": "Monazite",
- "block.gtceu.dacite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.dacite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.dacite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.dacite_nickel_ore.prospected": "Nickel",
- "block.gtceu.dacite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.dacite_olivine_ore.prospected": "Olivine",
- "block.gtceu.dacite_opal_ore.prospected": "Opal",
- "block.gtceu.dacite_palladium_ore.prospected": "Palladium",
- "block.gtceu.dacite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.dacite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.dacite_platinum_ore.prospected": "Platinum",
- "block.gtceu.dacite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.dacite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.dacite_powellite_ore.prospected": "Powellite",
- "block.gtceu.dacite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.dacite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.dacite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.dacite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.dacite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.dacite_realgar_ore.prospected": "Realgar",
- "block.gtceu.dacite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.dacite_redstone_ore.prospected": "Redstone",
- "block.gtceu.dacite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.dacite_ruby_ore.prospected": "Ruby",
- "block.gtceu.dacite_salt_ore.prospected": "Salt",
- "block.gtceu.dacite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.dacite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.dacite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.dacite_silver_ore.prospected": "Silver",
- "block.gtceu.dacite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.dacite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.dacite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.dacite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.dacite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.dacite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.dacite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.dacite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.dacite_talc_ore.prospected": "Talc",
- "block.gtceu.dacite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.dacite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.dacite_thorium_ore.prospected": "Thorium",
- "block.gtceu.dacite_tin_ore.prospected": "Tin",
- "block.gtceu.dacite_topaz_ore.prospected": "Topaz",
- "block.gtceu.dacite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.dacite_trona_ore.prospected": "Trona",
- "block.gtceu.dacite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.dacite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.dacite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.dacite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.dacite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.dacite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.dacite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.diorite_almandine_ore.prospected": "Almandine",
- "block.gtceu.diorite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.diorite_alunite_ore.prospected": "Alunite",
- "block.gtceu.diorite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.diorite_apatite_ore.prospected": "Apatite",
- "block.gtceu.diorite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.diorite_barite_ore.prospected": "Barite",
- "block.gtceu.diorite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.diorite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.diorite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.diorite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.diorite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.diorite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.diorite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.diorite_borax_ore.prospected": "Borax",
- "block.gtceu.diorite_bornite_ore.prospected": "Bornite",
- "block.gtceu.diorite_calcite_ore.prospected": "Calcite",
- "block.gtceu.diorite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.diorite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.diorite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.diorite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.diorite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.diorite_chromite_ore.prospected": "Chromite",
- "block.gtceu.diorite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.diorite_coal_ore.prospected": "Coal",
- "block.gtceu.diorite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.diorite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.diorite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.diorite_copper_ore.prospected": "Copper",
- "block.gtceu.diorite_diamond_ore.prospected": "Diamond",
- "block.gtceu.diorite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.diorite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.diorite_emerald_ore.prospected": "Emerald",
- "block.gtceu.diorite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.diorite_galena_ore.prospected": "Galena",
- "block.gtceu.diorite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.diorite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.diorite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.diorite_goethite_ore.prospected": "Goethite",
- "block.gtceu.diorite_gold_ore.prospected": "Gold",
- "block.gtceu.diorite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.diorite_graphite_ore.prospected": "Graphite",
- "block.gtceu.diorite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.diorite_grossular_ore.prospected": "Grossular",
- "block.gtceu.diorite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.diorite_hematite_ore.prospected": "Hematite",
- "block.gtceu.diorite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.diorite_iron_ore.prospected": "Iron",
- "block.gtceu.diorite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.diorite_lapis_ore.prospected": "Lapis",
- "block.gtceu.diorite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.diorite_lead_ore.prospected": "Lead",
- "block.gtceu.diorite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.diorite_lithium_ore.prospected": "Lithium",
- "block.gtceu.diorite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.diorite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.diorite_malachite_ore.prospected": "Malachite",
- "block.gtceu.diorite_mica_ore.prospected": "Mica",
- "block.gtceu.diorite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.diorite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.diorite_monazite_ore.prospected": "Monazite",
- "block.gtceu.diorite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.diorite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.diorite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.diorite_nickel_ore.prospected": "Nickel",
- "block.gtceu.diorite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.diorite_olivine_ore.prospected": "Olivine",
- "block.gtceu.diorite_opal_ore.prospected": "Opal",
- "block.gtceu.diorite_palladium_ore.prospected": "Palladium",
- "block.gtceu.diorite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.diorite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.diorite_platinum_ore.prospected": "Platinum",
- "block.gtceu.diorite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.diorite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.diorite_powellite_ore.prospected": "Powellite",
- "block.gtceu.diorite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.diorite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.diorite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.diorite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.diorite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.diorite_realgar_ore.prospected": "Realgar",
- "block.gtceu.diorite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.diorite_redstone_ore.prospected": "Redstone",
- "block.gtceu.diorite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.diorite_ruby_ore.prospected": "Ruby",
- "block.gtceu.diorite_salt_ore.prospected": "Salt",
- "block.gtceu.diorite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.diorite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.diorite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.diorite_silver_ore.prospected": "Silver",
- "block.gtceu.diorite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.diorite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.diorite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.diorite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.diorite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.diorite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.diorite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.diorite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.diorite_talc_ore.prospected": "Talc",
- "block.gtceu.diorite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.diorite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.diorite_thorium_ore.prospected": "Thorium",
- "block.gtceu.diorite_tin_ore.prospected": "Tin",
- "block.gtceu.diorite_topaz_ore.prospected": "Topaz",
- "block.gtceu.diorite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.diorite_trona_ore.prospected": "Trona",
- "block.gtceu.diorite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.diorite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.diorite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.diorite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.diorite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.diorite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.diorite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.dolomite_almandine_ore.prospected": "Almandine",
- "block.gtceu.dolomite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.dolomite_alunite_ore.prospected": "Alunite",
- "block.gtceu.dolomite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.dolomite_apatite_ore.prospected": "Apatite",
- "block.gtceu.dolomite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.dolomite_barite_ore.prospected": "Barite",
- "block.gtceu.dolomite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.dolomite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.dolomite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.dolomite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.dolomite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.dolomite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.dolomite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.dolomite_borax_ore.prospected": "Borax",
- "block.gtceu.dolomite_bornite_ore.prospected": "Bornite",
- "block.gtceu.dolomite_calcite_ore.prospected": "Calcite",
- "block.gtceu.dolomite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.dolomite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.dolomite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.dolomite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.dolomite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.dolomite_chromite_ore.prospected": "Chromite",
- "block.gtceu.dolomite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.dolomite_coal_ore.prospected": "Coal",
- "block.gtceu.dolomite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.dolomite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.dolomite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.dolomite_copper_ore.prospected": "Copper",
- "block.gtceu.dolomite_diamond_ore.prospected": "Diamond",
- "block.gtceu.dolomite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.dolomite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.dolomite_emerald_ore.prospected": "Emerald",
- "block.gtceu.dolomite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.dolomite_galena_ore.prospected": "Galena",
- "block.gtceu.dolomite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.dolomite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.dolomite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.dolomite_goethite_ore.prospected": "Goethite",
- "block.gtceu.dolomite_gold_ore.prospected": "Gold",
- "block.gtceu.dolomite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.dolomite_graphite_ore.prospected": "Graphite",
- "block.gtceu.dolomite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.dolomite_grossular_ore.prospected": "Grossular",
- "block.gtceu.dolomite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.dolomite_hematite_ore.prospected": "Hematite",
- "block.gtceu.dolomite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.dolomite_iron_ore.prospected": "Iron",
- "block.gtceu.dolomite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.dolomite_lapis_ore.prospected": "Lapis",
- "block.gtceu.dolomite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.dolomite_lead_ore.prospected": "Lead",
- "block.gtceu.dolomite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.dolomite_lithium_ore.prospected": "Lithium",
- "block.gtceu.dolomite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.dolomite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.dolomite_malachite_ore.prospected": "Malachite",
- "block.gtceu.dolomite_mica_ore.prospected": "Mica",
- "block.gtceu.dolomite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.dolomite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.dolomite_monazite_ore.prospected": "Monazite",
- "block.gtceu.dolomite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.dolomite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.dolomite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.dolomite_nickel_ore.prospected": "Nickel",
- "block.gtceu.dolomite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.dolomite_olivine_ore.prospected": "Olivine",
- "block.gtceu.dolomite_opal_ore.prospected": "Opal",
- "block.gtceu.dolomite_palladium_ore.prospected": "Palladium",
- "block.gtceu.dolomite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.dolomite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.dolomite_platinum_ore.prospected": "Platinum",
- "block.gtceu.dolomite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.dolomite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.dolomite_powellite_ore.prospected": "Powellite",
- "block.gtceu.dolomite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.dolomite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.dolomite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.dolomite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.dolomite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.dolomite_realgar_ore.prospected": "Realgar",
- "block.gtceu.dolomite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.dolomite_redstone_ore.prospected": "Redstone",
- "block.gtceu.dolomite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.dolomite_ruby_ore.prospected": "Ruby",
- "block.gtceu.dolomite_salt_ore.prospected": "Salt",
- "block.gtceu.dolomite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.dolomite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.dolomite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.dolomite_silver_ore.prospected": "Silver",
- "block.gtceu.dolomite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.dolomite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.dolomite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.dolomite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.dolomite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.dolomite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.dolomite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.dolomite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.dolomite_talc_ore.prospected": "Talc",
- "block.gtceu.dolomite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.dolomite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.dolomite_thorium_ore.prospected": "Thorium",
- "block.gtceu.dolomite_tin_ore.prospected": "Tin",
- "block.gtceu.dolomite_topaz_ore.prospected": "Topaz",
- "block.gtceu.dolomite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.dolomite_trona_ore.prospected": "Trona",
- "block.gtceu.dolomite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.dolomite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.dolomite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.dolomite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.dolomite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.dolomite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.dolomite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.gabbro_almandine_ore.prospected": "Almandine",
- "block.gtceu.gabbro_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.gabbro_alunite_ore.prospected": "Alunite",
- "block.gtceu.gabbro_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.gabbro_apatite_ore.prospected": "Apatite",
- "block.gtceu.gabbro_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.gabbro_barite_ore.prospected": "Barite",
- "block.gtceu.gabbro_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.gabbro_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.gabbro_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.gabbro_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.gabbro_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.gabbro_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.gabbro_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.gabbro_borax_ore.prospected": "Borax",
- "block.gtceu.gabbro_bornite_ore.prospected": "Bornite",
- "block.gtceu.gabbro_calcite_ore.prospected": "Calcite",
- "block.gtceu.gabbro_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.gabbro_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.gabbro_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.gabbro_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.gabbro_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.gabbro_chromite_ore.prospected": "Chromite",
- "block.gtceu.gabbro_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.gabbro_coal_ore.prospected": "Coal",
- "block.gtceu.gabbro_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.gabbro_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.gabbro_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.gabbro_copper_ore.prospected": "Copper",
- "block.gtceu.gabbro_diamond_ore.prospected": "Diamond",
- "block.gtceu.gabbro_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.gabbro_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.gabbro_emerald_ore.prospected": "Emerald",
- "block.gtceu.gabbro_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.gabbro_galena_ore.prospected": "Galena",
- "block.gtceu.gabbro_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.gabbro_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.gabbro_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.gabbro_goethite_ore.prospected": "Goethite",
- "block.gtceu.gabbro_gold_ore.prospected": "Gold",
- "block.gtceu.gabbro_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.gabbro_graphite_ore.prospected": "Graphite",
- "block.gtceu.gabbro_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.gabbro_grossular_ore.prospected": "Grossular",
- "block.gtceu.gabbro_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.gabbro_hematite_ore.prospected": "Hematite",
- "block.gtceu.gabbro_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.gabbro_iron_ore.prospected": "Iron",
- "block.gtceu.gabbro_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.gabbro_lapis_ore.prospected": "Lapis",
- "block.gtceu.gabbro_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.gabbro_lead_ore.prospected": "Lead",
- "block.gtceu.gabbro_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.gabbro_lithium_ore.prospected": "Lithium",
- "block.gtceu.gabbro_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.gabbro_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.gabbro_malachite_ore.prospected": "Malachite",
- "block.gtceu.gabbro_mica_ore.prospected": "Mica",
- "block.gtceu.gabbro_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.gabbro_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.gabbro_monazite_ore.prospected": "Monazite",
- "block.gtceu.gabbro_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.gabbro_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.gabbro_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.gabbro_nickel_ore.prospected": "Nickel",
- "block.gtceu.gabbro_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.gabbro_olivine_ore.prospected": "Olivine",
- "block.gtceu.gabbro_opal_ore.prospected": "Opal",
- "block.gtceu.gabbro_palladium_ore.prospected": "Palladium",
- "block.gtceu.gabbro_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.gabbro_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.gabbro_platinum_ore.prospected": "Platinum",
- "block.gtceu.gabbro_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.gabbro_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.gabbro_powellite_ore.prospected": "Powellite",
- "block.gtceu.gabbro_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.gabbro_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.gabbro_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.gabbro_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.gabbro_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.gabbro_realgar_ore.prospected": "Realgar",
- "block.gtceu.gabbro_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.gabbro_redstone_ore.prospected": "Redstone",
- "block.gtceu.gabbro_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.gabbro_ruby_ore.prospected": "Ruby",
- "block.gtceu.gabbro_salt_ore.prospected": "Salt",
- "block.gtceu.gabbro_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.gabbro_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.gabbro_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.gabbro_silver_ore.prospected": "Silver",
- "block.gtceu.gabbro_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.gabbro_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.gabbro_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.gabbro_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.gabbro_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.gabbro_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.gabbro_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.gabbro_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.gabbro_talc_ore.prospected": "Talc",
- "block.gtceu.gabbro_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.gabbro_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.gabbro_thorium_ore.prospected": "Thorium",
- "block.gtceu.gabbro_tin_ore.prospected": "Tin",
- "block.gtceu.gabbro_topaz_ore.prospected": "Topaz",
- "block.gtceu.gabbro_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.gabbro_trona_ore.prospected": "Trona",
- "block.gtceu.gabbro_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.gabbro_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.gabbro_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.gabbro_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.gabbro_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.gabbro_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.gabbro_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.gneiss_almandine_ore.prospected": "Almandine",
- "block.gtceu.gneiss_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.gneiss_alunite_ore.prospected": "Alunite",
- "block.gtceu.gneiss_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.gneiss_apatite_ore.prospected": "Apatite",
- "block.gtceu.gneiss_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.gneiss_barite_ore.prospected": "Barite",
- "block.gtceu.gneiss_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.gneiss_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.gneiss_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.gneiss_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.gneiss_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.gneiss_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.gneiss_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.gneiss_borax_ore.prospected": "Borax",
- "block.gtceu.gneiss_bornite_ore.prospected": "Bornite",
- "block.gtceu.gneiss_calcite_ore.prospected": "Calcite",
- "block.gtceu.gneiss_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.gneiss_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.gneiss_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.gneiss_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.gneiss_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.gneiss_chromite_ore.prospected": "Chromite",
- "block.gtceu.gneiss_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.gneiss_coal_ore.prospected": "Coal",
- "block.gtceu.gneiss_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.gneiss_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.gneiss_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.gneiss_copper_ore.prospected": "Copper",
- "block.gtceu.gneiss_diamond_ore.prospected": "Diamond",
- "block.gtceu.gneiss_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.gneiss_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.gneiss_emerald_ore.prospected": "Emerald",
- "block.gtceu.gneiss_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.gneiss_galena_ore.prospected": "Galena",
- "block.gtceu.gneiss_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.gneiss_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.gneiss_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.gneiss_goethite_ore.prospected": "Goethite",
- "block.gtceu.gneiss_gold_ore.prospected": "Gold",
- "block.gtceu.gneiss_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.gneiss_graphite_ore.prospected": "Graphite",
- "block.gtceu.gneiss_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.gneiss_grossular_ore.prospected": "Grossular",
- "block.gtceu.gneiss_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.gneiss_hematite_ore.prospected": "Hematite",
- "block.gtceu.gneiss_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.gneiss_iron_ore.prospected": "Iron",
- "block.gtceu.gneiss_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.gneiss_lapis_ore.prospected": "Lapis",
- "block.gtceu.gneiss_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.gneiss_lead_ore.prospected": "Lead",
- "block.gtceu.gneiss_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.gneiss_lithium_ore.prospected": "Lithium",
- "block.gtceu.gneiss_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.gneiss_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.gneiss_malachite_ore.prospected": "Malachite",
- "block.gtceu.gneiss_mica_ore.prospected": "Mica",
- "block.gtceu.gneiss_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.gneiss_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.gneiss_monazite_ore.prospected": "Monazite",
- "block.gtceu.gneiss_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.gneiss_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.gneiss_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.gneiss_nickel_ore.prospected": "Nickel",
- "block.gtceu.gneiss_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.gneiss_olivine_ore.prospected": "Olivine",
- "block.gtceu.gneiss_opal_ore.prospected": "Opal",
- "block.gtceu.gneiss_palladium_ore.prospected": "Palladium",
- "block.gtceu.gneiss_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.gneiss_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.gneiss_platinum_ore.prospected": "Platinum",
- "block.gtceu.gneiss_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.gneiss_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.gneiss_powellite_ore.prospected": "Powellite",
- "block.gtceu.gneiss_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.gneiss_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.gneiss_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.gneiss_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.gneiss_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.gneiss_realgar_ore.prospected": "Realgar",
- "block.gtceu.gneiss_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.gneiss_redstone_ore.prospected": "Redstone",
- "block.gtceu.gneiss_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.gneiss_ruby_ore.prospected": "Ruby",
- "block.gtceu.gneiss_salt_ore.prospected": "Salt",
- "block.gtceu.gneiss_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.gneiss_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.gneiss_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.gneiss_silver_ore.prospected": "Silver",
- "block.gtceu.gneiss_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.gneiss_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.gneiss_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.gneiss_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.gneiss_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.gneiss_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.gneiss_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.gneiss_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.gneiss_talc_ore.prospected": "Talc",
- "block.gtceu.gneiss_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.gneiss_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.gneiss_thorium_ore.prospected": "Thorium",
- "block.gtceu.gneiss_tin_ore.prospected": "Tin",
- "block.gtceu.gneiss_topaz_ore.prospected": "Topaz",
- "block.gtceu.gneiss_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.gneiss_trona_ore.prospected": "Trona",
- "block.gtceu.gneiss_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.gneiss_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.gneiss_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.gneiss_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.gneiss_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.gneiss_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.gneiss_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.granite_almandine_ore.prospected": "Almandine",
- "block.gtceu.granite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.granite_alunite_ore.prospected": "Alunite",
- "block.gtceu.granite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.granite_apatite_ore.prospected": "Apatite",
- "block.gtceu.granite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.granite_barite_ore.prospected": "Barite",
- "block.gtceu.granite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.granite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.granite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.granite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.granite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.granite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.granite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.granite_borax_ore.prospected": "Borax",
- "block.gtceu.granite_bornite_ore.prospected": "Bornite",
- "block.gtceu.granite_calcite_ore.prospected": "Calcite",
- "block.gtceu.granite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.granite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.granite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.granite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.granite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.granite_chromite_ore.prospected": "Chromite",
- "block.gtceu.granite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.granite_coal_ore.prospected": "Coal",
- "block.gtceu.granite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.granite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.granite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.granite_copper_ore.prospected": "Copper",
- "block.gtceu.granite_diamond_ore.prospected": "Diamond",
- "block.gtceu.granite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.granite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.granite_emerald_ore.prospected": "Emerald",
- "block.gtceu.granite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.granite_galena_ore.prospected": "Galena",
- "block.gtceu.granite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.granite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.granite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.granite_goethite_ore.prospected": "Goethite",
- "block.gtceu.granite_gold_ore.prospected": "Gold",
- "block.gtceu.granite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.granite_graphite_ore.prospected": "Graphite",
- "block.gtceu.granite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.granite_grossular_ore.prospected": "Grossular",
- "block.gtceu.granite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.granite_hematite_ore.prospected": "Hematite",
- "block.gtceu.granite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.granite_iron_ore.prospected": "Iron",
- "block.gtceu.granite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.granite_lapis_ore.prospected": "Lapis",
- "block.gtceu.granite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.granite_lead_ore.prospected": "Lead",
- "block.gtceu.granite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.granite_lithium_ore.prospected": "Lithium",
- "block.gtceu.granite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.granite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.granite_malachite_ore.prospected": "Malachite",
- "block.gtceu.granite_mica_ore.prospected": "Mica",
- "block.gtceu.granite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.granite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.granite_monazite_ore.prospected": "Monazite",
- "block.gtceu.granite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.granite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.granite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.granite_nickel_ore.prospected": "Nickel",
- "block.gtceu.granite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.granite_olivine_ore.prospected": "Olivine",
- "block.gtceu.granite_opal_ore.prospected": "Opal",
- "block.gtceu.granite_palladium_ore.prospected": "Palladium",
- "block.gtceu.granite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.granite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.granite_platinum_ore.prospected": "Platinum",
- "block.gtceu.granite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.granite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.granite_powellite_ore.prospected": "Powellite",
- "block.gtceu.granite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.granite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.granite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.granite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.granite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.granite_realgar_ore.prospected": "Realgar",
- "block.gtceu.granite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.granite_redstone_ore.prospected": "Redstone",
- "block.gtceu.granite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.granite_ruby_ore.prospected": "Ruby",
- "block.gtceu.granite_salt_ore.prospected": "Salt",
- "block.gtceu.granite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.granite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.granite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.granite_silver_ore.prospected": "Silver",
- "block.gtceu.granite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.granite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.granite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.granite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.granite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.granite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.granite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.granite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.granite_talc_ore.prospected": "Talc",
- "block.gtceu.granite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.granite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.granite_thorium_ore.prospected": "Thorium",
- "block.gtceu.granite_tin_ore.prospected": "Tin",
- "block.gtceu.granite_topaz_ore.prospected": "Topaz",
- "block.gtceu.granite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.granite_trona_ore.prospected": "Trona",
- "block.gtceu.granite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.granite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.granite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.granite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.granite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.granite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.granite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.limestone_almandine_ore.prospected": "Almandine",
- "block.gtceu.limestone_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.limestone_alunite_ore.prospected": "Alunite",
- "block.gtceu.limestone_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.limestone_apatite_ore.prospected": "Apatite",
- "block.gtceu.limestone_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.limestone_barite_ore.prospected": "Barite",
- "block.gtceu.limestone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.limestone_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.limestone_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.limestone_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.limestone_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.limestone_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.limestone_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.limestone_borax_ore.prospected": "Borax",
- "block.gtceu.limestone_bornite_ore.prospected": "Bornite",
- "block.gtceu.limestone_calcite_ore.prospected": "Calcite",
- "block.gtceu.limestone_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.limestone_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.limestone_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.limestone_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.limestone_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.limestone_chromite_ore.prospected": "Chromite",
- "block.gtceu.limestone_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.limestone_coal_ore.prospected": "Coal",
- "block.gtceu.limestone_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.limestone_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.limestone_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.limestone_copper_ore.prospected": "Copper",
- "block.gtceu.limestone_diamond_ore.prospected": "Diamond",
- "block.gtceu.limestone_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.limestone_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.limestone_emerald_ore.prospected": "Emerald",
- "block.gtceu.limestone_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.limestone_galena_ore.prospected": "Galena",
- "block.gtceu.limestone_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.limestone_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.limestone_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.limestone_goethite_ore.prospected": "Goethite",
- "block.gtceu.limestone_gold_ore.prospected": "Gold",
- "block.gtceu.limestone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.limestone_graphite_ore.prospected": "Graphite",
- "block.gtceu.limestone_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.limestone_grossular_ore.prospected": "Grossular",
- "block.gtceu.limestone_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.limestone_hematite_ore.prospected": "Hematite",
- "block.gtceu.limestone_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.limestone_iron_ore.prospected": "Iron",
- "block.gtceu.limestone_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.limestone_lapis_ore.prospected": "Lapis",
- "block.gtceu.limestone_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.limestone_lead_ore.prospected": "Lead",
- "block.gtceu.limestone_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.limestone_lithium_ore.prospected": "Lithium",
- "block.gtceu.limestone_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.limestone_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.limestone_malachite_ore.prospected": "Malachite",
- "block.gtceu.limestone_mica_ore.prospected": "Mica",
- "block.gtceu.limestone_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.limestone_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.limestone_monazite_ore.prospected": "Monazite",
- "block.gtceu.limestone_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.limestone_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.limestone_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.limestone_nickel_ore.prospected": "Nickel",
- "block.gtceu.limestone_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.limestone_olivine_ore.prospected": "Olivine",
- "block.gtceu.limestone_opal_ore.prospected": "Opal",
- "block.gtceu.limestone_palladium_ore.prospected": "Palladium",
- "block.gtceu.limestone_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.limestone_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.limestone_platinum_ore.prospected": "Platinum",
- "block.gtceu.limestone_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.limestone_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.limestone_powellite_ore.prospected": "Powellite",
- "block.gtceu.limestone_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.limestone_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.limestone_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.limestone_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.limestone_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.limestone_realgar_ore.prospected": "Realgar",
- "block.gtceu.limestone_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.limestone_redstone_ore.prospected": "Redstone",
- "block.gtceu.limestone_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.limestone_ruby_ore.prospected": "Ruby",
- "block.gtceu.limestone_salt_ore.prospected": "Salt",
- "block.gtceu.limestone_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.limestone_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.limestone_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.limestone_silver_ore.prospected": "Silver",
- "block.gtceu.limestone_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.limestone_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.limestone_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.limestone_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.limestone_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.limestone_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.limestone_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.limestone_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.limestone_talc_ore.prospected": "Talc",
- "block.gtceu.limestone_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.limestone_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.limestone_thorium_ore.prospected": "Thorium",
- "block.gtceu.limestone_tin_ore.prospected": "Tin",
- "block.gtceu.limestone_topaz_ore.prospected": "Topaz",
- "block.gtceu.limestone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.limestone_trona_ore.prospected": "Trona",
- "block.gtceu.limestone_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.limestone_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.limestone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.limestone_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.limestone_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.limestone_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.limestone_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.marble_almandine_ore.prospected": "Almandine",
- "block.gtceu.marble_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.marble_alunite_ore.prospected": "Alunite",
- "block.gtceu.marble_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.marble_apatite_ore.prospected": "Apatite",
- "block.gtceu.marble_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.marble_barite_ore.prospected": "Barite",
- "block.gtceu.marble_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.marble_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.marble_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.marble_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.marble_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.marble_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.marble_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.marble_borax_ore.prospected": "Borax",
- "block.gtceu.marble_bornite_ore.prospected": "Bornite",
- "block.gtceu.marble_calcite_ore.prospected": "Calcite",
- "block.gtceu.marble_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.marble_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.marble_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.marble_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.marble_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.marble_chromite_ore.prospected": "Chromite",
- "block.gtceu.marble_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.marble_coal_ore.prospected": "Coal",
- "block.gtceu.marble_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.marble_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.marble_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.marble_copper_ore.prospected": "Copper",
- "block.gtceu.marble_diamond_ore.prospected": "Diamond",
- "block.gtceu.marble_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.marble_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.marble_emerald_ore.prospected": "Emerald",
- "block.gtceu.marble_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.marble_galena_ore.prospected": "Galena",
- "block.gtceu.marble_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.marble_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.marble_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.marble_goethite_ore.prospected": "Goethite",
- "block.gtceu.marble_gold_ore.prospected": "Gold",
- "block.gtceu.marble_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.marble_graphite_ore.prospected": "Graphite",
- "block.gtceu.marble_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.marble_grossular_ore.prospected": "Grossular",
- "block.gtceu.marble_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.marble_hematite_ore.prospected": "Hematite",
- "block.gtceu.marble_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.marble_iron_ore.prospected": "Iron",
- "block.gtceu.marble_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.marble_lapis_ore.prospected": "Lapis",
- "block.gtceu.marble_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.marble_lead_ore.prospected": "Lead",
- "block.gtceu.marble_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.marble_lithium_ore.prospected": "Lithium",
- "block.gtceu.marble_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.marble_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.marble_malachite_ore.prospected": "Malachite",
- "block.gtceu.marble_mica_ore.prospected": "Mica",
- "block.gtceu.marble_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.marble_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.marble_monazite_ore.prospected": "Monazite",
- "block.gtceu.marble_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.marble_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.marble_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.marble_nickel_ore.prospected": "Nickel",
- "block.gtceu.marble_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.marble_olivine_ore.prospected": "Olivine",
- "block.gtceu.marble_opal_ore.prospected": "Opal",
- "block.gtceu.marble_palladium_ore.prospected": "Palladium",
- "block.gtceu.marble_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.marble_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.marble_platinum_ore.prospected": "Platinum",
- "block.gtceu.marble_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.marble_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.marble_powellite_ore.prospected": "Powellite",
- "block.gtceu.marble_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.marble_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.marble_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.marble_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.marble_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.marble_realgar_ore.prospected": "Realgar",
- "block.gtceu.marble_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.marble_redstone_ore.prospected": "Redstone",
- "block.gtceu.marble_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.marble_ruby_ore.prospected": "Ruby",
- "block.gtceu.marble_salt_ore.prospected": "Salt",
- "block.gtceu.marble_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.marble_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.marble_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.marble_silver_ore.prospected": "Silver",
- "block.gtceu.marble_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.marble_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.marble_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.marble_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.marble_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.marble_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.marble_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.marble_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.marble_talc_ore.prospected": "Talc",
- "block.gtceu.marble_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.marble_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.marble_thorium_ore.prospected": "Thorium",
- "block.gtceu.marble_tin_ore.prospected": "Tin",
- "block.gtceu.marble_topaz_ore.prospected": "Topaz",
- "block.gtceu.marble_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.marble_trona_ore.prospected": "Trona",
- "block.gtceu.marble_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.marble_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.marble_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.marble_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.marble_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.marble_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.marble_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.phyllite_almandine_ore.prospected": "Almandine",
- "block.gtceu.phyllite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.phyllite_alunite_ore.prospected": "Alunite",
- "block.gtceu.phyllite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.phyllite_apatite_ore.prospected": "Apatite",
- "block.gtceu.phyllite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.phyllite_barite_ore.prospected": "Barite",
- "block.gtceu.phyllite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.phyllite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.phyllite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.phyllite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.phyllite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.phyllite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.phyllite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.phyllite_borax_ore.prospected": "Borax",
- "block.gtceu.phyllite_bornite_ore.prospected": "Bornite",
- "block.gtceu.phyllite_calcite_ore.prospected": "Calcite",
- "block.gtceu.phyllite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.phyllite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.phyllite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.phyllite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.phyllite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.phyllite_chromite_ore.prospected": "Chromite",
- "block.gtceu.phyllite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.phyllite_coal_ore.prospected": "Coal",
- "block.gtceu.phyllite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.phyllite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.phyllite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.phyllite_copper_ore.prospected": "Copper",
- "block.gtceu.phyllite_diamond_ore.prospected": "Diamond",
- "block.gtceu.phyllite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.phyllite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.phyllite_emerald_ore.prospected": "Emerald",
- "block.gtceu.phyllite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.phyllite_galena_ore.prospected": "Galena",
- "block.gtceu.phyllite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.phyllite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.phyllite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.phyllite_goethite_ore.prospected": "Goethite",
- "block.gtceu.phyllite_gold_ore.prospected": "Gold",
- "block.gtceu.phyllite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.phyllite_graphite_ore.prospected": "Graphite",
- "block.gtceu.phyllite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.phyllite_grossular_ore.prospected": "Grossular",
- "block.gtceu.phyllite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.phyllite_hematite_ore.prospected": "Hematite",
- "block.gtceu.phyllite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.phyllite_iron_ore.prospected": "Iron",
- "block.gtceu.phyllite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.phyllite_lapis_ore.prospected": "Lapis",
- "block.gtceu.phyllite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.phyllite_lead_ore.prospected": "Lead",
- "block.gtceu.phyllite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.phyllite_lithium_ore.prospected": "Lithium",
- "block.gtceu.phyllite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.phyllite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.phyllite_malachite_ore.prospected": "Malachite",
- "block.gtceu.phyllite_mica_ore.prospected": "Mica",
- "block.gtceu.phyllite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.phyllite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.phyllite_monazite_ore.prospected": "Monazite",
- "block.gtceu.phyllite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.phyllite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.phyllite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.phyllite_nickel_ore.prospected": "Nickel",
- "block.gtceu.phyllite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.phyllite_olivine_ore.prospected": "Olivine",
- "block.gtceu.phyllite_opal_ore.prospected": "Opal",
- "block.gtceu.phyllite_palladium_ore.prospected": "Palladium",
- "block.gtceu.phyllite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.phyllite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.phyllite_platinum_ore.prospected": "Platinum",
- "block.gtceu.phyllite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.phyllite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.phyllite_powellite_ore.prospected": "Powellite",
- "block.gtceu.phyllite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.phyllite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.phyllite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.phyllite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.phyllite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.phyllite_realgar_ore.prospected": "Realgar",
- "block.gtceu.phyllite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.phyllite_redstone_ore.prospected": "Redstone",
- "block.gtceu.phyllite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.phyllite_ruby_ore.prospected": "Ruby",
- "block.gtceu.phyllite_salt_ore.prospected": "Salt",
- "block.gtceu.phyllite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.phyllite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.phyllite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.phyllite_silver_ore.prospected": "Silver",
- "block.gtceu.phyllite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.phyllite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.phyllite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.phyllite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.phyllite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.phyllite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.phyllite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.phyllite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.phyllite_talc_ore.prospected": "Talc",
- "block.gtceu.phyllite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.phyllite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.phyllite_thorium_ore.prospected": "Thorium",
- "block.gtceu.phyllite_tin_ore.prospected": "Tin",
- "block.gtceu.phyllite_topaz_ore.prospected": "Topaz",
- "block.gtceu.phyllite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.phyllite_trona_ore.prospected": "Trona",
- "block.gtceu.phyllite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.phyllite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.phyllite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.phyllite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.phyllite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.phyllite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.phyllite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.quartzite_almandine_ore.prospected": "Almandine",
- "block.gtceu.quartzite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.quartzite_alunite_ore.prospected": "Alunite",
- "block.gtceu.quartzite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.quartzite_apatite_ore.prospected": "Apatite",
- "block.gtceu.quartzite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.quartzite_barite_ore.prospected": "Barite",
- "block.gtceu.quartzite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.quartzite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.quartzite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.quartzite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.quartzite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.quartzite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.quartzite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.quartzite_borax_ore.prospected": "Borax",
- "block.gtceu.quartzite_bornite_ore.prospected": "Bornite",
- "block.gtceu.quartzite_calcite_ore.prospected": "Calcite",
- "block.gtceu.quartzite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.quartzite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.quartzite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.quartzite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.quartzite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.quartzite_chromite_ore.prospected": "Chromite",
- "block.gtceu.quartzite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.quartzite_coal_ore.prospected": "Coal",
- "block.gtceu.quartzite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.quartzite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.quartzite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.quartzite_copper_ore.prospected": "Copper",
- "block.gtceu.quartzite_diamond_ore.prospected": "Diamond",
- "block.gtceu.quartzite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.quartzite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.quartzite_emerald_ore.prospected": "Emerald",
- "block.gtceu.quartzite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.quartzite_galena_ore.prospected": "Galena",
- "block.gtceu.quartzite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.quartzite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.quartzite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.quartzite_goethite_ore.prospected": "Goethite",
- "block.gtceu.quartzite_gold_ore.prospected": "Gold",
- "block.gtceu.quartzite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.quartzite_graphite_ore.prospected": "Graphite",
- "block.gtceu.quartzite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.quartzite_grossular_ore.prospected": "Grossular",
- "block.gtceu.quartzite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.quartzite_hematite_ore.prospected": "Hematite",
- "block.gtceu.quartzite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.quartzite_iron_ore.prospected": "Iron",
- "block.gtceu.quartzite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.quartzite_lapis_ore.prospected": "Lapis",
- "block.gtceu.quartzite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.quartzite_lead_ore.prospected": "Lead",
- "block.gtceu.quartzite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.quartzite_lithium_ore.prospected": "Lithium",
- "block.gtceu.quartzite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.quartzite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.quartzite_malachite_ore.prospected": "Malachite",
- "block.gtceu.quartzite_mica_ore.prospected": "Mica",
- "block.gtceu.quartzite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.quartzite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.quartzite_monazite_ore.prospected": "Monazite",
- "block.gtceu.quartzite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.quartzite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.quartzite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.quartzite_nickel_ore.prospected": "Nickel",
- "block.gtceu.quartzite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.quartzite_olivine_ore.prospected": "Olivine",
- "block.gtceu.quartzite_opal_ore.prospected": "Opal",
- "block.gtceu.quartzite_palladium_ore.prospected": "Palladium",
- "block.gtceu.quartzite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.quartzite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.quartzite_platinum_ore.prospected": "Platinum",
- "block.gtceu.quartzite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.quartzite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.quartzite_powellite_ore.prospected": "Powellite",
- "block.gtceu.quartzite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.quartzite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.quartzite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.quartzite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.quartzite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.quartzite_realgar_ore.prospected": "Realgar",
- "block.gtceu.quartzite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.quartzite_redstone_ore.prospected": "Redstone",
- "block.gtceu.quartzite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.quartzite_ruby_ore.prospected": "Ruby",
- "block.gtceu.quartzite_salt_ore.prospected": "Salt",
- "block.gtceu.quartzite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.quartzite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.quartzite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.quartzite_silver_ore.prospected": "Silver",
- "block.gtceu.quartzite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.quartzite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.quartzite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.quartzite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.quartzite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.quartzite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.quartzite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.quartzite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.quartzite_talc_ore.prospected": "Talc",
- "block.gtceu.quartzite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.quartzite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.quartzite_thorium_ore.prospected": "Thorium",
- "block.gtceu.quartzite_tin_ore.prospected": "Tin",
- "block.gtceu.quartzite_topaz_ore.prospected": "Topaz",
- "block.gtceu.quartzite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.quartzite_trona_ore.prospected": "Trona",
- "block.gtceu.quartzite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.quartzite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.quartzite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.quartzite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.quartzite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.quartzite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.quartzite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.rhyolite_almandine_ore.prospected": "Almandine",
- "block.gtceu.rhyolite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.rhyolite_alunite_ore.prospected": "Alunite",
- "block.gtceu.rhyolite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.rhyolite_apatite_ore.prospected": "Apatite",
- "block.gtceu.rhyolite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.rhyolite_barite_ore.prospected": "Barite",
- "block.gtceu.rhyolite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.rhyolite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.rhyolite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.rhyolite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.rhyolite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.rhyolite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.rhyolite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.rhyolite_borax_ore.prospected": "Borax",
- "block.gtceu.rhyolite_bornite_ore.prospected": "Bornite",
- "block.gtceu.rhyolite_calcite_ore.prospected": "Calcite",
- "block.gtceu.rhyolite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.rhyolite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.rhyolite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.rhyolite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.rhyolite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.rhyolite_chromite_ore.prospected": "Chromite",
- "block.gtceu.rhyolite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.rhyolite_coal_ore.prospected": "Coal",
- "block.gtceu.rhyolite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.rhyolite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.rhyolite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.rhyolite_copper_ore.prospected": "Copper",
- "block.gtceu.rhyolite_diamond_ore.prospected": "Diamond",
- "block.gtceu.rhyolite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.rhyolite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.rhyolite_emerald_ore.prospected": "Emerald",
- "block.gtceu.rhyolite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.rhyolite_galena_ore.prospected": "Galena",
- "block.gtceu.rhyolite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.rhyolite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.rhyolite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.rhyolite_goethite_ore.prospected": "Goethite",
- "block.gtceu.rhyolite_gold_ore.prospected": "Gold",
- "block.gtceu.rhyolite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.rhyolite_graphite_ore.prospected": "Graphite",
- "block.gtceu.rhyolite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.rhyolite_grossular_ore.prospected": "Grossular",
- "block.gtceu.rhyolite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.rhyolite_hematite_ore.prospected": "Hematite",
- "block.gtceu.rhyolite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.rhyolite_iron_ore.prospected": "Iron",
- "block.gtceu.rhyolite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.rhyolite_lapis_ore.prospected": "Lapis",
- "block.gtceu.rhyolite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.rhyolite_lead_ore.prospected": "Lead",
- "block.gtceu.rhyolite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.rhyolite_lithium_ore.prospected": "Lithium",
- "block.gtceu.rhyolite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.rhyolite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.rhyolite_malachite_ore.prospected": "Malachite",
- "block.gtceu.rhyolite_mica_ore.prospected": "Mica",
- "block.gtceu.rhyolite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.rhyolite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.rhyolite_monazite_ore.prospected": "Monazite",
- "block.gtceu.rhyolite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.rhyolite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.rhyolite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.rhyolite_nickel_ore.prospected": "Nickel",
- "block.gtceu.rhyolite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.rhyolite_olivine_ore.prospected": "Olivine",
- "block.gtceu.rhyolite_opal_ore.prospected": "Opal",
- "block.gtceu.rhyolite_palladium_ore.prospected": "Palladium",
- "block.gtceu.rhyolite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.rhyolite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.rhyolite_platinum_ore.prospected": "Platinum",
- "block.gtceu.rhyolite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.rhyolite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.rhyolite_powellite_ore.prospected": "Powellite",
- "block.gtceu.rhyolite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.rhyolite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.rhyolite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.rhyolite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.rhyolite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.rhyolite_realgar_ore.prospected": "Realgar",
- "block.gtceu.rhyolite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.rhyolite_redstone_ore.prospected": "Redstone",
- "block.gtceu.rhyolite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.rhyolite_ruby_ore.prospected": "Ruby",
- "block.gtceu.rhyolite_salt_ore.prospected": "Salt",
- "block.gtceu.rhyolite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.rhyolite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.rhyolite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.rhyolite_silver_ore.prospected": "Silver",
- "block.gtceu.rhyolite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.rhyolite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.rhyolite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.rhyolite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.rhyolite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.rhyolite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.rhyolite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.rhyolite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.rhyolite_talc_ore.prospected": "Talc",
- "block.gtceu.rhyolite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.rhyolite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.rhyolite_thorium_ore.prospected": "Thorium",
- "block.gtceu.rhyolite_tin_ore.prospected": "Tin",
- "block.gtceu.rhyolite_topaz_ore.prospected": "Topaz",
- "block.gtceu.rhyolite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.rhyolite_trona_ore.prospected": "Trona",
- "block.gtceu.rhyolite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.rhyolite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.rhyolite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.rhyolite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.rhyolite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.rhyolite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.rhyolite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.schist_almandine_ore.prospected": "Almandine",
- "block.gtceu.schist_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.schist_alunite_ore.prospected": "Alunite",
- "block.gtceu.schist_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.schist_apatite_ore.prospected": "Apatite",
- "block.gtceu.schist_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.schist_barite_ore.prospected": "Barite",
- "block.gtceu.schist_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.schist_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.schist_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.schist_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.schist_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.schist_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.schist_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.schist_borax_ore.prospected": "Borax",
- "block.gtceu.schist_bornite_ore.prospected": "Bornite",
- "block.gtceu.schist_calcite_ore.prospected": "Calcite",
- "block.gtceu.schist_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.schist_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.schist_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.schist_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.schist_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.schist_chromite_ore.prospected": "Chromite",
- "block.gtceu.schist_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.schist_coal_ore.prospected": "Coal",
- "block.gtceu.schist_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.schist_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.schist_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.schist_copper_ore.prospected": "Copper",
- "block.gtceu.schist_diamond_ore.prospected": "Diamond",
- "block.gtceu.schist_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.schist_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.schist_emerald_ore.prospected": "Emerald",
- "block.gtceu.schist_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.schist_galena_ore.prospected": "Galena",
- "block.gtceu.schist_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.schist_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.schist_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.schist_goethite_ore.prospected": "Goethite",
- "block.gtceu.schist_gold_ore.prospected": "Gold",
- "block.gtceu.schist_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.schist_graphite_ore.prospected": "Graphite",
- "block.gtceu.schist_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.schist_grossular_ore.prospected": "Grossular",
- "block.gtceu.schist_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.schist_hematite_ore.prospected": "Hematite",
- "block.gtceu.schist_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.schist_iron_ore.prospected": "Iron",
- "block.gtceu.schist_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.schist_lapis_ore.prospected": "Lapis",
- "block.gtceu.schist_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.schist_lead_ore.prospected": "Lead",
- "block.gtceu.schist_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.schist_lithium_ore.prospected": "Lithium",
- "block.gtceu.schist_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.schist_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.schist_malachite_ore.prospected": "Malachite",
- "block.gtceu.schist_mica_ore.prospected": "Mica",
- "block.gtceu.schist_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.schist_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.schist_monazite_ore.prospected": "Monazite",
- "block.gtceu.schist_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.schist_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.schist_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.schist_nickel_ore.prospected": "Nickel",
- "block.gtceu.schist_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.schist_olivine_ore.prospected": "Olivine",
- "block.gtceu.schist_opal_ore.prospected": "Opal",
- "block.gtceu.schist_palladium_ore.prospected": "Palladium",
- "block.gtceu.schist_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.schist_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.schist_platinum_ore.prospected": "Platinum",
- "block.gtceu.schist_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.schist_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.schist_powellite_ore.prospected": "Powellite",
- "block.gtceu.schist_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.schist_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.schist_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.schist_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.schist_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.schist_realgar_ore.prospected": "Realgar",
- "block.gtceu.schist_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.schist_redstone_ore.prospected": "Redstone",
- "block.gtceu.schist_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.schist_ruby_ore.prospected": "Ruby",
- "block.gtceu.schist_salt_ore.prospected": "Salt",
- "block.gtceu.schist_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.schist_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.schist_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.schist_silver_ore.prospected": "Silver",
- "block.gtceu.schist_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.schist_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.schist_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.schist_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.schist_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.schist_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.schist_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.schist_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.schist_talc_ore.prospected": "Talc",
- "block.gtceu.schist_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.schist_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.schist_thorium_ore.prospected": "Thorium",
- "block.gtceu.schist_tin_ore.prospected": "Tin",
- "block.gtceu.schist_topaz_ore.prospected": "Topaz",
- "block.gtceu.schist_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.schist_trona_ore.prospected": "Trona",
- "block.gtceu.schist_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.schist_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.schist_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.schist_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.schist_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.schist_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.schist_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.shale_almandine_ore.prospected": "Almandine",
- "block.gtceu.shale_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.shale_alunite_ore.prospected": "Alunite",
- "block.gtceu.shale_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.shale_apatite_ore.prospected": "Apatite",
- "block.gtceu.shale_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.shale_barite_ore.prospected": "Barite",
- "block.gtceu.shale_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.shale_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.shale_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.shale_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.shale_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.shale_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.shale_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.shale_borax_ore.prospected": "Borax",
- "block.gtceu.shale_bornite_ore.prospected": "Bornite",
- "block.gtceu.shale_calcite_ore.prospected": "Calcite",
- "block.gtceu.shale_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.shale_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.shale_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.shale_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.shale_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.shale_chromite_ore.prospected": "Chromite",
- "block.gtceu.shale_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.shale_coal_ore.prospected": "Coal",
- "block.gtceu.shale_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.shale_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.shale_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.shale_copper_ore.prospected": "Copper",
- "block.gtceu.shale_diamond_ore.prospected": "Diamond",
- "block.gtceu.shale_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.shale_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.shale_emerald_ore.prospected": "Emerald",
- "block.gtceu.shale_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.shale_galena_ore.prospected": "Galena",
- "block.gtceu.shale_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.shale_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.shale_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.shale_goethite_ore.prospected": "Goethite",
- "block.gtceu.shale_gold_ore.prospected": "Gold",
- "block.gtceu.shale_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.shale_graphite_ore.prospected": "Graphite",
- "block.gtceu.shale_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.shale_grossular_ore.prospected": "Grossular",
- "block.gtceu.shale_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.shale_hematite_ore.prospected": "Hematite",
- "block.gtceu.shale_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.shale_iron_ore.prospected": "Iron",
- "block.gtceu.shale_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.shale_lapis_ore.prospected": "Lapis",
- "block.gtceu.shale_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.shale_lead_ore.prospected": "Lead",
- "block.gtceu.shale_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.shale_lithium_ore.prospected": "Lithium",
- "block.gtceu.shale_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.shale_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.shale_malachite_ore.prospected": "Malachite",
- "block.gtceu.shale_mica_ore.prospected": "Mica",
- "block.gtceu.shale_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.shale_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.shale_monazite_ore.prospected": "Monazite",
- "block.gtceu.shale_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.shale_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.shale_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.shale_nickel_ore.prospected": "Nickel",
- "block.gtceu.shale_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.shale_olivine_ore.prospected": "Olivine",
- "block.gtceu.shale_opal_ore.prospected": "Opal",
- "block.gtceu.shale_palladium_ore.prospected": "Palladium",
- "block.gtceu.shale_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.shale_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.shale_platinum_ore.prospected": "Platinum",
- "block.gtceu.shale_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.shale_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.shale_powellite_ore.prospected": "Powellite",
- "block.gtceu.shale_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.shale_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.shale_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.shale_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.shale_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.shale_realgar_ore.prospected": "Realgar",
- "block.gtceu.shale_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.shale_redstone_ore.prospected": "Redstone",
- "block.gtceu.shale_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.shale_ruby_ore.prospected": "Ruby",
- "block.gtceu.shale_salt_ore.prospected": "Salt",
- "block.gtceu.shale_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.shale_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.shale_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.shale_silver_ore.prospected": "Silver",
- "block.gtceu.shale_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.shale_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.shale_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.shale_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.shale_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.shale_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.shale_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.shale_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.shale_talc_ore.prospected": "Talc",
- "block.gtceu.shale_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.shale_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.shale_thorium_ore.prospected": "Thorium",
- "block.gtceu.shale_tin_ore.prospected": "Tin",
- "block.gtceu.shale_topaz_ore.prospected": "Topaz",
- "block.gtceu.shale_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.shale_trona_ore.prospected": "Trona",
- "block.gtceu.shale_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.shale_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.shale_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.shale_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.shale_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.shale_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.shale_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.slate_almandine_ore.prospected": "Almandine",
- "block.gtceu.slate_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.slate_alunite_ore.prospected": "Alunite",
- "block.gtceu.slate_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.slate_apatite_ore.prospected": "Apatite",
- "block.gtceu.slate_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.slate_barite_ore.prospected": "Barite",
- "block.gtceu.slate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.slate_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.slate_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.slate_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.slate_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.slate_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.slate_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.slate_borax_ore.prospected": "Borax",
- "block.gtceu.slate_bornite_ore.prospected": "Bornite",
- "block.gtceu.slate_calcite_ore.prospected": "Calcite",
- "block.gtceu.slate_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.slate_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.slate_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.slate_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.slate_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.slate_chromite_ore.prospected": "Chromite",
- "block.gtceu.slate_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.slate_coal_ore.prospected": "Coal",
- "block.gtceu.slate_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.slate_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.slate_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.slate_copper_ore.prospected": "Copper",
- "block.gtceu.slate_diamond_ore.prospected": "Diamond",
- "block.gtceu.slate_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.slate_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.slate_emerald_ore.prospected": "Emerald",
- "block.gtceu.slate_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.slate_galena_ore.prospected": "Galena",
- "block.gtceu.slate_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.slate_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.slate_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.slate_goethite_ore.prospected": "Goethite",
- "block.gtceu.slate_gold_ore.prospected": "Gold",
- "block.gtceu.slate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.slate_graphite_ore.prospected": "Graphite",
- "block.gtceu.slate_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.slate_grossular_ore.prospected": "Grossular",
- "block.gtceu.slate_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.slate_hematite_ore.prospected": "Hematite",
- "block.gtceu.slate_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.slate_iron_ore.prospected": "Iron",
- "block.gtceu.slate_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.slate_lapis_ore.prospected": "Lapis",
- "block.gtceu.slate_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.slate_lead_ore.prospected": "Lead",
- "block.gtceu.slate_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.slate_lithium_ore.prospected": "Lithium",
- "block.gtceu.slate_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.slate_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.slate_malachite_ore.prospected": "Malachite",
- "block.gtceu.slate_mica_ore.prospected": "Mica",
- "block.gtceu.slate_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.slate_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.slate_monazite_ore.prospected": "Monazite",
- "block.gtceu.slate_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.slate_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.slate_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.slate_nickel_ore.prospected": "Nickel",
- "block.gtceu.slate_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.slate_olivine_ore.prospected": "Olivine",
- "block.gtceu.slate_opal_ore.prospected": "Opal",
- "block.gtceu.slate_palladium_ore.prospected": "Palladium",
- "block.gtceu.slate_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.slate_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.slate_platinum_ore.prospected": "Platinum",
- "block.gtceu.slate_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.slate_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.slate_powellite_ore.prospected": "Powellite",
- "block.gtceu.slate_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.slate_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.slate_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.slate_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.slate_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.slate_realgar_ore.prospected": "Realgar",
- "block.gtceu.slate_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.slate_redstone_ore.prospected": "Redstone",
- "block.gtceu.slate_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.slate_ruby_ore.prospected": "Ruby",
- "block.gtceu.slate_salt_ore.prospected": "Salt",
- "block.gtceu.slate_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.slate_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.slate_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.slate_silver_ore.prospected": "Silver",
- "block.gtceu.slate_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.slate_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.slate_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.slate_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.slate_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.slate_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.slate_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.slate_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.slate_talc_ore.prospected": "Talc",
- "block.gtceu.slate_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.slate_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.slate_thorium_ore.prospected": "Thorium",
- "block.gtceu.slate_tin_ore.prospected": "Tin",
- "block.gtceu.slate_topaz_ore.prospected": "Topaz",
- "block.gtceu.slate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.slate_trona_ore.prospected": "Trona",
- "block.gtceu.slate_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.slate_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.slate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.slate_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.slate_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.slate_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.slate_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.deepslate_almandine_ore.prospected": "Almandine",
- "block.gtceu.deepslate_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.deepslate_alunite_ore.prospected": "Alunite",
- "block.gtceu.deepslate_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.deepslate_apatite_ore.prospected": "Apatite",
- "block.gtceu.deepslate_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.deepslate_barite_ore.prospected": "Barite",
- "block.gtceu.deepslate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.deepslate_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.deepslate_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.deepslate_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.deepslate_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.deepslate_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.deepslate_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.deepslate_borax_ore.prospected": "Borax",
- "block.gtceu.deepslate_bornite_ore.prospected": "Bornite",
- "block.gtceu.deepslate_calcite_ore.prospected": "Calcite",
- "block.gtceu.deepslate_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.deepslate_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.deepslate_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.deepslate_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.deepslate_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.deepslate_chromite_ore.prospected": "Chromite",
- "block.gtceu.deepslate_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.deepslate_coal_ore.prospected": "Coal",
- "block.gtceu.deepslate_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.deepslate_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.deepslate_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.deepslate_copper_ore.prospected": "Copper",
- "block.gtceu.deepslate_diamond_ore.prospected": "Diamond",
- "block.gtceu.deepslate_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.deepslate_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.deepslate_emerald_ore.prospected": "Emerald",
- "block.gtceu.deepslate_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.deepslate_galena_ore.prospected": "Galena",
- "block.gtceu.deepslate_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.deepslate_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.deepslate_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.deepslate_goethite_ore.prospected": "Goethite",
- "block.gtceu.deepslate_gold_ore.prospected": "Gold",
- "block.gtceu.deepslate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.deepslate_graphite_ore.prospected": "Graphite",
- "block.gtceu.deepslate_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.deepslate_grossular_ore.prospected": "Grossular",
- "block.gtceu.deepslate_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.deepslate_hematite_ore.prospected": "Hematite",
- "block.gtceu.deepslate_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.deepslate_iron_ore.prospected": "Iron",
- "block.gtceu.deepslate_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.deepslate_lapis_ore.prospected": "Lapis",
- "block.gtceu.deepslate_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.deepslate_lead_ore.prospected": "Lead",
- "block.gtceu.deepslate_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.deepslate_lithium_ore.prospected": "Lithium",
- "block.gtceu.deepslate_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.deepslate_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.deepslate_malachite_ore.prospected": "Malachite",
- "block.gtceu.deepslate_mica_ore.prospected": "Mica",
- "block.gtceu.deepslate_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.deepslate_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.deepslate_monazite_ore.prospected": "Monazite",
- "block.gtceu.deepslate_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.deepslate_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.deepslate_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.deepslate_nickel_ore.prospected": "Nickel",
- "block.gtceu.deepslate_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.deepslate_olivine_ore.prospected": "Olivine",
- "block.gtceu.deepslate_opal_ore.prospected": "Opal",
- "block.gtceu.deepslate_palladium_ore.prospected": "Palladium",
- "block.gtceu.deepslate_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.deepslate_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.deepslate_platinum_ore.prospected": "Platinum",
- "block.gtceu.deepslate_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.deepslate_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.deepslate_powellite_ore.prospected": "Powellite",
- "block.gtceu.deepslate_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.deepslate_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.deepslate_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.deepslate_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.deepslate_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.deepslate_realgar_ore.prospected": "Realgar",
- "block.gtceu.deepslate_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.deepslate_redstone_ore.prospected": "Redstone",
- "block.gtceu.deepslate_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.deepslate_ruby_ore.prospected": "Ruby",
- "block.gtceu.deepslate_salt_ore.prospected": "Salt",
- "block.gtceu.deepslate_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.deepslate_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.deepslate_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.deepslate_silver_ore.prospected": "Silver",
- "block.gtceu.deepslate_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.deepslate_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.deepslate_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.deepslate_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.deepslate_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.deepslate_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.deepslate_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.deepslate_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.deepslate_talc_ore.prospected": "Talc",
- "block.gtceu.deepslate_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.deepslate_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.deepslate_thorium_ore.prospected": "Thorium",
- "block.gtceu.deepslate_tin_ore.prospected": "Tin",
- "block.gtceu.deepslate_topaz_ore.prospected": "Topaz",
- "block.gtceu.deepslate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.deepslate_trona_ore.prospected": "Trona",
- "block.gtceu.deepslate_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.deepslate_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.deepslate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.deepslate_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.deepslate_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.deepslate_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.deepslate_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.pyroxenite_almandine_ore.prospected": "Almandine",
- "block.gtceu.pyroxenite_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.pyroxenite_alunite_ore.prospected": "Alunite",
- "block.gtceu.pyroxenite_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.pyroxenite_apatite_ore.prospected": "Apatite",
- "block.gtceu.pyroxenite_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.pyroxenite_barite_ore.prospected": "Barite",
- "block.gtceu.pyroxenite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.pyroxenite_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.pyroxenite_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.pyroxenite_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.pyroxenite_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.pyroxenite_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.pyroxenite_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.pyroxenite_borax_ore.prospected": "Borax",
- "block.gtceu.pyroxenite_bornite_ore.prospected": "Bornite",
- "block.gtceu.pyroxenite_calcite_ore.prospected": "Calcite",
- "block.gtceu.pyroxenite_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.pyroxenite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.pyroxenite_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.pyroxenite_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.pyroxenite_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.pyroxenite_chromite_ore.prospected": "Chromite",
- "block.gtceu.pyroxenite_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.pyroxenite_coal_ore.prospected": "Coal",
- "block.gtceu.pyroxenite_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.pyroxenite_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.pyroxenite_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.pyroxenite_copper_ore.prospected": "Copper",
- "block.gtceu.pyroxenite_diamond_ore.prospected": "Diamond",
- "block.gtceu.pyroxenite_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.pyroxenite_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.pyroxenite_emerald_ore.prospected": "Emerald",
- "block.gtceu.pyroxenite_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.pyroxenite_galena_ore.prospected": "Galena",
- "block.gtceu.pyroxenite_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.pyroxenite_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.pyroxenite_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.pyroxenite_goethite_ore.prospected": "Goethite",
- "block.gtceu.pyroxenite_gold_ore.prospected": "Gold",
- "block.gtceu.pyroxenite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.pyroxenite_graphite_ore.prospected": "Graphite",
- "block.gtceu.pyroxenite_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.pyroxenite_grossular_ore.prospected": "Grossular",
- "block.gtceu.pyroxenite_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.pyroxenite_hematite_ore.prospected": "Hematite",
- "block.gtceu.pyroxenite_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.pyroxenite_iron_ore.prospected": "Iron",
- "block.gtceu.pyroxenite_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.pyroxenite_lapis_ore.prospected": "Lapis",
- "block.gtceu.pyroxenite_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.pyroxenite_lead_ore.prospected": "Lead",
- "block.gtceu.pyroxenite_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.pyroxenite_lithium_ore.prospected": "Lithium",
- "block.gtceu.pyroxenite_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.pyroxenite_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.pyroxenite_malachite_ore.prospected": "Malachite",
- "block.gtceu.pyroxenite_mica_ore.prospected": "Mica",
- "block.gtceu.pyroxenite_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.pyroxenite_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.pyroxenite_monazite_ore.prospected": "Monazite",
- "block.gtceu.pyroxenite_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.pyroxenite_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.pyroxenite_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.pyroxenite_nickel_ore.prospected": "Nickel",
- "block.gtceu.pyroxenite_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.pyroxenite_olivine_ore.prospected": "Olivine",
- "block.gtceu.pyroxenite_opal_ore.prospected": "Opal",
- "block.gtceu.pyroxenite_palladium_ore.prospected": "Palladium",
- "block.gtceu.pyroxenite_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.pyroxenite_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.pyroxenite_platinum_ore.prospected": "Platinum",
- "block.gtceu.pyroxenite_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.pyroxenite_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.pyroxenite_powellite_ore.prospected": "Powellite",
- "block.gtceu.pyroxenite_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.pyroxenite_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.pyroxenite_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.pyroxenite_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.pyroxenite_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.pyroxenite_realgar_ore.prospected": "Realgar",
- "block.gtceu.pyroxenite_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.pyroxenite_redstone_ore.prospected": "Redstone",
- "block.gtceu.pyroxenite_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.pyroxenite_ruby_ore.prospected": "Ruby",
- "block.gtceu.pyroxenite_salt_ore.prospected": "Salt",
- "block.gtceu.pyroxenite_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.pyroxenite_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.pyroxenite_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.pyroxenite_silver_ore.prospected": "Silver",
- "block.gtceu.pyroxenite_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.pyroxenite_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.pyroxenite_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.pyroxenite_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.pyroxenite_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.pyroxenite_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.pyroxenite_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.pyroxenite_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.pyroxenite_talc_ore.prospected": "Talc",
- "block.gtceu.pyroxenite_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.pyroxenite_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.pyroxenite_thorium_ore.prospected": "Thorium",
- "block.gtceu.pyroxenite_tin_ore.prospected": "Tin",
- "block.gtceu.pyroxenite_topaz_ore.prospected": "Topaz",
- "block.gtceu.pyroxenite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.pyroxenite_trona_ore.prospected": "Trona",
- "block.gtceu.pyroxenite_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.pyroxenite_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.pyroxenite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.pyroxenite_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.pyroxenite_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.pyroxenite_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.pyroxenite_zeolite_ore.prospected": "Zeolite",
- "block.gtceu.dripstone_almandine_ore.prospected": "Almandine",
- "block.gtceu.dripstone_aluminium_ore.prospected": "Aluminium",
- "block.gtceu.dripstone_alunite_ore.prospected": "Alunite",
- "block.gtceu.dripstone_amethyst_ore.prospected": "Amethyst",
- "block.gtceu.dripstone_apatite_ore.prospected": "Apatite",
- "block.gtceu.dripstone_asbestos_ore.prospected": "Asbestos",
- "block.gtceu.dripstone_barite_ore.prospected": "Barite",
- "block.gtceu.dripstone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
- "block.gtceu.dripstone_bastnasite_ore.prospected": "Bastnasite",
- "block.gtceu.dripstone_bauxite_ore.prospected": "Bauxite",
- "block.gtceu.dripstone_bentonite_ore.prospected": "Bentonite",
- "block.gtceu.dripstone_beryllium_ore.prospected": "Beryllium",
- "block.gtceu.dripstone_bismuth_ore.prospected": "Bismuth",
- "block.gtceu.dripstone_blue_topaz_ore.prospected": "Blue Topaz",
- "block.gtceu.dripstone_borax_ore.prospected": "Borax",
- "block.gtceu.dripstone_bornite_ore.prospected": "Bornite",
- "block.gtceu.dripstone_calcite_ore.prospected": "Calcite",
- "block.gtceu.dripstone_cassiterite_ore.prospected": "Cassiterite",
- "block.gtceu.dripstone_cassiterite_sand_ore.prospected": "Cassiterite Sand",
- "block.gtceu.dripstone_certus_quartz_ore.prospected": "Certus Quartz",
- "block.gtceu.dripstone_chalcocite_ore.prospected": "Chalcocite",
- "block.gtceu.dripstone_chalcopyrite_ore.prospected": "Chalcopyrite",
- "block.gtceu.dripstone_chromite_ore.prospected": "Chromite",
- "block.gtceu.dripstone_cinnabar_ore.prospected": "Cinnabar",
- "block.gtceu.dripstone_coal_ore.prospected": "Coal",
- "block.gtceu.dripstone_cobalt_ore.prospected": "Cobalt",
- "block.gtceu.dripstone_cobaltite_ore.prospected": "Cobaltite",
- "block.gtceu.dripstone_cooperite_ore.prospected": "Cooperite",
- "block.gtceu.dripstone_copper_ore.prospected": "Copper",
- "block.gtceu.dripstone_diamond_ore.prospected": "Diamond",
- "block.gtceu.dripstone_diatomite_ore.prospected": "Diatomite",
- "block.gtceu.dripstone_electrotine_ore.prospected": "Electrotine",
- "block.gtceu.dripstone_emerald_ore.prospected": "Emerald",
- "block.gtceu.dripstone_fullers_earth_ore.prospected": "Fullers Earth",
- "block.gtceu.dripstone_galena_ore.prospected": "Galena",
- "block.gtceu.dripstone_garnet_sand_ore.prospected": "Garnet Sand",
- "block.gtceu.dripstone_garnierite_ore.prospected": "Garnierite",
- "block.gtceu.dripstone_glauconite_sand_ore.prospected": "Glauconite Sand",
- "block.gtceu.dripstone_goethite_ore.prospected": "Goethite",
- "block.gtceu.dripstone_gold_ore.prospected": "Gold",
- "block.gtceu.dripstone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
- "block.gtceu.dripstone_graphite_ore.prospected": "Graphite",
- "block.gtceu.dripstone_green_sapphire_ore.prospected": "Green Sapphire",
- "block.gtceu.dripstone_grossular_ore.prospected": "Grossular",
- "block.gtceu.dripstone_gypsum_ore.prospected": "Gypsum",
- "block.gtceu.dripstone_hematite_ore.prospected": "Hematite",
- "block.gtceu.dripstone_ilmenite_ore.prospected": "Ilmenite",
- "block.gtceu.dripstone_iron_ore.prospected": "Iron",
- "block.gtceu.dripstone_kyanite_ore.prospected": "Kyanite",
- "block.gtceu.dripstone_lapis_ore.prospected": "Lapis",
- "block.gtceu.dripstone_lazurite_ore.prospected": "Lazurite",
- "block.gtceu.dripstone_lead_ore.prospected": "Lead",
- "block.gtceu.dripstone_lepidolite_ore.prospected": "Lepidolite",
- "block.gtceu.dripstone_lithium_ore.prospected": "Lithium",
- "block.gtceu.dripstone_magnesite_ore.prospected": "Magnesite",
- "block.gtceu.dripstone_magnetite_ore.prospected": "Magnetite",
- "block.gtceu.dripstone_malachite_ore.prospected": "Malachite",
- "block.gtceu.dripstone_mica_ore.prospected": "Mica",
- "block.gtceu.dripstone_molybdenite_ore.prospected": "Molybdenite",
- "block.gtceu.dripstone_molybdenum_ore.prospected": "Molybdenum",
- "block.gtceu.dripstone_monazite_ore.prospected": "Monazite",
- "block.gtceu.dripstone_naquadah_ore.prospected": "Naquadah",
- "block.gtceu.dripstone_neodymium_ore.prospected": "Neodymium",
- "block.gtceu.dripstone_nether_quartz_ore.prospected": "Nether Quartz",
- "block.gtceu.dripstone_nickel_ore.prospected": "Nickel",
- "block.gtceu.dripstone_oilsands_ore.prospected": "Oilsands",
- "block.gtceu.dripstone_olivine_ore.prospected": "Olivine",
- "block.gtceu.dripstone_opal_ore.prospected": "Opal",
- "block.gtceu.dripstone_palladium_ore.prospected": "Palladium",
- "block.gtceu.dripstone_pentlandite_ore.prospected": "Pentlandite",
- "block.gtceu.dripstone_pitchblende_ore.prospected": "Pitchblende",
- "block.gtceu.dripstone_platinum_ore.prospected": "Platinum",
- "block.gtceu.dripstone_plutonium_ore.prospected": "Plutonium",
- "block.gtceu.dripstone_pollucite_ore.prospected": "Pollucite",
- "block.gtceu.dripstone_powellite_ore.prospected": "Powellite",
- "block.gtceu.dripstone_pyrite_ore.prospected": "Pyrite",
- "block.gtceu.dripstone_pyrochlore_ore.prospected": "Pyrochlore",
- "block.gtceu.dripstone_pyrolusite_ore.prospected": "Pyrolusite",
- "block.gtceu.dripstone_pyrope_ore.prospected": "Pyrope",
- "block.gtceu.dripstone_quartzite_ore.prospected": "Quartzite",
- "block.gtceu.dripstone_realgar_ore.prospected": "Realgar",
- "block.gtceu.dripstone_red_garnet_ore.prospected": "Red Garnet",
- "block.gtceu.dripstone_redstone_ore.prospected": "Redstone",
- "block.gtceu.dripstone_rock_salt_ore.prospected": "Rock Salt",
- "block.gtceu.dripstone_ruby_ore.prospected": "Ruby",
- "block.gtceu.dripstone_salt_ore.prospected": "Salt",
- "block.gtceu.dripstone_saltpeter_ore.prospected": "Saltpeter",
- "block.gtceu.dripstone_sapphire_ore.prospected": "Sapphire",
- "block.gtceu.dripstone_scheelite_ore.prospected": "Scheelite",
- "block.gtceu.dripstone_silver_ore.prospected": "Silver",
- "block.gtceu.dripstone_soapstone_ore.prospected": "Soapstone",
- "block.gtceu.dripstone_sodalite_ore.prospected": "Sodalite",
- "block.gtceu.dripstone_spessartine_ore.prospected": "Spessartine",
- "block.gtceu.dripstone_sphalerite_ore.prospected": "Sphalerite",
- "block.gtceu.dripstone_spodumene_ore.prospected": "Spodumene",
- "block.gtceu.dripstone_stibnite_ore.prospected": "Stibnite",
- "block.gtceu.dripstone_sulfur_ore.prospected": "Sulfur",
- "block.gtceu.dripstone_sylvite_ore.prospected": "Sylvite",
- "block.gtceu.dripstone_talc_ore.prospected": "Talc",
- "block.gtceu.dripstone_tantalite_ore.prospected": "Tantalite",
- "block.gtceu.dripstone_tetrahedrite_ore.prospected": "Tetrahedrite",
- "block.gtceu.dripstone_thorium_ore.prospected": "Thorium",
- "block.gtceu.dripstone_tin_ore.prospected": "Tin",
- "block.gtceu.dripstone_topaz_ore.prospected": "Topaz",
- "block.gtceu.dripstone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
- "block.gtceu.dripstone_trona_ore.prospected": "Trona",
- "block.gtceu.dripstone_tungstate_ore.prospected": "Tungstate",
- "block.gtceu.dripstone_uraninite_ore.prospected": "Uraninite",
- "block.gtceu.dripstone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
- "block.gtceu.dripstone_wulfenite_ore.prospected": "Wulfenite",
- "block.gtceu.dripstone_yellow_garnet_ore.prospected": "Yellow Garnet",
- "block.gtceu.dripstone_yellow_limonite_ore.prospected": "Yellow Limonite",
- "block.gtceu.dripstone_zeolite_ore.prospected": "Zeolite",
- "fluid.tfc.salt_water": "Sea Water",
- "item.tfc.bucket.salt_water": "Sea Water Bucket",
- "item.tfc.powder.saltpeter": "Saltpeter Powder",
- "item.tfc.powder.sulfur": "Sulfur Powder",
- "tfc.jei.raw_hide_knapping": "Raw Hide Knapping",
- "metal.tfg.redstone": "Redstone",
- "metal.tfg.red_alloy": "Red Alloy",
- "metal.tfg.tin_alloy": "Tin Alloy",
- "metal.tfg.lead": "Lead",
- "trim_material.tfc.almandine_tfc": "Almandine",
- "trim_material.tfc.andradite_tfc": "Andradite",
- "trim_material.tfc.blue_topaz_tfc": "Blue Topaz",
- "trim_material.tfc.cinnabar_tfc": "Cinnabar",
- "trim_material.tfc.coal_tfc": "Coal",
- "trim_material.tfc.diamond_tfc": "Diamond",
- "trim_material.tfc.emerald_tfc": "Emerald",
- "trim_material.tfc.green_sapphire_tfc": "Green Sapphire",
- "trim_material.tfc.grossular_tfc": "Grossular",
- "trim_material.tfc.rutile_tfc": "Rutile",
- "trim_material.tfc.lazurite_tfc": "Lazurite",
- "trim_material.tfc.pyrope_tfc": "Pyrope",
- "trim_material.tfc.rock_salt_tfc": "Rock Salt",
- "trim_material.tfc.ruby_tfc": "Ruby",
- "trim_material.tfc.salt_tfc": "salt",
- "trim_material.tfc.sapphire_tfc": "Sapphire",
- "trim_material.tfc.sodalite_tfc": "Sodalite",
- "trim_material.tfc.coke_tfc": "Coke",
- "trim_material.tfc.spessartine_tfc": "Spessartine",
- "trim_material.tfc.topaz_tfc": "Topaz",
- "trim_material.tfc.uvarovite_tfc": "Uvarovite",
- "trim_material.tfc.nether_quartz_tfc": "Nether Quartz",
- "trim_material.tfc.certus_quartz_tfc": "Certus Quartz",
- "trim_material.tfc.quartzite_tfc": "Quartzite",
- "trim_material.tfc.realgar_tfc": "Realgar",
- "trim_material.tfc.malachite_tfc": "Malachite",
- "trim_material.tfc.glass_tfc": "Glass",
- "trim_material.tfc.olivine_tfc": "Olivine",
- "trim_material.tfc.opal_tfc": "Opal",
- "trim_material.tfc.amethyst_tfc": "Amethyst",
- "trim_material.tfc.lapis_tfc": "Lapis",
- "trim_material.tfc.apatite_tfc": "Apatite",
- "trim_material.tfc.red_garnet_tfc": "Red Garnet",
- "trim_material.tfc.yellow_garnet_tfc": "Yellow Garnet",
- "trim_material.tfc.monazite_tfc": "Monazite",
- "trim_material.tfc.rose_quartz_tfc": "Rose Quartz",
- "trim_material.tfc.fluix_tfc": "Fluix",
- "trim_material.tfc.silver_tfc": "Silver",
- "trim_material.tfc.sterling_silver_tfc": "Sterling Silver",
- "trim_material.tfc.gold_tfc": "Gold",
- "trim_material.tfc.rose_gold_tfc": "Rose Gold",
- "trim_material.tfc.nickel_tfc": "Nickel",
- "trim_material.tfc.platinum_tfc": "Platinum",
- "trim_material.tfc.titanium_tfc": "Titanium",
- "trim_material.tfc.bismuth_tfc": "Bismuth",
- "trim_material.tfc.neutronium_tfc": "Neutronium",
- "trim_material.tfc.pyrite_tfc": "Pyrite",
- "trim_material.tfc.redx_tfc": "RedX"
+ "__COMMENT__": "This file was auto generated by the LanguageMerger, read the file \".README IF TRANSLATING\" found in \"minecraft/kubejs\" for more information.",
+ "block.tfc.fluid.salt_water": "Sea Water",
+ "block.tfc.cauldron.salt_water": "Sea Water Cauldron",
+ "block.gtceu.andesite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.andesite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.andesite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.andesite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.andesite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.andesite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.andesite_barite_ore.prospected": "Barite",
+ "block.gtceu.andesite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.andesite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.andesite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.andesite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.andesite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.andesite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.andesite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.andesite_borax_ore.prospected": "Borax",
+ "block.gtceu.andesite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.andesite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.andesite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.andesite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.andesite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.andesite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.andesite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.andesite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.andesite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.andesite_coal_ore.prospected": "Coal",
+ "block.gtceu.andesite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.andesite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.andesite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.andesite_copper_ore.prospected": "Copper",
+ "block.gtceu.andesite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.andesite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.andesite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.andesite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.andesite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.andesite_galena_ore.prospected": "Galena",
+ "block.gtceu.andesite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.andesite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.andesite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.andesite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.andesite_gold_ore.prospected": "Gold",
+ "block.gtceu.andesite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.andesite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.andesite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.andesite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.andesite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.andesite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.andesite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.andesite_iron_ore.prospected": "Iron",
+ "block.gtceu.andesite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.andesite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.andesite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.andesite_lead_ore.prospected": "Lead",
+ "block.gtceu.andesite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.andesite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.andesite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.andesite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.andesite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.andesite_mica_ore.prospected": "Mica",
+ "block.gtceu.andesite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.andesite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.andesite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.andesite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.andesite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.andesite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.andesite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.andesite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.andesite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.andesite_opal_ore.prospected": "Opal",
+ "block.gtceu.andesite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.andesite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.andesite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.andesite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.andesite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.andesite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.andesite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.andesite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.andesite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.andesite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.andesite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.andesite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.andesite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.andesite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.andesite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.andesite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.andesite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.andesite_salt_ore.prospected": "Salt",
+ "block.gtceu.andesite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.andesite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.andesite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.andesite_silver_ore.prospected": "Silver",
+ "block.gtceu.andesite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.andesite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.andesite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.andesite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.andesite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.andesite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.andesite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.andesite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.andesite_talc_ore.prospected": "Talc",
+ "block.gtceu.andesite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.andesite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.andesite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.andesite_tin_ore.prospected": "Tin",
+ "block.gtceu.andesite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.andesite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.andesite_trona_ore.prospected": "Trona",
+ "block.gtceu.andesite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.andesite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.andesite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.andesite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.andesite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.andesite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.andesite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.basalt_almandine_ore.prospected": "Almandine",
+ "block.gtceu.basalt_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.basalt_alunite_ore.prospected": "Alunite",
+ "block.gtceu.basalt_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.basalt_apatite_ore.prospected": "Apatite",
+ "block.gtceu.basalt_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.basalt_barite_ore.prospected": "Barite",
+ "block.gtceu.basalt_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.basalt_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.basalt_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.basalt_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.basalt_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.basalt_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.basalt_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.basalt_borax_ore.prospected": "Borax",
+ "block.gtceu.basalt_bornite_ore.prospected": "Bornite",
+ "block.gtceu.basalt_calcite_ore.prospected": "Calcite",
+ "block.gtceu.basalt_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.basalt_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.basalt_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.basalt_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.basalt_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.basalt_chromite_ore.prospected": "Chromite",
+ "block.gtceu.basalt_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.basalt_coal_ore.prospected": "Coal",
+ "block.gtceu.basalt_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.basalt_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.basalt_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.basalt_copper_ore.prospected": "Copper",
+ "block.gtceu.basalt_diamond_ore.prospected": "Diamond",
+ "block.gtceu.basalt_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.basalt_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.basalt_emerald_ore.prospected": "Emerald",
+ "block.gtceu.basalt_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.basalt_galena_ore.prospected": "Galena",
+ "block.gtceu.basalt_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.basalt_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.basalt_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.basalt_goethite_ore.prospected": "Goethite",
+ "block.gtceu.basalt_gold_ore.prospected": "Gold",
+ "block.gtceu.basalt_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.basalt_graphite_ore.prospected": "Graphite",
+ "block.gtceu.basalt_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.basalt_grossular_ore.prospected": "Grossular",
+ "block.gtceu.basalt_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.basalt_hematite_ore.prospected": "Hematite",
+ "block.gtceu.basalt_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.basalt_iron_ore.prospected": "Iron",
+ "block.gtceu.basalt_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.basalt_lapis_ore.prospected": "Lapis",
+ "block.gtceu.basalt_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.basalt_lead_ore.prospected": "Lead",
+ "block.gtceu.basalt_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.basalt_lithium_ore.prospected": "Lithium",
+ "block.gtceu.basalt_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.basalt_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.basalt_malachite_ore.prospected": "Malachite",
+ "block.gtceu.basalt_mica_ore.prospected": "Mica",
+ "block.gtceu.basalt_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.basalt_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.basalt_monazite_ore.prospected": "Monazite",
+ "block.gtceu.basalt_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.basalt_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.basalt_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.basalt_nickel_ore.prospected": "Nickel",
+ "block.gtceu.basalt_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.basalt_olivine_ore.prospected": "Olivine",
+ "block.gtceu.basalt_opal_ore.prospected": "Opal",
+ "block.gtceu.basalt_palladium_ore.prospected": "Palladium",
+ "block.gtceu.basalt_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.basalt_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.basalt_platinum_ore.prospected": "Platinum",
+ "block.gtceu.basalt_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.basalt_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.basalt_powellite_ore.prospected": "Powellite",
+ "block.gtceu.basalt_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.basalt_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.basalt_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.basalt_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.basalt_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.basalt_realgar_ore.prospected": "Realgar",
+ "block.gtceu.basalt_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.basalt_redstone_ore.prospected": "Redstone",
+ "block.gtceu.basalt_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.basalt_ruby_ore.prospected": "Ruby",
+ "block.gtceu.basalt_salt_ore.prospected": "Salt",
+ "block.gtceu.basalt_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.basalt_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.basalt_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.basalt_silver_ore.prospected": "Silver",
+ "block.gtceu.basalt_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.basalt_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.basalt_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.basalt_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.basalt_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.basalt_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.basalt_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.basalt_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.basalt_talc_ore.prospected": "Talc",
+ "block.gtceu.basalt_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.basalt_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.basalt_thorium_ore.prospected": "Thorium",
+ "block.gtceu.basalt_tin_ore.prospected": "Tin",
+ "block.gtceu.basalt_topaz_ore.prospected": "Topaz",
+ "block.gtceu.basalt_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.basalt_trona_ore.prospected": "Trona",
+ "block.gtceu.basalt_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.basalt_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.basalt_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.basalt_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.basalt_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.basalt_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.basalt_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.chalk_almandine_ore.prospected": "Almandine",
+ "block.gtceu.chalk_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.chalk_alunite_ore.prospected": "Alunite",
+ "block.gtceu.chalk_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.chalk_apatite_ore.prospected": "Apatite",
+ "block.gtceu.chalk_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.chalk_barite_ore.prospected": "Barite",
+ "block.gtceu.chalk_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.chalk_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.chalk_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.chalk_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.chalk_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.chalk_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.chalk_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.chalk_borax_ore.prospected": "Borax",
+ "block.gtceu.chalk_bornite_ore.prospected": "Bornite",
+ "block.gtceu.chalk_calcite_ore.prospected": "Calcite",
+ "block.gtceu.chalk_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.chalk_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.chalk_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.chalk_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.chalk_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.chalk_chromite_ore.prospected": "Chromite",
+ "block.gtceu.chalk_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.chalk_coal_ore.prospected": "Coal",
+ "block.gtceu.chalk_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.chalk_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.chalk_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.chalk_copper_ore.prospected": "Copper",
+ "block.gtceu.chalk_diamond_ore.prospected": "Diamond",
+ "block.gtceu.chalk_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.chalk_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.chalk_emerald_ore.prospected": "Emerald",
+ "block.gtceu.chalk_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.chalk_galena_ore.prospected": "Galena",
+ "block.gtceu.chalk_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.chalk_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.chalk_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.chalk_goethite_ore.prospected": "Goethite",
+ "block.gtceu.chalk_gold_ore.prospected": "Gold",
+ "block.gtceu.chalk_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.chalk_graphite_ore.prospected": "Graphite",
+ "block.gtceu.chalk_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.chalk_grossular_ore.prospected": "Grossular",
+ "block.gtceu.chalk_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.chalk_hematite_ore.prospected": "Hematite",
+ "block.gtceu.chalk_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.chalk_iron_ore.prospected": "Iron",
+ "block.gtceu.chalk_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.chalk_lapis_ore.prospected": "Lapis",
+ "block.gtceu.chalk_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.chalk_lead_ore.prospected": "Lead",
+ "block.gtceu.chalk_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.chalk_lithium_ore.prospected": "Lithium",
+ "block.gtceu.chalk_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.chalk_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.chalk_malachite_ore.prospected": "Malachite",
+ "block.gtceu.chalk_mica_ore.prospected": "Mica",
+ "block.gtceu.chalk_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.chalk_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.chalk_monazite_ore.prospected": "Monazite",
+ "block.gtceu.chalk_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.chalk_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.chalk_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.chalk_nickel_ore.prospected": "Nickel",
+ "block.gtceu.chalk_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.chalk_olivine_ore.prospected": "Olivine",
+ "block.gtceu.chalk_opal_ore.prospected": "Opal",
+ "block.gtceu.chalk_palladium_ore.prospected": "Palladium",
+ "block.gtceu.chalk_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.chalk_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.chalk_platinum_ore.prospected": "Platinum",
+ "block.gtceu.chalk_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.chalk_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.chalk_powellite_ore.prospected": "Powellite",
+ "block.gtceu.chalk_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.chalk_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.chalk_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.chalk_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.chalk_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.chalk_realgar_ore.prospected": "Realgar",
+ "block.gtceu.chalk_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.chalk_redstone_ore.prospected": "Redstone",
+ "block.gtceu.chalk_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.chalk_ruby_ore.prospected": "Ruby",
+ "block.gtceu.chalk_salt_ore.prospected": "Salt",
+ "block.gtceu.chalk_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.chalk_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.chalk_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.chalk_silver_ore.prospected": "Silver",
+ "block.gtceu.chalk_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.chalk_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.chalk_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.chalk_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.chalk_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.chalk_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.chalk_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.chalk_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.chalk_talc_ore.prospected": "Talc",
+ "block.gtceu.chalk_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.chalk_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.chalk_thorium_ore.prospected": "Thorium",
+ "block.gtceu.chalk_tin_ore.prospected": "Tin",
+ "block.gtceu.chalk_topaz_ore.prospected": "Topaz",
+ "block.gtceu.chalk_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.chalk_trona_ore.prospected": "Trona",
+ "block.gtceu.chalk_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.chalk_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.chalk_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.chalk_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.chalk_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.chalk_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.chalk_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.chert_almandine_ore.prospected": "Almandine",
+ "block.gtceu.chert_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.chert_alunite_ore.prospected": "Alunite",
+ "block.gtceu.chert_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.chert_apatite_ore.prospected": "Apatite",
+ "block.gtceu.chert_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.chert_barite_ore.prospected": "Barite",
+ "block.gtceu.chert_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.chert_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.chert_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.chert_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.chert_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.chert_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.chert_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.chert_borax_ore.prospected": "Borax",
+ "block.gtceu.chert_bornite_ore.prospected": "Bornite",
+ "block.gtceu.chert_calcite_ore.prospected": "Calcite",
+ "block.gtceu.chert_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.chert_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.chert_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.chert_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.chert_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.chert_chromite_ore.prospected": "Chromite",
+ "block.gtceu.chert_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.chert_coal_ore.prospected": "Coal",
+ "block.gtceu.chert_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.chert_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.chert_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.chert_copper_ore.prospected": "Copper",
+ "block.gtceu.chert_diamond_ore.prospected": "Diamond",
+ "block.gtceu.chert_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.chert_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.chert_emerald_ore.prospected": "Emerald",
+ "block.gtceu.chert_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.chert_galena_ore.prospected": "Galena",
+ "block.gtceu.chert_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.chert_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.chert_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.chert_goethite_ore.prospected": "Goethite",
+ "block.gtceu.chert_gold_ore.prospected": "Gold",
+ "block.gtceu.chert_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.chert_graphite_ore.prospected": "Graphite",
+ "block.gtceu.chert_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.chert_grossular_ore.prospected": "Grossular",
+ "block.gtceu.chert_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.chert_hematite_ore.prospected": "Hematite",
+ "block.gtceu.chert_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.chert_iron_ore.prospected": "Iron",
+ "block.gtceu.chert_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.chert_lapis_ore.prospected": "Lapis",
+ "block.gtceu.chert_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.chert_lead_ore.prospected": "Lead",
+ "block.gtceu.chert_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.chert_lithium_ore.prospected": "Lithium",
+ "block.gtceu.chert_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.chert_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.chert_malachite_ore.prospected": "Malachite",
+ "block.gtceu.chert_mica_ore.prospected": "Mica",
+ "block.gtceu.chert_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.chert_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.chert_monazite_ore.prospected": "Monazite",
+ "block.gtceu.chert_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.chert_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.chert_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.chert_nickel_ore.prospected": "Nickel",
+ "block.gtceu.chert_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.chert_olivine_ore.prospected": "Olivine",
+ "block.gtceu.chert_opal_ore.prospected": "Opal",
+ "block.gtceu.chert_palladium_ore.prospected": "Palladium",
+ "block.gtceu.chert_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.chert_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.chert_platinum_ore.prospected": "Platinum",
+ "block.gtceu.chert_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.chert_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.chert_powellite_ore.prospected": "Powellite",
+ "block.gtceu.chert_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.chert_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.chert_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.chert_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.chert_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.chert_realgar_ore.prospected": "Realgar",
+ "block.gtceu.chert_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.chert_redstone_ore.prospected": "Redstone",
+ "block.gtceu.chert_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.chert_ruby_ore.prospected": "Ruby",
+ "block.gtceu.chert_salt_ore.prospected": "Salt",
+ "block.gtceu.chert_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.chert_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.chert_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.chert_silver_ore.prospected": "Silver",
+ "block.gtceu.chert_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.chert_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.chert_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.chert_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.chert_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.chert_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.chert_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.chert_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.chert_talc_ore.prospected": "Talc",
+ "block.gtceu.chert_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.chert_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.chert_thorium_ore.prospected": "Thorium",
+ "block.gtceu.chert_tin_ore.prospected": "Tin",
+ "block.gtceu.chert_topaz_ore.prospected": "Topaz",
+ "block.gtceu.chert_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.chert_trona_ore.prospected": "Trona",
+ "block.gtceu.chert_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.chert_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.chert_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.chert_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.chert_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.chert_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.chert_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.claystone_almandine_ore.prospected": "Almandine",
+ "block.gtceu.claystone_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.claystone_alunite_ore.prospected": "Alunite",
+ "block.gtceu.claystone_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.claystone_apatite_ore.prospected": "Apatite",
+ "block.gtceu.claystone_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.claystone_barite_ore.prospected": "Barite",
+ "block.gtceu.claystone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.claystone_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.claystone_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.claystone_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.claystone_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.claystone_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.claystone_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.claystone_borax_ore.prospected": "Borax",
+ "block.gtceu.claystone_bornite_ore.prospected": "Bornite",
+ "block.gtceu.claystone_calcite_ore.prospected": "Calcite",
+ "block.gtceu.claystone_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.claystone_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.claystone_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.claystone_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.claystone_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.claystone_chromite_ore.prospected": "Chromite",
+ "block.gtceu.claystone_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.claystone_coal_ore.prospected": "Coal",
+ "block.gtceu.claystone_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.claystone_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.claystone_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.claystone_copper_ore.prospected": "Copper",
+ "block.gtceu.claystone_diamond_ore.prospected": "Diamond",
+ "block.gtceu.claystone_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.claystone_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.claystone_emerald_ore.prospected": "Emerald",
+ "block.gtceu.claystone_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.claystone_galena_ore.prospected": "Galena",
+ "block.gtceu.claystone_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.claystone_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.claystone_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.claystone_goethite_ore.prospected": "Goethite",
+ "block.gtceu.claystone_gold_ore.prospected": "Gold",
+ "block.gtceu.claystone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.claystone_graphite_ore.prospected": "Graphite",
+ "block.gtceu.claystone_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.claystone_grossular_ore.prospected": "Grossular",
+ "block.gtceu.claystone_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.claystone_hematite_ore.prospected": "Hematite",
+ "block.gtceu.claystone_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.claystone_iron_ore.prospected": "Iron",
+ "block.gtceu.claystone_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.claystone_lapis_ore.prospected": "Lapis",
+ "block.gtceu.claystone_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.claystone_lead_ore.prospected": "Lead",
+ "block.gtceu.claystone_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.claystone_lithium_ore.prospected": "Lithium",
+ "block.gtceu.claystone_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.claystone_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.claystone_malachite_ore.prospected": "Malachite",
+ "block.gtceu.claystone_mica_ore.prospected": "Mica",
+ "block.gtceu.claystone_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.claystone_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.claystone_monazite_ore.prospected": "Monazite",
+ "block.gtceu.claystone_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.claystone_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.claystone_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.claystone_nickel_ore.prospected": "Nickel",
+ "block.gtceu.claystone_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.claystone_olivine_ore.prospected": "Olivine",
+ "block.gtceu.claystone_opal_ore.prospected": "Opal",
+ "block.gtceu.claystone_palladium_ore.prospected": "Palladium",
+ "block.gtceu.claystone_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.claystone_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.claystone_platinum_ore.prospected": "Platinum",
+ "block.gtceu.claystone_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.claystone_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.claystone_powellite_ore.prospected": "Powellite",
+ "block.gtceu.claystone_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.claystone_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.claystone_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.claystone_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.claystone_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.claystone_realgar_ore.prospected": "Realgar",
+ "block.gtceu.claystone_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.claystone_redstone_ore.prospected": "Redstone",
+ "block.gtceu.claystone_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.claystone_ruby_ore.prospected": "Ruby",
+ "block.gtceu.claystone_salt_ore.prospected": "Salt",
+ "block.gtceu.claystone_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.claystone_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.claystone_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.claystone_silver_ore.prospected": "Silver",
+ "block.gtceu.claystone_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.claystone_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.claystone_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.claystone_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.claystone_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.claystone_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.claystone_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.claystone_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.claystone_talc_ore.prospected": "Talc",
+ "block.gtceu.claystone_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.claystone_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.claystone_thorium_ore.prospected": "Thorium",
+ "block.gtceu.claystone_tin_ore.prospected": "Tin",
+ "block.gtceu.claystone_topaz_ore.prospected": "Topaz",
+ "block.gtceu.claystone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.claystone_trona_ore.prospected": "Trona",
+ "block.gtceu.claystone_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.claystone_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.claystone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.claystone_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.claystone_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.claystone_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.claystone_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.conglomerate_almandine_ore.prospected": "Almandine",
+ "block.gtceu.conglomerate_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.conglomerate_alunite_ore.prospected": "Alunite",
+ "block.gtceu.conglomerate_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.conglomerate_apatite_ore.prospected": "Apatite",
+ "block.gtceu.conglomerate_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.conglomerate_barite_ore.prospected": "Barite",
+ "block.gtceu.conglomerate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.conglomerate_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.conglomerate_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.conglomerate_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.conglomerate_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.conglomerate_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.conglomerate_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.conglomerate_borax_ore.prospected": "Borax",
+ "block.gtceu.conglomerate_bornite_ore.prospected": "Bornite",
+ "block.gtceu.conglomerate_calcite_ore.prospected": "Calcite",
+ "block.gtceu.conglomerate_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.conglomerate_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.conglomerate_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.conglomerate_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.conglomerate_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.conglomerate_chromite_ore.prospected": "Chromite",
+ "block.gtceu.conglomerate_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.conglomerate_coal_ore.prospected": "Coal",
+ "block.gtceu.conglomerate_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.conglomerate_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.conglomerate_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.conglomerate_copper_ore.prospected": "Copper",
+ "block.gtceu.conglomerate_diamond_ore.prospected": "Diamond",
+ "block.gtceu.conglomerate_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.conglomerate_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.conglomerate_emerald_ore.prospected": "Emerald",
+ "block.gtceu.conglomerate_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.conglomerate_galena_ore.prospected": "Galena",
+ "block.gtceu.conglomerate_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.conglomerate_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.conglomerate_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.conglomerate_goethite_ore.prospected": "Goethite",
+ "block.gtceu.conglomerate_gold_ore.prospected": "Gold",
+ "block.gtceu.conglomerate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.conglomerate_graphite_ore.prospected": "Graphite",
+ "block.gtceu.conglomerate_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.conglomerate_grossular_ore.prospected": "Grossular",
+ "block.gtceu.conglomerate_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.conglomerate_hematite_ore.prospected": "Hematite",
+ "block.gtceu.conglomerate_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.conglomerate_iron_ore.prospected": "Iron",
+ "block.gtceu.conglomerate_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.conglomerate_lapis_ore.prospected": "Lapis",
+ "block.gtceu.conglomerate_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.conglomerate_lead_ore.prospected": "Lead",
+ "block.gtceu.conglomerate_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.conglomerate_lithium_ore.prospected": "Lithium",
+ "block.gtceu.conglomerate_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.conglomerate_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.conglomerate_malachite_ore.prospected": "Malachite",
+ "block.gtceu.conglomerate_mica_ore.prospected": "Mica",
+ "block.gtceu.conglomerate_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.conglomerate_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.conglomerate_monazite_ore.prospected": "Monazite",
+ "block.gtceu.conglomerate_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.conglomerate_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.conglomerate_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.conglomerate_nickel_ore.prospected": "Nickel",
+ "block.gtceu.conglomerate_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.conglomerate_olivine_ore.prospected": "Olivine",
+ "block.gtceu.conglomerate_opal_ore.prospected": "Opal",
+ "block.gtceu.conglomerate_palladium_ore.prospected": "Palladium",
+ "block.gtceu.conglomerate_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.conglomerate_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.conglomerate_platinum_ore.prospected": "Platinum",
+ "block.gtceu.conglomerate_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.conglomerate_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.conglomerate_powellite_ore.prospected": "Powellite",
+ "block.gtceu.conglomerate_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.conglomerate_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.conglomerate_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.conglomerate_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.conglomerate_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.conglomerate_realgar_ore.prospected": "Realgar",
+ "block.gtceu.conglomerate_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.conglomerate_redstone_ore.prospected": "Redstone",
+ "block.gtceu.conglomerate_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.conglomerate_ruby_ore.prospected": "Ruby",
+ "block.gtceu.conglomerate_salt_ore.prospected": "Salt",
+ "block.gtceu.conglomerate_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.conglomerate_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.conglomerate_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.conglomerate_silver_ore.prospected": "Silver",
+ "block.gtceu.conglomerate_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.conglomerate_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.conglomerate_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.conglomerate_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.conglomerate_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.conglomerate_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.conglomerate_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.conglomerate_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.conglomerate_talc_ore.prospected": "Talc",
+ "block.gtceu.conglomerate_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.conglomerate_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.conglomerate_thorium_ore.prospected": "Thorium",
+ "block.gtceu.conglomerate_tin_ore.prospected": "Tin",
+ "block.gtceu.conglomerate_topaz_ore.prospected": "Topaz",
+ "block.gtceu.conglomerate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.conglomerate_trona_ore.prospected": "Trona",
+ "block.gtceu.conglomerate_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.conglomerate_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.conglomerate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.conglomerate_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.conglomerate_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.conglomerate_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.conglomerate_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.dacite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.dacite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.dacite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.dacite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.dacite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.dacite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.dacite_barite_ore.prospected": "Barite",
+ "block.gtceu.dacite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.dacite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.dacite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.dacite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.dacite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.dacite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.dacite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.dacite_borax_ore.prospected": "Borax",
+ "block.gtceu.dacite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.dacite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.dacite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.dacite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.dacite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.dacite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.dacite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.dacite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.dacite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.dacite_coal_ore.prospected": "Coal",
+ "block.gtceu.dacite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.dacite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.dacite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.dacite_copper_ore.prospected": "Copper",
+ "block.gtceu.dacite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.dacite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.dacite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.dacite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.dacite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.dacite_galena_ore.prospected": "Galena",
+ "block.gtceu.dacite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.dacite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.dacite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.dacite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.dacite_gold_ore.prospected": "Gold",
+ "block.gtceu.dacite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.dacite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.dacite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.dacite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.dacite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.dacite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.dacite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.dacite_iron_ore.prospected": "Iron",
+ "block.gtceu.dacite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.dacite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.dacite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.dacite_lead_ore.prospected": "Lead",
+ "block.gtceu.dacite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.dacite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.dacite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.dacite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.dacite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.dacite_mica_ore.prospected": "Mica",
+ "block.gtceu.dacite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.dacite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.dacite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.dacite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.dacite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.dacite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.dacite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.dacite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.dacite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.dacite_opal_ore.prospected": "Opal",
+ "block.gtceu.dacite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.dacite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.dacite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.dacite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.dacite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.dacite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.dacite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.dacite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.dacite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.dacite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.dacite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.dacite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.dacite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.dacite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.dacite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.dacite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.dacite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.dacite_salt_ore.prospected": "Salt",
+ "block.gtceu.dacite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.dacite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.dacite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.dacite_silver_ore.prospected": "Silver",
+ "block.gtceu.dacite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.dacite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.dacite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.dacite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.dacite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.dacite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.dacite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.dacite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.dacite_talc_ore.prospected": "Talc",
+ "block.gtceu.dacite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.dacite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.dacite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.dacite_tin_ore.prospected": "Tin",
+ "block.gtceu.dacite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.dacite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.dacite_trona_ore.prospected": "Trona",
+ "block.gtceu.dacite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.dacite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.dacite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.dacite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.dacite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.dacite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.dacite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.diorite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.diorite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.diorite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.diorite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.diorite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.diorite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.diorite_barite_ore.prospected": "Barite",
+ "block.gtceu.diorite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.diorite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.diorite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.diorite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.diorite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.diorite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.diorite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.diorite_borax_ore.prospected": "Borax",
+ "block.gtceu.diorite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.diorite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.diorite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.diorite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.diorite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.diorite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.diorite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.diorite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.diorite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.diorite_coal_ore.prospected": "Coal",
+ "block.gtceu.diorite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.diorite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.diorite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.diorite_copper_ore.prospected": "Copper",
+ "block.gtceu.diorite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.diorite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.diorite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.diorite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.diorite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.diorite_galena_ore.prospected": "Galena",
+ "block.gtceu.diorite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.diorite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.diorite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.diorite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.diorite_gold_ore.prospected": "Gold",
+ "block.gtceu.diorite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.diorite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.diorite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.diorite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.diorite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.diorite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.diorite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.diorite_iron_ore.prospected": "Iron",
+ "block.gtceu.diorite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.diorite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.diorite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.diorite_lead_ore.prospected": "Lead",
+ "block.gtceu.diorite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.diorite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.diorite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.diorite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.diorite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.diorite_mica_ore.prospected": "Mica",
+ "block.gtceu.diorite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.diorite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.diorite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.diorite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.diorite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.diorite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.diorite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.diorite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.diorite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.diorite_opal_ore.prospected": "Opal",
+ "block.gtceu.diorite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.diorite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.diorite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.diorite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.diorite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.diorite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.diorite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.diorite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.diorite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.diorite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.diorite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.diorite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.diorite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.diorite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.diorite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.diorite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.diorite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.diorite_salt_ore.prospected": "Salt",
+ "block.gtceu.diorite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.diorite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.diorite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.diorite_silver_ore.prospected": "Silver",
+ "block.gtceu.diorite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.diorite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.diorite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.diorite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.diorite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.diorite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.diorite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.diorite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.diorite_talc_ore.prospected": "Talc",
+ "block.gtceu.diorite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.diorite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.diorite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.diorite_tin_ore.prospected": "Tin",
+ "block.gtceu.diorite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.diorite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.diorite_trona_ore.prospected": "Trona",
+ "block.gtceu.diorite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.diorite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.diorite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.diorite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.diorite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.diorite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.diorite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.dolomite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.dolomite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.dolomite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.dolomite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.dolomite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.dolomite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.dolomite_barite_ore.prospected": "Barite",
+ "block.gtceu.dolomite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.dolomite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.dolomite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.dolomite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.dolomite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.dolomite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.dolomite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.dolomite_borax_ore.prospected": "Borax",
+ "block.gtceu.dolomite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.dolomite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.dolomite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.dolomite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.dolomite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.dolomite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.dolomite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.dolomite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.dolomite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.dolomite_coal_ore.prospected": "Coal",
+ "block.gtceu.dolomite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.dolomite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.dolomite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.dolomite_copper_ore.prospected": "Copper",
+ "block.gtceu.dolomite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.dolomite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.dolomite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.dolomite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.dolomite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.dolomite_galena_ore.prospected": "Galena",
+ "block.gtceu.dolomite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.dolomite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.dolomite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.dolomite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.dolomite_gold_ore.prospected": "Gold",
+ "block.gtceu.dolomite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.dolomite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.dolomite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.dolomite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.dolomite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.dolomite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.dolomite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.dolomite_iron_ore.prospected": "Iron",
+ "block.gtceu.dolomite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.dolomite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.dolomite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.dolomite_lead_ore.prospected": "Lead",
+ "block.gtceu.dolomite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.dolomite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.dolomite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.dolomite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.dolomite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.dolomite_mica_ore.prospected": "Mica",
+ "block.gtceu.dolomite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.dolomite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.dolomite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.dolomite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.dolomite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.dolomite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.dolomite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.dolomite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.dolomite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.dolomite_opal_ore.prospected": "Opal",
+ "block.gtceu.dolomite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.dolomite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.dolomite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.dolomite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.dolomite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.dolomite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.dolomite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.dolomite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.dolomite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.dolomite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.dolomite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.dolomite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.dolomite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.dolomite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.dolomite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.dolomite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.dolomite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.dolomite_salt_ore.prospected": "Salt",
+ "block.gtceu.dolomite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.dolomite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.dolomite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.dolomite_silver_ore.prospected": "Silver",
+ "block.gtceu.dolomite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.dolomite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.dolomite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.dolomite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.dolomite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.dolomite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.dolomite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.dolomite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.dolomite_talc_ore.prospected": "Talc",
+ "block.gtceu.dolomite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.dolomite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.dolomite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.dolomite_tin_ore.prospected": "Tin",
+ "block.gtceu.dolomite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.dolomite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.dolomite_trona_ore.prospected": "Trona",
+ "block.gtceu.dolomite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.dolomite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.dolomite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.dolomite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.dolomite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.dolomite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.dolomite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.gabbro_almandine_ore.prospected": "Almandine",
+ "block.gtceu.gabbro_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.gabbro_alunite_ore.prospected": "Alunite",
+ "block.gtceu.gabbro_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.gabbro_apatite_ore.prospected": "Apatite",
+ "block.gtceu.gabbro_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.gabbro_barite_ore.prospected": "Barite",
+ "block.gtceu.gabbro_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.gabbro_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.gabbro_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.gabbro_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.gabbro_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.gabbro_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.gabbro_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.gabbro_borax_ore.prospected": "Borax",
+ "block.gtceu.gabbro_bornite_ore.prospected": "Bornite",
+ "block.gtceu.gabbro_calcite_ore.prospected": "Calcite",
+ "block.gtceu.gabbro_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.gabbro_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.gabbro_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.gabbro_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.gabbro_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.gabbro_chromite_ore.prospected": "Chromite",
+ "block.gtceu.gabbro_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.gabbro_coal_ore.prospected": "Coal",
+ "block.gtceu.gabbro_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.gabbro_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.gabbro_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.gabbro_copper_ore.prospected": "Copper",
+ "block.gtceu.gabbro_diamond_ore.prospected": "Diamond",
+ "block.gtceu.gabbro_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.gabbro_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.gabbro_emerald_ore.prospected": "Emerald",
+ "block.gtceu.gabbro_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.gabbro_galena_ore.prospected": "Galena",
+ "block.gtceu.gabbro_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.gabbro_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.gabbro_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.gabbro_goethite_ore.prospected": "Goethite",
+ "block.gtceu.gabbro_gold_ore.prospected": "Gold",
+ "block.gtceu.gabbro_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.gabbro_graphite_ore.prospected": "Graphite",
+ "block.gtceu.gabbro_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.gabbro_grossular_ore.prospected": "Grossular",
+ "block.gtceu.gabbro_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.gabbro_hematite_ore.prospected": "Hematite",
+ "block.gtceu.gabbro_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.gabbro_iron_ore.prospected": "Iron",
+ "block.gtceu.gabbro_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.gabbro_lapis_ore.prospected": "Lapis",
+ "block.gtceu.gabbro_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.gabbro_lead_ore.prospected": "Lead",
+ "block.gtceu.gabbro_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.gabbro_lithium_ore.prospected": "Lithium",
+ "block.gtceu.gabbro_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.gabbro_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.gabbro_malachite_ore.prospected": "Malachite",
+ "block.gtceu.gabbro_mica_ore.prospected": "Mica",
+ "block.gtceu.gabbro_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.gabbro_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.gabbro_monazite_ore.prospected": "Monazite",
+ "block.gtceu.gabbro_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.gabbro_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.gabbro_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.gabbro_nickel_ore.prospected": "Nickel",
+ "block.gtceu.gabbro_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.gabbro_olivine_ore.prospected": "Olivine",
+ "block.gtceu.gabbro_opal_ore.prospected": "Opal",
+ "block.gtceu.gabbro_palladium_ore.prospected": "Palladium",
+ "block.gtceu.gabbro_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.gabbro_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.gabbro_platinum_ore.prospected": "Platinum",
+ "block.gtceu.gabbro_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.gabbro_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.gabbro_powellite_ore.prospected": "Powellite",
+ "block.gtceu.gabbro_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.gabbro_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.gabbro_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.gabbro_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.gabbro_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.gabbro_realgar_ore.prospected": "Realgar",
+ "block.gtceu.gabbro_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.gabbro_redstone_ore.prospected": "Redstone",
+ "block.gtceu.gabbro_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.gabbro_ruby_ore.prospected": "Ruby",
+ "block.gtceu.gabbro_salt_ore.prospected": "Salt",
+ "block.gtceu.gabbro_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.gabbro_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.gabbro_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.gabbro_silver_ore.prospected": "Silver",
+ "block.gtceu.gabbro_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.gabbro_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.gabbro_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.gabbro_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.gabbro_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.gabbro_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.gabbro_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.gabbro_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.gabbro_talc_ore.prospected": "Talc",
+ "block.gtceu.gabbro_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.gabbro_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.gabbro_thorium_ore.prospected": "Thorium",
+ "block.gtceu.gabbro_tin_ore.prospected": "Tin",
+ "block.gtceu.gabbro_topaz_ore.prospected": "Topaz",
+ "block.gtceu.gabbro_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.gabbro_trona_ore.prospected": "Trona",
+ "block.gtceu.gabbro_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.gabbro_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.gabbro_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.gabbro_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.gabbro_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.gabbro_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.gabbro_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.gneiss_almandine_ore.prospected": "Almandine",
+ "block.gtceu.gneiss_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.gneiss_alunite_ore.prospected": "Alunite",
+ "block.gtceu.gneiss_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.gneiss_apatite_ore.prospected": "Apatite",
+ "block.gtceu.gneiss_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.gneiss_barite_ore.prospected": "Barite",
+ "block.gtceu.gneiss_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.gneiss_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.gneiss_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.gneiss_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.gneiss_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.gneiss_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.gneiss_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.gneiss_borax_ore.prospected": "Borax",
+ "block.gtceu.gneiss_bornite_ore.prospected": "Bornite",
+ "block.gtceu.gneiss_calcite_ore.prospected": "Calcite",
+ "block.gtceu.gneiss_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.gneiss_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.gneiss_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.gneiss_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.gneiss_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.gneiss_chromite_ore.prospected": "Chromite",
+ "block.gtceu.gneiss_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.gneiss_coal_ore.prospected": "Coal",
+ "block.gtceu.gneiss_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.gneiss_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.gneiss_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.gneiss_copper_ore.prospected": "Copper",
+ "block.gtceu.gneiss_diamond_ore.prospected": "Diamond",
+ "block.gtceu.gneiss_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.gneiss_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.gneiss_emerald_ore.prospected": "Emerald",
+ "block.gtceu.gneiss_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.gneiss_galena_ore.prospected": "Galena",
+ "block.gtceu.gneiss_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.gneiss_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.gneiss_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.gneiss_goethite_ore.prospected": "Goethite",
+ "block.gtceu.gneiss_gold_ore.prospected": "Gold",
+ "block.gtceu.gneiss_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.gneiss_graphite_ore.prospected": "Graphite",
+ "block.gtceu.gneiss_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.gneiss_grossular_ore.prospected": "Grossular",
+ "block.gtceu.gneiss_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.gneiss_hematite_ore.prospected": "Hematite",
+ "block.gtceu.gneiss_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.gneiss_iron_ore.prospected": "Iron",
+ "block.gtceu.gneiss_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.gneiss_lapis_ore.prospected": "Lapis",
+ "block.gtceu.gneiss_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.gneiss_lead_ore.prospected": "Lead",
+ "block.gtceu.gneiss_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.gneiss_lithium_ore.prospected": "Lithium",
+ "block.gtceu.gneiss_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.gneiss_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.gneiss_malachite_ore.prospected": "Malachite",
+ "block.gtceu.gneiss_mica_ore.prospected": "Mica",
+ "block.gtceu.gneiss_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.gneiss_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.gneiss_monazite_ore.prospected": "Monazite",
+ "block.gtceu.gneiss_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.gneiss_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.gneiss_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.gneiss_nickel_ore.prospected": "Nickel",
+ "block.gtceu.gneiss_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.gneiss_olivine_ore.prospected": "Olivine",
+ "block.gtceu.gneiss_opal_ore.prospected": "Opal",
+ "block.gtceu.gneiss_palladium_ore.prospected": "Palladium",
+ "block.gtceu.gneiss_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.gneiss_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.gneiss_platinum_ore.prospected": "Platinum",
+ "block.gtceu.gneiss_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.gneiss_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.gneiss_powellite_ore.prospected": "Powellite",
+ "block.gtceu.gneiss_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.gneiss_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.gneiss_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.gneiss_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.gneiss_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.gneiss_realgar_ore.prospected": "Realgar",
+ "block.gtceu.gneiss_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.gneiss_redstone_ore.prospected": "Redstone",
+ "block.gtceu.gneiss_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.gneiss_ruby_ore.prospected": "Ruby",
+ "block.gtceu.gneiss_salt_ore.prospected": "Salt",
+ "block.gtceu.gneiss_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.gneiss_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.gneiss_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.gneiss_silver_ore.prospected": "Silver",
+ "block.gtceu.gneiss_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.gneiss_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.gneiss_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.gneiss_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.gneiss_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.gneiss_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.gneiss_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.gneiss_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.gneiss_talc_ore.prospected": "Talc",
+ "block.gtceu.gneiss_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.gneiss_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.gneiss_thorium_ore.prospected": "Thorium",
+ "block.gtceu.gneiss_tin_ore.prospected": "Tin",
+ "block.gtceu.gneiss_topaz_ore.prospected": "Topaz",
+ "block.gtceu.gneiss_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.gneiss_trona_ore.prospected": "Trona",
+ "block.gtceu.gneiss_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.gneiss_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.gneiss_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.gneiss_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.gneiss_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.gneiss_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.gneiss_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.granite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.granite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.granite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.granite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.granite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.granite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.granite_barite_ore.prospected": "Barite",
+ "block.gtceu.granite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.granite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.granite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.granite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.granite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.granite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.granite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.granite_borax_ore.prospected": "Borax",
+ "block.gtceu.granite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.granite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.granite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.granite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.granite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.granite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.granite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.granite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.granite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.granite_coal_ore.prospected": "Coal",
+ "block.gtceu.granite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.granite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.granite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.granite_copper_ore.prospected": "Copper",
+ "block.gtceu.granite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.granite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.granite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.granite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.granite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.granite_galena_ore.prospected": "Galena",
+ "block.gtceu.granite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.granite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.granite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.granite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.granite_gold_ore.prospected": "Gold",
+ "block.gtceu.granite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.granite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.granite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.granite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.granite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.granite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.granite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.granite_iron_ore.prospected": "Iron",
+ "block.gtceu.granite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.granite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.granite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.granite_lead_ore.prospected": "Lead",
+ "block.gtceu.granite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.granite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.granite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.granite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.granite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.granite_mica_ore.prospected": "Mica",
+ "block.gtceu.granite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.granite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.granite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.granite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.granite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.granite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.granite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.granite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.granite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.granite_opal_ore.prospected": "Opal",
+ "block.gtceu.granite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.granite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.granite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.granite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.granite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.granite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.granite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.granite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.granite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.granite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.granite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.granite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.granite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.granite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.granite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.granite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.granite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.granite_salt_ore.prospected": "Salt",
+ "block.gtceu.granite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.granite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.granite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.granite_silver_ore.prospected": "Silver",
+ "block.gtceu.granite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.granite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.granite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.granite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.granite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.granite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.granite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.granite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.granite_talc_ore.prospected": "Talc",
+ "block.gtceu.granite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.granite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.granite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.granite_tin_ore.prospected": "Tin",
+ "block.gtceu.granite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.granite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.granite_trona_ore.prospected": "Trona",
+ "block.gtceu.granite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.granite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.granite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.granite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.granite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.granite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.granite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.limestone_almandine_ore.prospected": "Almandine",
+ "block.gtceu.limestone_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.limestone_alunite_ore.prospected": "Alunite",
+ "block.gtceu.limestone_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.limestone_apatite_ore.prospected": "Apatite",
+ "block.gtceu.limestone_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.limestone_barite_ore.prospected": "Barite",
+ "block.gtceu.limestone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.limestone_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.limestone_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.limestone_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.limestone_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.limestone_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.limestone_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.limestone_borax_ore.prospected": "Borax",
+ "block.gtceu.limestone_bornite_ore.prospected": "Bornite",
+ "block.gtceu.limestone_calcite_ore.prospected": "Calcite",
+ "block.gtceu.limestone_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.limestone_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.limestone_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.limestone_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.limestone_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.limestone_chromite_ore.prospected": "Chromite",
+ "block.gtceu.limestone_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.limestone_coal_ore.prospected": "Coal",
+ "block.gtceu.limestone_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.limestone_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.limestone_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.limestone_copper_ore.prospected": "Copper",
+ "block.gtceu.limestone_diamond_ore.prospected": "Diamond",
+ "block.gtceu.limestone_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.limestone_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.limestone_emerald_ore.prospected": "Emerald",
+ "block.gtceu.limestone_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.limestone_galena_ore.prospected": "Galena",
+ "block.gtceu.limestone_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.limestone_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.limestone_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.limestone_goethite_ore.prospected": "Goethite",
+ "block.gtceu.limestone_gold_ore.prospected": "Gold",
+ "block.gtceu.limestone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.limestone_graphite_ore.prospected": "Graphite",
+ "block.gtceu.limestone_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.limestone_grossular_ore.prospected": "Grossular",
+ "block.gtceu.limestone_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.limestone_hematite_ore.prospected": "Hematite",
+ "block.gtceu.limestone_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.limestone_iron_ore.prospected": "Iron",
+ "block.gtceu.limestone_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.limestone_lapis_ore.prospected": "Lapis",
+ "block.gtceu.limestone_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.limestone_lead_ore.prospected": "Lead",
+ "block.gtceu.limestone_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.limestone_lithium_ore.prospected": "Lithium",
+ "block.gtceu.limestone_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.limestone_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.limestone_malachite_ore.prospected": "Malachite",
+ "block.gtceu.limestone_mica_ore.prospected": "Mica",
+ "block.gtceu.limestone_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.limestone_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.limestone_monazite_ore.prospected": "Monazite",
+ "block.gtceu.limestone_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.limestone_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.limestone_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.limestone_nickel_ore.prospected": "Nickel",
+ "block.gtceu.limestone_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.limestone_olivine_ore.prospected": "Olivine",
+ "block.gtceu.limestone_opal_ore.prospected": "Opal",
+ "block.gtceu.limestone_palladium_ore.prospected": "Palladium",
+ "block.gtceu.limestone_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.limestone_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.limestone_platinum_ore.prospected": "Platinum",
+ "block.gtceu.limestone_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.limestone_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.limestone_powellite_ore.prospected": "Powellite",
+ "block.gtceu.limestone_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.limestone_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.limestone_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.limestone_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.limestone_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.limestone_realgar_ore.prospected": "Realgar",
+ "block.gtceu.limestone_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.limestone_redstone_ore.prospected": "Redstone",
+ "block.gtceu.limestone_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.limestone_ruby_ore.prospected": "Ruby",
+ "block.gtceu.limestone_salt_ore.prospected": "Salt",
+ "block.gtceu.limestone_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.limestone_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.limestone_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.limestone_silver_ore.prospected": "Silver",
+ "block.gtceu.limestone_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.limestone_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.limestone_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.limestone_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.limestone_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.limestone_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.limestone_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.limestone_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.limestone_talc_ore.prospected": "Talc",
+ "block.gtceu.limestone_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.limestone_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.limestone_thorium_ore.prospected": "Thorium",
+ "block.gtceu.limestone_tin_ore.prospected": "Tin",
+ "block.gtceu.limestone_topaz_ore.prospected": "Topaz",
+ "block.gtceu.limestone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.limestone_trona_ore.prospected": "Trona",
+ "block.gtceu.limestone_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.limestone_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.limestone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.limestone_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.limestone_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.limestone_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.limestone_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.marble_almandine_ore.prospected": "Almandine",
+ "block.gtceu.marble_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.marble_alunite_ore.prospected": "Alunite",
+ "block.gtceu.marble_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.marble_apatite_ore.prospected": "Apatite",
+ "block.gtceu.marble_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.marble_barite_ore.prospected": "Barite",
+ "block.gtceu.marble_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.marble_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.marble_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.marble_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.marble_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.marble_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.marble_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.marble_borax_ore.prospected": "Borax",
+ "block.gtceu.marble_bornite_ore.prospected": "Bornite",
+ "block.gtceu.marble_calcite_ore.prospected": "Calcite",
+ "block.gtceu.marble_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.marble_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.marble_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.marble_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.marble_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.marble_chromite_ore.prospected": "Chromite",
+ "block.gtceu.marble_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.marble_coal_ore.prospected": "Coal",
+ "block.gtceu.marble_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.marble_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.marble_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.marble_copper_ore.prospected": "Copper",
+ "block.gtceu.marble_diamond_ore.prospected": "Diamond",
+ "block.gtceu.marble_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.marble_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.marble_emerald_ore.prospected": "Emerald",
+ "block.gtceu.marble_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.marble_galena_ore.prospected": "Galena",
+ "block.gtceu.marble_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.marble_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.marble_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.marble_goethite_ore.prospected": "Goethite",
+ "block.gtceu.marble_gold_ore.prospected": "Gold",
+ "block.gtceu.marble_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.marble_graphite_ore.prospected": "Graphite",
+ "block.gtceu.marble_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.marble_grossular_ore.prospected": "Grossular",
+ "block.gtceu.marble_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.marble_hematite_ore.prospected": "Hematite",
+ "block.gtceu.marble_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.marble_iron_ore.prospected": "Iron",
+ "block.gtceu.marble_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.marble_lapis_ore.prospected": "Lapis",
+ "block.gtceu.marble_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.marble_lead_ore.prospected": "Lead",
+ "block.gtceu.marble_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.marble_lithium_ore.prospected": "Lithium",
+ "block.gtceu.marble_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.marble_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.marble_malachite_ore.prospected": "Malachite",
+ "block.gtceu.marble_mica_ore.prospected": "Mica",
+ "block.gtceu.marble_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.marble_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.marble_monazite_ore.prospected": "Monazite",
+ "block.gtceu.marble_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.marble_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.marble_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.marble_nickel_ore.prospected": "Nickel",
+ "block.gtceu.marble_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.marble_olivine_ore.prospected": "Olivine",
+ "block.gtceu.marble_opal_ore.prospected": "Opal",
+ "block.gtceu.marble_palladium_ore.prospected": "Palladium",
+ "block.gtceu.marble_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.marble_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.marble_platinum_ore.prospected": "Platinum",
+ "block.gtceu.marble_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.marble_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.marble_powellite_ore.prospected": "Powellite",
+ "block.gtceu.marble_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.marble_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.marble_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.marble_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.marble_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.marble_realgar_ore.prospected": "Realgar",
+ "block.gtceu.marble_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.marble_redstone_ore.prospected": "Redstone",
+ "block.gtceu.marble_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.marble_ruby_ore.prospected": "Ruby",
+ "block.gtceu.marble_salt_ore.prospected": "Salt",
+ "block.gtceu.marble_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.marble_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.marble_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.marble_silver_ore.prospected": "Silver",
+ "block.gtceu.marble_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.marble_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.marble_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.marble_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.marble_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.marble_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.marble_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.marble_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.marble_talc_ore.prospected": "Talc",
+ "block.gtceu.marble_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.marble_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.marble_thorium_ore.prospected": "Thorium",
+ "block.gtceu.marble_tin_ore.prospected": "Tin",
+ "block.gtceu.marble_topaz_ore.prospected": "Topaz",
+ "block.gtceu.marble_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.marble_trona_ore.prospected": "Trona",
+ "block.gtceu.marble_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.marble_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.marble_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.marble_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.marble_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.marble_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.marble_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.phyllite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.phyllite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.phyllite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.phyllite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.phyllite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.phyllite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.phyllite_barite_ore.prospected": "Barite",
+ "block.gtceu.phyllite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.phyllite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.phyllite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.phyllite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.phyllite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.phyllite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.phyllite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.phyllite_borax_ore.prospected": "Borax",
+ "block.gtceu.phyllite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.phyllite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.phyllite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.phyllite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.phyllite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.phyllite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.phyllite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.phyllite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.phyllite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.phyllite_coal_ore.prospected": "Coal",
+ "block.gtceu.phyllite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.phyllite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.phyllite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.phyllite_copper_ore.prospected": "Copper",
+ "block.gtceu.phyllite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.phyllite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.phyllite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.phyllite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.phyllite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.phyllite_galena_ore.prospected": "Galena",
+ "block.gtceu.phyllite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.phyllite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.phyllite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.phyllite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.phyllite_gold_ore.prospected": "Gold",
+ "block.gtceu.phyllite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.phyllite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.phyllite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.phyllite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.phyllite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.phyllite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.phyllite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.phyllite_iron_ore.prospected": "Iron",
+ "block.gtceu.phyllite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.phyllite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.phyllite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.phyllite_lead_ore.prospected": "Lead",
+ "block.gtceu.phyllite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.phyllite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.phyllite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.phyllite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.phyllite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.phyllite_mica_ore.prospected": "Mica",
+ "block.gtceu.phyllite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.phyllite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.phyllite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.phyllite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.phyllite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.phyllite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.phyllite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.phyllite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.phyllite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.phyllite_opal_ore.prospected": "Opal",
+ "block.gtceu.phyllite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.phyllite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.phyllite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.phyllite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.phyllite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.phyllite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.phyllite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.phyllite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.phyllite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.phyllite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.phyllite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.phyllite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.phyllite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.phyllite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.phyllite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.phyllite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.phyllite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.phyllite_salt_ore.prospected": "Salt",
+ "block.gtceu.phyllite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.phyllite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.phyllite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.phyllite_silver_ore.prospected": "Silver",
+ "block.gtceu.phyllite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.phyllite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.phyllite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.phyllite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.phyllite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.phyllite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.phyllite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.phyllite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.phyllite_talc_ore.prospected": "Talc",
+ "block.gtceu.phyllite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.phyllite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.phyllite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.phyllite_tin_ore.prospected": "Tin",
+ "block.gtceu.phyllite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.phyllite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.phyllite_trona_ore.prospected": "Trona",
+ "block.gtceu.phyllite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.phyllite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.phyllite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.phyllite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.phyllite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.phyllite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.phyllite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.quartzite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.quartzite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.quartzite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.quartzite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.quartzite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.quartzite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.quartzite_barite_ore.prospected": "Barite",
+ "block.gtceu.quartzite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.quartzite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.quartzite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.quartzite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.quartzite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.quartzite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.quartzite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.quartzite_borax_ore.prospected": "Borax",
+ "block.gtceu.quartzite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.quartzite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.quartzite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.quartzite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.quartzite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.quartzite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.quartzite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.quartzite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.quartzite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.quartzite_coal_ore.prospected": "Coal",
+ "block.gtceu.quartzite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.quartzite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.quartzite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.quartzite_copper_ore.prospected": "Copper",
+ "block.gtceu.quartzite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.quartzite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.quartzite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.quartzite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.quartzite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.quartzite_galena_ore.prospected": "Galena",
+ "block.gtceu.quartzite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.quartzite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.quartzite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.quartzite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.quartzite_gold_ore.prospected": "Gold",
+ "block.gtceu.quartzite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.quartzite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.quartzite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.quartzite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.quartzite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.quartzite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.quartzite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.quartzite_iron_ore.prospected": "Iron",
+ "block.gtceu.quartzite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.quartzite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.quartzite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.quartzite_lead_ore.prospected": "Lead",
+ "block.gtceu.quartzite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.quartzite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.quartzite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.quartzite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.quartzite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.quartzite_mica_ore.prospected": "Mica",
+ "block.gtceu.quartzite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.quartzite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.quartzite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.quartzite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.quartzite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.quartzite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.quartzite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.quartzite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.quartzite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.quartzite_opal_ore.prospected": "Opal",
+ "block.gtceu.quartzite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.quartzite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.quartzite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.quartzite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.quartzite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.quartzite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.quartzite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.quartzite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.quartzite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.quartzite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.quartzite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.quartzite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.quartzite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.quartzite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.quartzite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.quartzite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.quartzite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.quartzite_salt_ore.prospected": "Salt",
+ "block.gtceu.quartzite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.quartzite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.quartzite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.quartzite_silver_ore.prospected": "Silver",
+ "block.gtceu.quartzite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.quartzite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.quartzite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.quartzite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.quartzite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.quartzite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.quartzite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.quartzite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.quartzite_talc_ore.prospected": "Talc",
+ "block.gtceu.quartzite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.quartzite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.quartzite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.quartzite_tin_ore.prospected": "Tin",
+ "block.gtceu.quartzite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.quartzite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.quartzite_trona_ore.prospected": "Trona",
+ "block.gtceu.quartzite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.quartzite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.quartzite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.quartzite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.quartzite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.quartzite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.quartzite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.rhyolite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.rhyolite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.rhyolite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.rhyolite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.rhyolite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.rhyolite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.rhyolite_barite_ore.prospected": "Barite",
+ "block.gtceu.rhyolite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.rhyolite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.rhyolite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.rhyolite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.rhyolite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.rhyolite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.rhyolite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.rhyolite_borax_ore.prospected": "Borax",
+ "block.gtceu.rhyolite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.rhyolite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.rhyolite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.rhyolite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.rhyolite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.rhyolite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.rhyolite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.rhyolite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.rhyolite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.rhyolite_coal_ore.prospected": "Coal",
+ "block.gtceu.rhyolite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.rhyolite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.rhyolite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.rhyolite_copper_ore.prospected": "Copper",
+ "block.gtceu.rhyolite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.rhyolite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.rhyolite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.rhyolite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.rhyolite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.rhyolite_galena_ore.prospected": "Galena",
+ "block.gtceu.rhyolite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.rhyolite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.rhyolite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.rhyolite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.rhyolite_gold_ore.prospected": "Gold",
+ "block.gtceu.rhyolite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.rhyolite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.rhyolite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.rhyolite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.rhyolite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.rhyolite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.rhyolite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.rhyolite_iron_ore.prospected": "Iron",
+ "block.gtceu.rhyolite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.rhyolite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.rhyolite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.rhyolite_lead_ore.prospected": "Lead",
+ "block.gtceu.rhyolite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.rhyolite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.rhyolite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.rhyolite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.rhyolite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.rhyolite_mica_ore.prospected": "Mica",
+ "block.gtceu.rhyolite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.rhyolite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.rhyolite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.rhyolite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.rhyolite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.rhyolite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.rhyolite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.rhyolite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.rhyolite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.rhyolite_opal_ore.prospected": "Opal",
+ "block.gtceu.rhyolite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.rhyolite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.rhyolite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.rhyolite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.rhyolite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.rhyolite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.rhyolite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.rhyolite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.rhyolite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.rhyolite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.rhyolite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.rhyolite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.rhyolite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.rhyolite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.rhyolite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.rhyolite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.rhyolite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.rhyolite_salt_ore.prospected": "Salt",
+ "block.gtceu.rhyolite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.rhyolite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.rhyolite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.rhyolite_silver_ore.prospected": "Silver",
+ "block.gtceu.rhyolite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.rhyolite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.rhyolite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.rhyolite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.rhyolite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.rhyolite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.rhyolite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.rhyolite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.rhyolite_talc_ore.prospected": "Talc",
+ "block.gtceu.rhyolite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.rhyolite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.rhyolite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.rhyolite_tin_ore.prospected": "Tin",
+ "block.gtceu.rhyolite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.rhyolite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.rhyolite_trona_ore.prospected": "Trona",
+ "block.gtceu.rhyolite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.rhyolite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.rhyolite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.rhyolite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.rhyolite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.rhyolite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.rhyolite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.schist_almandine_ore.prospected": "Almandine",
+ "block.gtceu.schist_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.schist_alunite_ore.prospected": "Alunite",
+ "block.gtceu.schist_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.schist_apatite_ore.prospected": "Apatite",
+ "block.gtceu.schist_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.schist_barite_ore.prospected": "Barite",
+ "block.gtceu.schist_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.schist_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.schist_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.schist_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.schist_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.schist_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.schist_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.schist_borax_ore.prospected": "Borax",
+ "block.gtceu.schist_bornite_ore.prospected": "Bornite",
+ "block.gtceu.schist_calcite_ore.prospected": "Calcite",
+ "block.gtceu.schist_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.schist_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.schist_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.schist_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.schist_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.schist_chromite_ore.prospected": "Chromite",
+ "block.gtceu.schist_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.schist_coal_ore.prospected": "Coal",
+ "block.gtceu.schist_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.schist_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.schist_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.schist_copper_ore.prospected": "Copper",
+ "block.gtceu.schist_diamond_ore.prospected": "Diamond",
+ "block.gtceu.schist_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.schist_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.schist_emerald_ore.prospected": "Emerald",
+ "block.gtceu.schist_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.schist_galena_ore.prospected": "Galena",
+ "block.gtceu.schist_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.schist_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.schist_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.schist_goethite_ore.prospected": "Goethite",
+ "block.gtceu.schist_gold_ore.prospected": "Gold",
+ "block.gtceu.schist_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.schist_graphite_ore.prospected": "Graphite",
+ "block.gtceu.schist_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.schist_grossular_ore.prospected": "Grossular",
+ "block.gtceu.schist_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.schist_hematite_ore.prospected": "Hematite",
+ "block.gtceu.schist_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.schist_iron_ore.prospected": "Iron",
+ "block.gtceu.schist_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.schist_lapis_ore.prospected": "Lapis",
+ "block.gtceu.schist_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.schist_lead_ore.prospected": "Lead",
+ "block.gtceu.schist_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.schist_lithium_ore.prospected": "Lithium",
+ "block.gtceu.schist_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.schist_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.schist_malachite_ore.prospected": "Malachite",
+ "block.gtceu.schist_mica_ore.prospected": "Mica",
+ "block.gtceu.schist_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.schist_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.schist_monazite_ore.prospected": "Monazite",
+ "block.gtceu.schist_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.schist_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.schist_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.schist_nickel_ore.prospected": "Nickel",
+ "block.gtceu.schist_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.schist_olivine_ore.prospected": "Olivine",
+ "block.gtceu.schist_opal_ore.prospected": "Opal",
+ "block.gtceu.schist_palladium_ore.prospected": "Palladium",
+ "block.gtceu.schist_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.schist_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.schist_platinum_ore.prospected": "Platinum",
+ "block.gtceu.schist_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.schist_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.schist_powellite_ore.prospected": "Powellite",
+ "block.gtceu.schist_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.schist_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.schist_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.schist_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.schist_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.schist_realgar_ore.prospected": "Realgar",
+ "block.gtceu.schist_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.schist_redstone_ore.prospected": "Redstone",
+ "block.gtceu.schist_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.schist_ruby_ore.prospected": "Ruby",
+ "block.gtceu.schist_salt_ore.prospected": "Salt",
+ "block.gtceu.schist_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.schist_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.schist_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.schist_silver_ore.prospected": "Silver",
+ "block.gtceu.schist_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.schist_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.schist_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.schist_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.schist_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.schist_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.schist_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.schist_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.schist_talc_ore.prospected": "Talc",
+ "block.gtceu.schist_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.schist_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.schist_thorium_ore.prospected": "Thorium",
+ "block.gtceu.schist_tin_ore.prospected": "Tin",
+ "block.gtceu.schist_topaz_ore.prospected": "Topaz",
+ "block.gtceu.schist_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.schist_trona_ore.prospected": "Trona",
+ "block.gtceu.schist_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.schist_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.schist_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.schist_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.schist_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.schist_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.schist_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.shale_almandine_ore.prospected": "Almandine",
+ "block.gtceu.shale_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.shale_alunite_ore.prospected": "Alunite",
+ "block.gtceu.shale_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.shale_apatite_ore.prospected": "Apatite",
+ "block.gtceu.shale_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.shale_barite_ore.prospected": "Barite",
+ "block.gtceu.shale_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.shale_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.shale_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.shale_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.shale_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.shale_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.shale_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.shale_borax_ore.prospected": "Borax",
+ "block.gtceu.shale_bornite_ore.prospected": "Bornite",
+ "block.gtceu.shale_calcite_ore.prospected": "Calcite",
+ "block.gtceu.shale_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.shale_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.shale_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.shale_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.shale_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.shale_chromite_ore.prospected": "Chromite",
+ "block.gtceu.shale_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.shale_coal_ore.prospected": "Coal",
+ "block.gtceu.shale_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.shale_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.shale_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.shale_copper_ore.prospected": "Copper",
+ "block.gtceu.shale_diamond_ore.prospected": "Diamond",
+ "block.gtceu.shale_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.shale_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.shale_emerald_ore.prospected": "Emerald",
+ "block.gtceu.shale_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.shale_galena_ore.prospected": "Galena",
+ "block.gtceu.shale_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.shale_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.shale_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.shale_goethite_ore.prospected": "Goethite",
+ "block.gtceu.shale_gold_ore.prospected": "Gold",
+ "block.gtceu.shale_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.shale_graphite_ore.prospected": "Graphite",
+ "block.gtceu.shale_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.shale_grossular_ore.prospected": "Grossular",
+ "block.gtceu.shale_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.shale_hematite_ore.prospected": "Hematite",
+ "block.gtceu.shale_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.shale_iron_ore.prospected": "Iron",
+ "block.gtceu.shale_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.shale_lapis_ore.prospected": "Lapis",
+ "block.gtceu.shale_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.shale_lead_ore.prospected": "Lead",
+ "block.gtceu.shale_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.shale_lithium_ore.prospected": "Lithium",
+ "block.gtceu.shale_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.shale_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.shale_malachite_ore.prospected": "Malachite",
+ "block.gtceu.shale_mica_ore.prospected": "Mica",
+ "block.gtceu.shale_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.shale_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.shale_monazite_ore.prospected": "Monazite",
+ "block.gtceu.shale_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.shale_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.shale_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.shale_nickel_ore.prospected": "Nickel",
+ "block.gtceu.shale_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.shale_olivine_ore.prospected": "Olivine",
+ "block.gtceu.shale_opal_ore.prospected": "Opal",
+ "block.gtceu.shale_palladium_ore.prospected": "Palladium",
+ "block.gtceu.shale_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.shale_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.shale_platinum_ore.prospected": "Platinum",
+ "block.gtceu.shale_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.shale_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.shale_powellite_ore.prospected": "Powellite",
+ "block.gtceu.shale_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.shale_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.shale_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.shale_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.shale_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.shale_realgar_ore.prospected": "Realgar",
+ "block.gtceu.shale_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.shale_redstone_ore.prospected": "Redstone",
+ "block.gtceu.shale_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.shale_ruby_ore.prospected": "Ruby",
+ "block.gtceu.shale_salt_ore.prospected": "Salt",
+ "block.gtceu.shale_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.shale_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.shale_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.shale_silver_ore.prospected": "Silver",
+ "block.gtceu.shale_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.shale_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.shale_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.shale_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.shale_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.shale_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.shale_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.shale_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.shale_talc_ore.prospected": "Talc",
+ "block.gtceu.shale_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.shale_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.shale_thorium_ore.prospected": "Thorium",
+ "block.gtceu.shale_tin_ore.prospected": "Tin",
+ "block.gtceu.shale_topaz_ore.prospected": "Topaz",
+ "block.gtceu.shale_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.shale_trona_ore.prospected": "Trona",
+ "block.gtceu.shale_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.shale_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.shale_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.shale_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.shale_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.shale_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.shale_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.slate_almandine_ore.prospected": "Almandine",
+ "block.gtceu.slate_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.slate_alunite_ore.prospected": "Alunite",
+ "block.gtceu.slate_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.slate_apatite_ore.prospected": "Apatite",
+ "block.gtceu.slate_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.slate_barite_ore.prospected": "Barite",
+ "block.gtceu.slate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.slate_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.slate_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.slate_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.slate_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.slate_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.slate_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.slate_borax_ore.prospected": "Borax",
+ "block.gtceu.slate_bornite_ore.prospected": "Bornite",
+ "block.gtceu.slate_calcite_ore.prospected": "Calcite",
+ "block.gtceu.slate_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.slate_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.slate_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.slate_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.slate_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.slate_chromite_ore.prospected": "Chromite",
+ "block.gtceu.slate_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.slate_coal_ore.prospected": "Coal",
+ "block.gtceu.slate_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.slate_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.slate_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.slate_copper_ore.prospected": "Copper",
+ "block.gtceu.slate_diamond_ore.prospected": "Diamond",
+ "block.gtceu.slate_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.slate_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.slate_emerald_ore.prospected": "Emerald",
+ "block.gtceu.slate_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.slate_galena_ore.prospected": "Galena",
+ "block.gtceu.slate_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.slate_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.slate_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.slate_goethite_ore.prospected": "Goethite",
+ "block.gtceu.slate_gold_ore.prospected": "Gold",
+ "block.gtceu.slate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.slate_graphite_ore.prospected": "Graphite",
+ "block.gtceu.slate_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.slate_grossular_ore.prospected": "Grossular",
+ "block.gtceu.slate_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.slate_hematite_ore.prospected": "Hematite",
+ "block.gtceu.slate_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.slate_iron_ore.prospected": "Iron",
+ "block.gtceu.slate_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.slate_lapis_ore.prospected": "Lapis",
+ "block.gtceu.slate_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.slate_lead_ore.prospected": "Lead",
+ "block.gtceu.slate_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.slate_lithium_ore.prospected": "Lithium",
+ "block.gtceu.slate_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.slate_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.slate_malachite_ore.prospected": "Malachite",
+ "block.gtceu.slate_mica_ore.prospected": "Mica",
+ "block.gtceu.slate_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.slate_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.slate_monazite_ore.prospected": "Monazite",
+ "block.gtceu.slate_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.slate_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.slate_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.slate_nickel_ore.prospected": "Nickel",
+ "block.gtceu.slate_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.slate_olivine_ore.prospected": "Olivine",
+ "block.gtceu.slate_opal_ore.prospected": "Opal",
+ "block.gtceu.slate_palladium_ore.prospected": "Palladium",
+ "block.gtceu.slate_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.slate_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.slate_platinum_ore.prospected": "Platinum",
+ "block.gtceu.slate_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.slate_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.slate_powellite_ore.prospected": "Powellite",
+ "block.gtceu.slate_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.slate_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.slate_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.slate_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.slate_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.slate_realgar_ore.prospected": "Realgar",
+ "block.gtceu.slate_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.slate_redstone_ore.prospected": "Redstone",
+ "block.gtceu.slate_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.slate_ruby_ore.prospected": "Ruby",
+ "block.gtceu.slate_salt_ore.prospected": "Salt",
+ "block.gtceu.slate_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.slate_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.slate_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.slate_silver_ore.prospected": "Silver",
+ "block.gtceu.slate_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.slate_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.slate_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.slate_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.slate_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.slate_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.slate_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.slate_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.slate_talc_ore.prospected": "Talc",
+ "block.gtceu.slate_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.slate_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.slate_thorium_ore.prospected": "Thorium",
+ "block.gtceu.slate_tin_ore.prospected": "Tin",
+ "block.gtceu.slate_topaz_ore.prospected": "Topaz",
+ "block.gtceu.slate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.slate_trona_ore.prospected": "Trona",
+ "block.gtceu.slate_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.slate_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.slate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.slate_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.slate_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.slate_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.slate_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.deepslate_almandine_ore.prospected": "Almandine",
+ "block.gtceu.deepslate_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.deepslate_alunite_ore.prospected": "Alunite",
+ "block.gtceu.deepslate_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.deepslate_apatite_ore.prospected": "Apatite",
+ "block.gtceu.deepslate_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.deepslate_barite_ore.prospected": "Barite",
+ "block.gtceu.deepslate_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.deepslate_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.deepslate_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.deepslate_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.deepslate_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.deepslate_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.deepslate_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.deepslate_borax_ore.prospected": "Borax",
+ "block.gtceu.deepslate_bornite_ore.prospected": "Bornite",
+ "block.gtceu.deepslate_calcite_ore.prospected": "Calcite",
+ "block.gtceu.deepslate_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.deepslate_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.deepslate_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.deepslate_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.deepslate_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.deepslate_chromite_ore.prospected": "Chromite",
+ "block.gtceu.deepslate_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.deepslate_coal_ore.prospected": "Coal",
+ "block.gtceu.deepslate_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.deepslate_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.deepslate_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.deepslate_copper_ore.prospected": "Copper",
+ "block.gtceu.deepslate_diamond_ore.prospected": "Diamond",
+ "block.gtceu.deepslate_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.deepslate_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.deepslate_emerald_ore.prospected": "Emerald",
+ "block.gtceu.deepslate_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.deepslate_galena_ore.prospected": "Galena",
+ "block.gtceu.deepslate_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.deepslate_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.deepslate_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.deepslate_goethite_ore.prospected": "Goethite",
+ "block.gtceu.deepslate_gold_ore.prospected": "Gold",
+ "block.gtceu.deepslate_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.deepslate_graphite_ore.prospected": "Graphite",
+ "block.gtceu.deepslate_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.deepslate_grossular_ore.prospected": "Grossular",
+ "block.gtceu.deepslate_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.deepslate_hematite_ore.prospected": "Hematite",
+ "block.gtceu.deepslate_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.deepslate_iron_ore.prospected": "Iron",
+ "block.gtceu.deepslate_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.deepslate_lapis_ore.prospected": "Lapis",
+ "block.gtceu.deepslate_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.deepslate_lead_ore.prospected": "Lead",
+ "block.gtceu.deepslate_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.deepslate_lithium_ore.prospected": "Lithium",
+ "block.gtceu.deepslate_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.deepslate_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.deepslate_malachite_ore.prospected": "Malachite",
+ "block.gtceu.deepslate_mica_ore.prospected": "Mica",
+ "block.gtceu.deepslate_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.deepslate_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.deepslate_monazite_ore.prospected": "Monazite",
+ "block.gtceu.deepslate_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.deepslate_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.deepslate_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.deepslate_nickel_ore.prospected": "Nickel",
+ "block.gtceu.deepslate_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.deepslate_olivine_ore.prospected": "Olivine",
+ "block.gtceu.deepslate_opal_ore.prospected": "Opal",
+ "block.gtceu.deepslate_palladium_ore.prospected": "Palladium",
+ "block.gtceu.deepslate_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.deepslate_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.deepslate_platinum_ore.prospected": "Platinum",
+ "block.gtceu.deepslate_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.deepslate_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.deepslate_powellite_ore.prospected": "Powellite",
+ "block.gtceu.deepslate_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.deepslate_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.deepslate_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.deepslate_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.deepslate_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.deepslate_realgar_ore.prospected": "Realgar",
+ "block.gtceu.deepslate_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.deepslate_redstone_ore.prospected": "Redstone",
+ "block.gtceu.deepslate_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.deepslate_ruby_ore.prospected": "Ruby",
+ "block.gtceu.deepslate_salt_ore.prospected": "Salt",
+ "block.gtceu.deepslate_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.deepslate_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.deepslate_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.deepslate_silver_ore.prospected": "Silver",
+ "block.gtceu.deepslate_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.deepslate_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.deepslate_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.deepslate_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.deepslate_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.deepslate_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.deepslate_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.deepslate_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.deepslate_talc_ore.prospected": "Talc",
+ "block.gtceu.deepslate_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.deepslate_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.deepslate_thorium_ore.prospected": "Thorium",
+ "block.gtceu.deepslate_tin_ore.prospected": "Tin",
+ "block.gtceu.deepslate_topaz_ore.prospected": "Topaz",
+ "block.gtceu.deepslate_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.deepslate_trona_ore.prospected": "Trona",
+ "block.gtceu.deepslate_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.deepslate_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.deepslate_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.deepslate_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.deepslate_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.deepslate_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.deepslate_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.pyroxenite_almandine_ore.prospected": "Almandine",
+ "block.gtceu.pyroxenite_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.pyroxenite_alunite_ore.prospected": "Alunite",
+ "block.gtceu.pyroxenite_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.pyroxenite_apatite_ore.prospected": "Apatite",
+ "block.gtceu.pyroxenite_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.pyroxenite_barite_ore.prospected": "Barite",
+ "block.gtceu.pyroxenite_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.pyroxenite_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.pyroxenite_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.pyroxenite_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.pyroxenite_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.pyroxenite_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.pyroxenite_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.pyroxenite_borax_ore.prospected": "Borax",
+ "block.gtceu.pyroxenite_bornite_ore.prospected": "Bornite",
+ "block.gtceu.pyroxenite_calcite_ore.prospected": "Calcite",
+ "block.gtceu.pyroxenite_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.pyroxenite_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.pyroxenite_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.pyroxenite_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.pyroxenite_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.pyroxenite_chromite_ore.prospected": "Chromite",
+ "block.gtceu.pyroxenite_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.pyroxenite_coal_ore.prospected": "Coal",
+ "block.gtceu.pyroxenite_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.pyroxenite_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.pyroxenite_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.pyroxenite_copper_ore.prospected": "Copper",
+ "block.gtceu.pyroxenite_diamond_ore.prospected": "Diamond",
+ "block.gtceu.pyroxenite_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.pyroxenite_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.pyroxenite_emerald_ore.prospected": "Emerald",
+ "block.gtceu.pyroxenite_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.pyroxenite_galena_ore.prospected": "Galena",
+ "block.gtceu.pyroxenite_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.pyroxenite_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.pyroxenite_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.pyroxenite_goethite_ore.prospected": "Goethite",
+ "block.gtceu.pyroxenite_gold_ore.prospected": "Gold",
+ "block.gtceu.pyroxenite_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.pyroxenite_graphite_ore.prospected": "Graphite",
+ "block.gtceu.pyroxenite_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.pyroxenite_grossular_ore.prospected": "Grossular",
+ "block.gtceu.pyroxenite_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.pyroxenite_hematite_ore.prospected": "Hematite",
+ "block.gtceu.pyroxenite_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.pyroxenite_iron_ore.prospected": "Iron",
+ "block.gtceu.pyroxenite_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.pyroxenite_lapis_ore.prospected": "Lapis",
+ "block.gtceu.pyroxenite_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.pyroxenite_lead_ore.prospected": "Lead",
+ "block.gtceu.pyroxenite_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.pyroxenite_lithium_ore.prospected": "Lithium",
+ "block.gtceu.pyroxenite_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.pyroxenite_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.pyroxenite_malachite_ore.prospected": "Malachite",
+ "block.gtceu.pyroxenite_mica_ore.prospected": "Mica",
+ "block.gtceu.pyroxenite_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.pyroxenite_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.pyroxenite_monazite_ore.prospected": "Monazite",
+ "block.gtceu.pyroxenite_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.pyroxenite_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.pyroxenite_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.pyroxenite_nickel_ore.prospected": "Nickel",
+ "block.gtceu.pyroxenite_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.pyroxenite_olivine_ore.prospected": "Olivine",
+ "block.gtceu.pyroxenite_opal_ore.prospected": "Opal",
+ "block.gtceu.pyroxenite_palladium_ore.prospected": "Palladium",
+ "block.gtceu.pyroxenite_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.pyroxenite_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.pyroxenite_platinum_ore.prospected": "Platinum",
+ "block.gtceu.pyroxenite_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.pyroxenite_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.pyroxenite_powellite_ore.prospected": "Powellite",
+ "block.gtceu.pyroxenite_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.pyroxenite_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.pyroxenite_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.pyroxenite_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.pyroxenite_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.pyroxenite_realgar_ore.prospected": "Realgar",
+ "block.gtceu.pyroxenite_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.pyroxenite_redstone_ore.prospected": "Redstone",
+ "block.gtceu.pyroxenite_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.pyroxenite_ruby_ore.prospected": "Ruby",
+ "block.gtceu.pyroxenite_salt_ore.prospected": "Salt",
+ "block.gtceu.pyroxenite_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.pyroxenite_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.pyroxenite_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.pyroxenite_silver_ore.prospected": "Silver",
+ "block.gtceu.pyroxenite_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.pyroxenite_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.pyroxenite_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.pyroxenite_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.pyroxenite_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.pyroxenite_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.pyroxenite_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.pyroxenite_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.pyroxenite_talc_ore.prospected": "Talc",
+ "block.gtceu.pyroxenite_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.pyroxenite_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.pyroxenite_thorium_ore.prospected": "Thorium",
+ "block.gtceu.pyroxenite_tin_ore.prospected": "Tin",
+ "block.gtceu.pyroxenite_topaz_ore.prospected": "Topaz",
+ "block.gtceu.pyroxenite_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.pyroxenite_trona_ore.prospected": "Trona",
+ "block.gtceu.pyroxenite_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.pyroxenite_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.pyroxenite_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.pyroxenite_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.pyroxenite_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.pyroxenite_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.pyroxenite_zeolite_ore.prospected": "Zeolite",
+ "block.gtceu.dripstone_almandine_ore.prospected": "Almandine",
+ "block.gtceu.dripstone_aluminium_ore.prospected": "Aluminium",
+ "block.gtceu.dripstone_alunite_ore.prospected": "Alunite",
+ "block.gtceu.dripstone_amethyst_ore.prospected": "Amethyst",
+ "block.gtceu.dripstone_apatite_ore.prospected": "Apatite",
+ "block.gtceu.dripstone_asbestos_ore.prospected": "Asbestos",
+ "block.gtceu.dripstone_barite_ore.prospected": "Barite",
+ "block.gtceu.dripstone_basaltic_mineral_sand_ore.prospected": "Basaltic Mineral Sand",
+ "block.gtceu.dripstone_bastnasite_ore.prospected": "Bastnasite",
+ "block.gtceu.dripstone_bauxite_ore.prospected": "Bauxite",
+ "block.gtceu.dripstone_bentonite_ore.prospected": "Bentonite",
+ "block.gtceu.dripstone_beryllium_ore.prospected": "Beryllium",
+ "block.gtceu.dripstone_bismuth_ore.prospected": "Bismuth",
+ "block.gtceu.dripstone_blue_topaz_ore.prospected": "Blue Topaz",
+ "block.gtceu.dripstone_borax_ore.prospected": "Borax",
+ "block.gtceu.dripstone_bornite_ore.prospected": "Bornite",
+ "block.gtceu.dripstone_calcite_ore.prospected": "Calcite",
+ "block.gtceu.dripstone_cassiterite_ore.prospected": "Cassiterite",
+ "block.gtceu.dripstone_cassiterite_sand_ore.prospected": "Cassiterite Sand",
+ "block.gtceu.dripstone_certus_quartz_ore.prospected": "Certus Quartz",
+ "block.gtceu.dripstone_chalcocite_ore.prospected": "Chalcocite",
+ "block.gtceu.dripstone_chalcopyrite_ore.prospected": "Chalcopyrite",
+ "block.gtceu.dripstone_chromite_ore.prospected": "Chromite",
+ "block.gtceu.dripstone_cinnabar_ore.prospected": "Cinnabar",
+ "block.gtceu.dripstone_coal_ore.prospected": "Coal",
+ "block.gtceu.dripstone_cobalt_ore.prospected": "Cobalt",
+ "block.gtceu.dripstone_cobaltite_ore.prospected": "Cobaltite",
+ "block.gtceu.dripstone_cooperite_ore.prospected": "Cooperite",
+ "block.gtceu.dripstone_copper_ore.prospected": "Copper",
+ "block.gtceu.dripstone_diamond_ore.prospected": "Diamond",
+ "block.gtceu.dripstone_diatomite_ore.prospected": "Diatomite",
+ "block.gtceu.dripstone_electrotine_ore.prospected": "Electrotine",
+ "block.gtceu.dripstone_emerald_ore.prospected": "Emerald",
+ "block.gtceu.dripstone_fullers_earth_ore.prospected": "Fullers Earth",
+ "block.gtceu.dripstone_galena_ore.prospected": "Galena",
+ "block.gtceu.dripstone_garnet_sand_ore.prospected": "Garnet Sand",
+ "block.gtceu.dripstone_garnierite_ore.prospected": "Garnierite",
+ "block.gtceu.dripstone_glauconite_sand_ore.prospected": "Glauconite Sand",
+ "block.gtceu.dripstone_goethite_ore.prospected": "Goethite",
+ "block.gtceu.dripstone_gold_ore.prospected": "Gold",
+ "block.gtceu.dripstone_granitic_mineral_sand_ore.prospected": "Granitic Mineral Sand",
+ "block.gtceu.dripstone_graphite_ore.prospected": "Graphite",
+ "block.gtceu.dripstone_green_sapphire_ore.prospected": "Green Sapphire",
+ "block.gtceu.dripstone_grossular_ore.prospected": "Grossular",
+ "block.gtceu.dripstone_gypsum_ore.prospected": "Gypsum",
+ "block.gtceu.dripstone_hematite_ore.prospected": "Hematite",
+ "block.gtceu.dripstone_ilmenite_ore.prospected": "Ilmenite",
+ "block.gtceu.dripstone_iron_ore.prospected": "Iron",
+ "block.gtceu.dripstone_kyanite_ore.prospected": "Kyanite",
+ "block.gtceu.dripstone_lapis_ore.prospected": "Lapis",
+ "block.gtceu.dripstone_lazurite_ore.prospected": "Lazurite",
+ "block.gtceu.dripstone_lead_ore.prospected": "Lead",
+ "block.gtceu.dripstone_lepidolite_ore.prospected": "Lepidolite",
+ "block.gtceu.dripstone_lithium_ore.prospected": "Lithium",
+ "block.gtceu.dripstone_magnesite_ore.prospected": "Magnesite",
+ "block.gtceu.dripstone_magnetite_ore.prospected": "Magnetite",
+ "block.gtceu.dripstone_malachite_ore.prospected": "Malachite",
+ "block.gtceu.dripstone_mica_ore.prospected": "Mica",
+ "block.gtceu.dripstone_molybdenite_ore.prospected": "Molybdenite",
+ "block.gtceu.dripstone_molybdenum_ore.prospected": "Molybdenum",
+ "block.gtceu.dripstone_monazite_ore.prospected": "Monazite",
+ "block.gtceu.dripstone_naquadah_ore.prospected": "Naquadah",
+ "block.gtceu.dripstone_neodymium_ore.prospected": "Neodymium",
+ "block.gtceu.dripstone_nether_quartz_ore.prospected": "Nether Quartz",
+ "block.gtceu.dripstone_nickel_ore.prospected": "Nickel",
+ "block.gtceu.dripstone_oilsands_ore.prospected": "Oilsands",
+ "block.gtceu.dripstone_olivine_ore.prospected": "Olivine",
+ "block.gtceu.dripstone_opal_ore.prospected": "Opal",
+ "block.gtceu.dripstone_palladium_ore.prospected": "Palladium",
+ "block.gtceu.dripstone_pentlandite_ore.prospected": "Pentlandite",
+ "block.gtceu.dripstone_pitchblende_ore.prospected": "Pitchblende",
+ "block.gtceu.dripstone_platinum_ore.prospected": "Platinum",
+ "block.gtceu.dripstone_plutonium_ore.prospected": "Plutonium",
+ "block.gtceu.dripstone_pollucite_ore.prospected": "Pollucite",
+ "block.gtceu.dripstone_powellite_ore.prospected": "Powellite",
+ "block.gtceu.dripstone_pyrite_ore.prospected": "Pyrite",
+ "block.gtceu.dripstone_pyrochlore_ore.prospected": "Pyrochlore",
+ "block.gtceu.dripstone_pyrolusite_ore.prospected": "Pyrolusite",
+ "block.gtceu.dripstone_pyrope_ore.prospected": "Pyrope",
+ "block.gtceu.dripstone_quartzite_ore.prospected": "Quartzite",
+ "block.gtceu.dripstone_realgar_ore.prospected": "Realgar",
+ "block.gtceu.dripstone_red_garnet_ore.prospected": "Red Garnet",
+ "block.gtceu.dripstone_redstone_ore.prospected": "Redstone",
+ "block.gtceu.dripstone_rock_salt_ore.prospected": "Rock Salt",
+ "block.gtceu.dripstone_ruby_ore.prospected": "Ruby",
+ "block.gtceu.dripstone_salt_ore.prospected": "Salt",
+ "block.gtceu.dripstone_saltpeter_ore.prospected": "Saltpeter",
+ "block.gtceu.dripstone_sapphire_ore.prospected": "Sapphire",
+ "block.gtceu.dripstone_scheelite_ore.prospected": "Scheelite",
+ "block.gtceu.dripstone_silver_ore.prospected": "Silver",
+ "block.gtceu.dripstone_soapstone_ore.prospected": "Soapstone",
+ "block.gtceu.dripstone_sodalite_ore.prospected": "Sodalite",
+ "block.gtceu.dripstone_spessartine_ore.prospected": "Spessartine",
+ "block.gtceu.dripstone_sphalerite_ore.prospected": "Sphalerite",
+ "block.gtceu.dripstone_spodumene_ore.prospected": "Spodumene",
+ "block.gtceu.dripstone_stibnite_ore.prospected": "Stibnite",
+ "block.gtceu.dripstone_sulfur_ore.prospected": "Sulfur",
+ "block.gtceu.dripstone_sylvite_ore.prospected": "Sylvite",
+ "block.gtceu.dripstone_talc_ore.prospected": "Talc",
+ "block.gtceu.dripstone_tantalite_ore.prospected": "Tantalite",
+ "block.gtceu.dripstone_tetrahedrite_ore.prospected": "Tetrahedrite",
+ "block.gtceu.dripstone_thorium_ore.prospected": "Thorium",
+ "block.gtceu.dripstone_tin_ore.prospected": "Tin",
+ "block.gtceu.dripstone_topaz_ore.prospected": "Topaz",
+ "block.gtceu.dripstone_tricalcium_phosphate_ore.prospected": "Tricalcium Phosphate",
+ "block.gtceu.dripstone_trona_ore.prospected": "Trona",
+ "block.gtceu.dripstone_tungstate_ore.prospected": "Tungstate",
+ "block.gtceu.dripstone_uraninite_ore.prospected": "Uraninite",
+ "block.gtceu.dripstone_vanadium_magnetite_ore.prospected": "Vanadium Magnetite",
+ "block.gtceu.dripstone_wulfenite_ore.prospected": "Wulfenite",
+ "block.gtceu.dripstone_yellow_garnet_ore.prospected": "Yellow Garnet",
+ "block.gtceu.dripstone_yellow_limonite_ore.prospected": "Yellow Limonite",
+ "block.gtceu.dripstone_zeolite_ore.prospected": "Zeolite",
+ "fluid.tfc.salt_water": "Sea Water",
+ "item.tfc.bucket.salt_water": "Sea Water Bucket",
+ "item.tfc.powder.saltpeter": "Saltpeter Powder",
+ "item.tfc.powder.sulfur": "Sulfur Powder",
+ "tfc.jei.raw_hide_knapping": "Raw Hide Knapping",
+ "metal.tfg.redstone": "Redstone",
+ "metal.tfg.red_alloy": "Red Alloy",
+ "metal.tfg.tin_alloy": "Tin Alloy",
+ "metal.tfg.lead": "Lead",
+ "metal.tfg.invar": "Invar",
+ "trim_material.tfc.almandine_tfc": "Almandine",
+ "trim_material.tfc.andradite_tfc": "Andradite",
+ "trim_material.tfc.blue_topaz_tfc": "Blue Topaz",
+ "trim_material.tfc.cinnabar_tfc": "Cinnabar",
+ "trim_material.tfc.coal_tfc": "Coal",
+ "trim_material.tfc.diamond_tfc": "Diamond",
+ "trim_material.tfc.emerald_tfc": "Emerald",
+ "trim_material.tfc.green_sapphire_tfc": "Green Sapphire",
+ "trim_material.tfc.grossular_tfc": "Grossular",
+ "trim_material.tfc.rutile_tfc": "Rutile",
+ "trim_material.tfc.lazurite_tfc": "Lazurite",
+ "trim_material.tfc.pyrope_tfc": "Pyrope",
+ "trim_material.tfc.rock_salt_tfc": "Rock Salt",
+ "trim_material.tfc.ruby_tfc": "Ruby",
+ "trim_material.tfc.salt_tfc": "salt",
+ "trim_material.tfc.sapphire_tfc": "Sapphire",
+ "trim_material.tfc.sodalite_tfc": "Sodalite",
+ "trim_material.tfc.coke_tfc": "Coke",
+ "trim_material.tfc.spessartine_tfc": "Spessartine",
+ "trim_material.tfc.topaz_tfc": "Topaz",
+ "trim_material.tfc.uvarovite_tfc": "Uvarovite",
+ "trim_material.tfc.nether_quartz_tfc": "Nether Quartz",
+ "trim_material.tfc.certus_quartz_tfc": "Certus Quartz",
+ "trim_material.tfc.quartzite_tfc": "Quartzite",
+ "trim_material.tfc.realgar_tfc": "Realgar",
+ "trim_material.tfc.malachite_tfc": "Malachite",
+ "trim_material.tfc.glass_tfc": "Glass",
+ "trim_material.tfc.olivine_tfc": "Olivine",
+ "trim_material.tfc.opal_tfc": "Opal",
+ "trim_material.tfc.amethyst_tfc": "Amethyst",
+ "trim_material.tfc.lapis_tfc": "Lapis",
+ "trim_material.tfc.apatite_tfc": "Apatite",
+ "trim_material.tfc.red_garnet_tfc": "Red Garnet",
+ "trim_material.tfc.yellow_garnet_tfc": "Yellow Garnet",
+ "trim_material.tfc.monazite_tfc": "Monazite",
+ "trim_material.tfc.rose_quartz_tfc": "Rose Quartz",
+ "trim_material.tfc.fluix_tfc": "Fluix",
+ "trim_material.tfc.silver_tfc": "Silver",
+ "trim_material.tfc.sterling_silver_tfc": "Sterling Silver",
+ "trim_material.tfc.gold_tfc": "Gold",
+ "trim_material.tfc.rose_gold_tfc": "Rose Gold",
+ "trim_material.tfc.nickel_tfc": "Nickel",
+ "trim_material.tfc.platinum_tfc": "Platinum",
+ "trim_material.tfc.titanium_tfc": "Titanium",
+ "trim_material.tfc.bismuth_tfc": "Bismuth",
+ "trim_material.tfc.neutronium_tfc": "Neutronium",
+ "trim_material.tfc.pyrite_tfc": "Pyrite",
+ "trim_material.tfc.redx_tfc": "RedX"
}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/lang/uk_ua.json b/kubejs/assets/tfc/lang/uk_ua.json
index 51f6dfaf2..6c798804f 100644
--- a/kubejs/assets/tfc/lang/uk_ua.json
+++ b/kubejs/assets/tfc/lang/uk_ua.json
@@ -2608,5 +2608,54 @@
"tfc.jei.raw_hide_knapping": "Обробка сирої шкіри",
"metal.tfg.redstone": "Редстоун",
"metal.tfg.red_alloy": "Червоний сплав",
- "metal.tfg.tin_alloy": "Олов'яний сплав"
+ "metal.tfg.tin_alloy": "Олов'яний сплав",
+ "metal.tfg.lead": "Свинець",
+ "trim_material.tfc.almandine_tfc": "Альмандин",
+ "trim_material.tfc.andradite_tfc": "Андрадіт",
+ "trim_material.tfc.blue_topaz_tfc": "Синій Топаз",
+ "trim_material.tfc.cinnabar_tfc": "Кіновар",
+ "trim_material.tfc.coal_tfc": "Вугілля",
+ "trim_material.tfc.diamond_tfc": "Діамант",
+ "trim_material.tfc.emerald_tfc": "Смарагд",
+ "trim_material.tfc.green_sapphire_tfc": "Зелений Сапфір",
+ "trim_material.tfc.grossular_tfc": "Гроссуляр",
+ "trim_material.tfc.rutile_tfc": "Рутил",
+ "trim_material.tfc.lazurite_tfc": "Лазурите",
+ "trim_material.tfc.pyrope_tfc": "Піроп",
+ "trim_material.tfc.rock_salt_tfc": "Кам'яна Сіль",
+ "trim_material.tfc.ruby_tfc": "Рубін",
+ "trim_material.tfc.salt_tfc": "сіль",
+ "trim_material.tfc.sapphire_tfc": "Сапфір",
+ "trim_material.tfc.sodalite_tfc": "Содаліт",
+ "trim_material.tfc.coke_tfc": "Кокс",
+ "trim_material.tfc.spessartine_tfc": "Спесартин",
+ "trim_material.tfc.topaz_tfc": "Топаз",
+ "trim_material.tfc.uvarovite_tfc": "Уваровіт",
+ "trim_material.tfc.nether_quartz_tfc": "Кварц Нижнього Світу",
+ "trim_material.tfc.certus_quartz_tfc": "Істинний кварц",
+ "trim_material.tfc.quartzite_tfc": "Кварцит",
+ "trim_material.tfc.realgar_tfc": "Реальгар",
+ "trim_material.tfc.malachite_tfc": "Малахіт",
+ "trim_material.tfc.glass_tfc": "Скло",
+ "trim_material.tfc.olivine_tfc": "Олівін",
+ "trim_material.tfc.opal_tfc": "Опал",
+ "trim_material.tfc.amethyst_tfc": "Аметист",
+ "trim_material.tfc.lapis_tfc": "Лазурит",
+ "trim_material.tfc.apatite_tfc": "Апатит",
+ "trim_material.tfc.red_garnet_tfc": "Червоний Гранат",
+ "trim_material.tfc.yellow_garnet_tfc": "Жовтий Гранат",
+ "trim_material.tfc.monazite_tfc": "Монацит",
+ "trim_material.tfc.rose_quartz_tfc": "Рожевий кварц",
+ "trim_material.tfc.fluix_tfc": "Флюс",
+ "trim_material.tfc.silver_tfc": "Срібло",
+ "trim_material.tfc.sterling_silver_tfc": "Стерлінське срібло",
+ "trim_material.tfc.gold_tfc": "Золото",
+ "trim_material.tfc.rose_gold_tfc": "Рожеве золото",
+ "trim_material.tfc.nickel_tfc": "Нікель",
+ "trim_material.tfc.platinum_tfc": "Платина",
+ "trim_material.tfc.titanium_tfc": "Титан",
+ "trim_material.tfc.bismuth_tfc": "Вісмут",
+ "trim_material.tfc.neutronium_tfc": "Нейтроній",
+ "trim_material.tfc.pyrite_tfc": "Пірит",
+ "trim_material.tfc.redx_tfc": "RedX"
}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/models/tag/item/compost_browns.json b/kubejs/assets/tfc/models/tag/item/compost_browns.json
new file mode 100644
index 000000000..ff46ef9e2
--- /dev/null
+++ b/kubejs/assets/tfc/models/tag/item/compost_browns.json
@@ -0,0 +1,7 @@
+{
+ "parent": "emi:item/half_item",
+ "textures": {
+ "first": "tfc:item/powder/wood_ash",
+ "second": "tfc:item/jute"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/models/tag/item/compost_browns_high.json b/kubejs/assets/tfc/models/tag/item/compost_browns_high.json
new file mode 100644
index 000000000..3440b355a
--- /dev/null
+++ b/kubejs/assets/tfc/models/tag/item/compost_browns_high.json
@@ -0,0 +1,8 @@
+{
+ "parent": "emi:item/third_item",
+ "textures": {
+ "first": "tfc:item/groundcover/humus",
+ "second": "tfc:item/groundcover/dead_grass",
+ "third": "tfc:item/food/pumpkin"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/models/tag/item/compost_browns_low.json b/kubejs/assets/tfc/models/tag/item/compost_browns_low.json
new file mode 100644
index 000000000..3061c3f8b
--- /dev/null
+++ b/kubejs/assets/tfc/models/tag/item/compost_browns_low.json
@@ -0,0 +1,8 @@
+{
+ "parent": "emi:item/third_item",
+ "textures": {
+ "first": "tfc:block/plant/jungle_vines/vine",
+ "second": "tfc:block/plant/arundo/tip",
+ "third": "tfc:item/groundcover/fallen_leaves"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/models/tag/item/compost_greens.json b/kubejs/assets/tfc/models/tag/item/compost_greens.json
new file mode 100644
index 000000000..16f4c4c44
--- /dev/null
+++ b/kubejs/assets/tfc/models/tag/item/compost_greens.json
@@ -0,0 +1,8 @@
+{
+ "parent": "emi:item/third_item",
+ "textures": {
+ "first": "tfc:item/food/barley_grain",
+ "second": "tfc:item/food/rye_grain",
+ "third": "firmalife:item/food/nightshade_berry"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/models/tag/item/compost_greens_high.json b/kubejs/assets/tfc/models/tag/item/compost_greens_high.json
new file mode 100644
index 000000000..b38502b95
--- /dev/null
+++ b/kubejs/assets/tfc/models/tag/item/compost_greens_high.json
@@ -0,0 +1,8 @@
+{
+ "parent": "emi:item/third_item",
+ "textures": {
+ "first": "tfc:item/food/green_apple",
+ "second": "tfc:item/food/garlic",
+ "third": "tfc:item/food/dried_kelp"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfc/models/tag/item/compost_greens_low.json b/kubejs/assets/tfc/models/tag/item/compost_greens_low.json
new file mode 100644
index 000000000..365b9f83a
--- /dev/null
+++ b/kubejs/assets/tfc/models/tag/item/compost_greens_low.json
@@ -0,0 +1,8 @@
+{
+ "parent": "emi:item/third_item",
+ "textures": {
+ "first": "minecraft:item/kelp",
+ "second": "tfc:item/plant/cattail",
+ "third": "tfc:item/plant/lilac"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/bud_indicator.json b/kubejs/assets/tfg/blockstates/bud_indicator.json
deleted file mode 100644
index 4f0d239f8..000000000
--- a/kubejs/assets/tfg/blockstates/bud_indicator.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- "variants": {
- "": [
- { "model": "tfg:block/bud_indicator" },
- { "model": "tfg:block/bud_indicator", "y": 90 },
- { "model": "tfg:block/bud_indicator", "y": 180 },
- { "model": "tfg:block/bud_indicator", "y": 270 }
- ]
- }
-}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/electric_greenhouse.json b/kubejs/assets/tfg/blockstates/electric_greenhouse.json
new file mode 100644
index 000000000..09f5291fa
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/electric_greenhouse.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/electric_greenhouse",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/electric_greenhouse"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/electric_greenhouse",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/electric_greenhouse",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_aqueous_accumulator.json b/kubejs/assets/tfg/blockstates/ev_aqueous_accumulator.json
new file mode 100644
index 000000000..5a06bf6f8
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_aqueous_accumulator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/ev_aqueous_accumulator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ev_aqueous_accumulator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ev_aqueous_accumulator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ev_aqueous_accumulator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_food_oven.json b/kubejs/assets/tfg/blockstates/ev_food_oven.json
new file mode 100644
index 000000000..0ac626818
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_food_oven.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/ev_food_oven",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ev_food_oven"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ev_food_oven",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ev_food_oven",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_food_processor.json b/kubejs/assets/tfg/blockstates/ev_food_processor.json
new file mode 100644
index 000000000..f6f38f6c8
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_food_processor.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/ev_food_processor",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ev_food_processor"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ev_food_processor",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ev_food_processor",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_food_refrigerator.json b/kubejs/assets/tfg/blockstates/ev_food_refrigerator.json
new file mode 100644
index 000000000..74525190a
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_food_refrigerator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/ev_food_refrigerator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ev_food_refrigerator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ev_food_refrigerator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ev_food_refrigerator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_gas_pressurizer.json b/kubejs/assets/tfg/blockstates/ev_gas_pressurizer.json
new file mode 100644
index 000000000..04d157733
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_gas_pressurizer.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/ev_gas_pressurizer",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ev_gas_pressurizer"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ev_gas_pressurizer",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ev_gas_pressurizer",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/ev_railgun_item_loader_in.json
new file mode 100644
index 000000000..8bc86f570
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ev_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/ev_railgun_item_loader_out.json
new file mode 100644
index 000000000..629b9606b
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ev_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/ev_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_aqueous_accumulator.json b/kubejs/assets/tfg/blockstates/hv_aqueous_accumulator.json
new file mode 100644
index 000000000..4848b90e7
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_aqueous_accumulator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/hv_aqueous_accumulator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/hv_aqueous_accumulator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/hv_aqueous_accumulator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/hv_aqueous_accumulator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_food_oven.json b/kubejs/assets/tfg/blockstates/hv_food_oven.json
new file mode 100644
index 000000000..9aab6a406
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_food_oven.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/hv_food_oven",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/hv_food_oven"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/hv_food_oven",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/hv_food_oven",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_food_processor.json b/kubejs/assets/tfg/blockstates/hv_food_processor.json
new file mode 100644
index 000000000..84b150a37
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_food_processor.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/hv_food_processor",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/hv_food_processor"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/hv_food_processor",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/hv_food_processor",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_food_refrigerator.json b/kubejs/assets/tfg/blockstates/hv_food_refrigerator.json
new file mode 100644
index 000000000..a76122225
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_food_refrigerator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/hv_food_refrigerator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/hv_food_refrigerator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/hv_food_refrigerator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/hv_food_refrigerator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_gas_pressurizer.json b/kubejs/assets/tfg/blockstates/hv_gas_pressurizer.json
new file mode 100644
index 000000000..988e54c90
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_gas_pressurizer.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/hv_gas_pressurizer",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/hv_gas_pressurizer"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/hv_gas_pressurizer",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/hv_gas_pressurizer",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/hv_railgun_item_loader_in.json
new file mode 100644
index 000000000..95c059e7d
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/hv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/hv_railgun_item_loader_out.json
new file mode 100644
index 000000000..2c30999b5
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/hv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/hv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/interplanetary_item_launcher.json b/kubejs/assets/tfg/blockstates/interplanetary_item_launcher.json
new file mode 100644
index 000000000..953d769dd
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/interplanetary_item_launcher.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/interplanetary_item_launcher",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/interplanetary_item_launcher"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/interplanetary_item_launcher",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/interplanetary_item_launcher",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/interplanetary_item_receiver.json b/kubejs/assets/tfg/blockstates/interplanetary_item_receiver.json
new file mode 100644
index 000000000..0bc386319
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/interplanetary_item_receiver.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/interplanetary_item_receiver",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/interplanetary_item_receiver"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/interplanetary_item_receiver",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/interplanetary_item_receiver",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/interplanetary_logistics_monitor.json b/kubejs/assets/tfg/blockstates/interplanetary_logistics_monitor.json
new file mode 100644
index 000000000..74601e5b8
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/interplanetary_logistics_monitor.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/interplanetary_logistics_monitor",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/interplanetary_logistics_monitor"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/interplanetary_logistics_monitor",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/interplanetary_logistics_monitor",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/iv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/iv_railgun_item_loader_in.json
new file mode 100644
index 000000000..fc5a78648
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/iv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/iv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/iv_railgun_item_loader_out.json
new file mode 100644
index 000000000..8906352fa
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/iv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/iv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/luv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/luv_railgun_item_loader_in.json
new file mode 100644
index 000000000..0c1543cc4
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/luv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/luv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/luv_railgun_item_loader_out.json
new file mode 100644
index 000000000..d2f79806d
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/luv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/luv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/lv_aqueous_accumulator.json b/kubejs/assets/tfg/blockstates/lv_aqueous_accumulator.json
new file mode 100644
index 000000000..1f7bc22f3
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/lv_aqueous_accumulator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/lv_aqueous_accumulator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/lv_aqueous_accumulator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/lv_aqueous_accumulator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/lv_aqueous_accumulator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/lv_food_oven.json b/kubejs/assets/tfg/blockstates/lv_food_oven.json
new file mode 100644
index 000000000..e6d5869cb
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/lv_food_oven.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/lv_food_oven",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/lv_food_oven"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/lv_food_oven",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/lv_food_oven",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/lv_food_processor.json b/kubejs/assets/tfg/blockstates/lv_food_processor.json
new file mode 100644
index 000000000..dbbe5aa1f
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/lv_food_processor.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/lv_food_processor",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/lv_food_processor"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/lv_food_processor",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/lv_food_processor",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/lv_gas_pressurizer.json b/kubejs/assets/tfg/blockstates/lv_gas_pressurizer.json
new file mode 100644
index 000000000..a83ecf548
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/lv_gas_pressurizer.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/lv_gas_pressurizer",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/lv_gas_pressurizer"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/lv_gas_pressurizer",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/lv_gas_pressurizer",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/lv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/lv_railgun_item_loader_in.json
new file mode 100644
index 000000000..0adc5ca24
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/lv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/lv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/lv_railgun_item_loader_out.json
new file mode 100644
index 000000000..186cc50ff
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/lv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/lv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/machine_casing_aluminium_plated_steel.json b/kubejs/assets/tfg/blockstates/machine_casing_aluminium_plated_steel.json
new file mode 100644
index 000000000..f6312e62a
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/machine_casing_aluminium_plated_steel.json
@@ -0,0 +1,7 @@
+{
+ "variants": {
+ "": {
+ "model": "tfg:block/casings/machine_casing_aluminium_plated_steel"
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_aqueous_accumulator.json b/kubejs/assets/tfg/blockstates/mv_aqueous_accumulator.json
new file mode 100644
index 000000000..414bd4ae8
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_aqueous_accumulator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/mv_aqueous_accumulator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/mv_aqueous_accumulator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/mv_aqueous_accumulator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/mv_aqueous_accumulator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_food_oven.json b/kubejs/assets/tfg/blockstates/mv_food_oven.json
new file mode 100644
index 000000000..3b5f7b58f
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_food_oven.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/mv_food_oven",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/mv_food_oven"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/mv_food_oven",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/mv_food_oven",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_food_processor.json b/kubejs/assets/tfg/blockstates/mv_food_processor.json
new file mode 100644
index 000000000..82f5ecace
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_food_processor.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/mv_food_processor",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/mv_food_processor"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/mv_food_processor",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/mv_food_processor",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_food_refrigerator.json b/kubejs/assets/tfg/blockstates/mv_food_refrigerator.json
new file mode 100644
index 000000000..da4377c96
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_food_refrigerator.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/mv_food_refrigerator",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/mv_food_refrigerator"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/mv_food_refrigerator",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/mv_food_refrigerator",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_gas_pressurizer.json b/kubejs/assets/tfg/blockstates/mv_gas_pressurizer.json
new file mode 100644
index 000000000..d9aaa38c4
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_gas_pressurizer.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/mv_gas_pressurizer",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/mv_gas_pressurizer"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/mv_gas_pressurizer",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/mv_gas_pressurizer",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/mv_railgun_item_loader_in.json
new file mode 100644
index 000000000..15ceee515
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/mv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/mv_railgun_item_loader_out.json
new file mode 100644
index 000000000..41ad00e8d
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/mv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/mv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/railgun_ammo_loader.json b/kubejs/assets/tfg/blockstates/railgun_ammo_loader.json
new file mode 100644
index 000000000..cc31486eb
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/railgun_ammo_loader.json
@@ -0,0 +1,19 @@
+{
+ "variants": {
+ "facing=east": {
+ "model": "tfg:block/machines/railgun_ammo_loader",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/railgun_ammo_loader"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/railgun_ammo_loader",
+ "y": 180
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/railgun_ammo_loader",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json b/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json
index 16293b69d..1f695a4f2 100644
--- a/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json
+++ b/kubejs/assets/tfg/blockstates/semiheavy_ammoniacal_water.json
@@ -1,7 +1,7 @@
{
"variants": {
"": {
- "model": "tfg:block/fluid/semiheavy_ammoniacal_water"
+ "model": "tfg:block/semiheavy_ammoniacal_water"
}
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/uhv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/uhv_railgun_item_loader_in.json
new file mode 100644
index 000000000..cc8bb8abf
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/uhv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/uhv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/uhv_railgun_item_loader_out.json
new file mode 100644
index 000000000..0ee1f6c2c
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/uhv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/uhv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ulv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/ulv_railgun_item_loader_in.json
new file mode 100644
index 000000000..1316f00cb
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ulv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/ulv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/ulv_railgun_item_loader_out.json
new file mode 100644
index 000000000..531e96441
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/ulv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/ulv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/uv_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/uv_railgun_item_loader_in.json
new file mode 100644
index 000000000..7350db899
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/uv_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/uv_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/uv_railgun_item_loader_out.json
new file mode 100644
index 000000000..81f9f84c6
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/uv_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/uv_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/zpm_railgun_item_loader_in.json b/kubejs/assets/tfg/blockstates/zpm_railgun_item_loader_in.json
new file mode 100644
index 000000000..c0909dd9f
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/zpm_railgun_item_loader_in.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_in",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_in",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_in"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_in",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_in",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_in",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/blockstates/zpm_railgun_item_loader_out.json b/kubejs/assets/tfg/blockstates/zpm_railgun_item_loader_out.json
new file mode 100644
index 000000000..951a6a45c
--- /dev/null
+++ b/kubejs/assets/tfg/blockstates/zpm_railgun_item_loader_out.json
@@ -0,0 +1,28 @@
+{
+ "variants": {
+ "facing=down": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_out",
+ "x": 90
+ },
+ "facing=east": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_out",
+ "y": 90
+ },
+ "facing=north": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_out"
+ },
+ "facing=south": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_out",
+ "y": 180
+ },
+ "facing=up": {
+ "gtceu:z": 180,
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_out",
+ "x": 270
+ },
+ "facing=west": {
+ "model": "tfg:block/machines/ports/zpm_railgun_item_loader_out",
+ "y": 270
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json
index 143cf58dc..c30b7fdc6 100644
--- a/kubejs/assets/tfg/lang/en_us.json
+++ b/kubejs/assets/tfg/lang/en_us.json
@@ -216,17 +216,48 @@
"block.tfg.mv_gas_pressurizer": "§bAdvanced Gas Pressurizer§r",
"block.tfg.hv_gas_pressurizer": "§6Advanced Gas Pressurizer II§r",
"block.tfg.ev_gas_pressurizer": "§5Advanced Gas Pressurizer III§r",
+ "block.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water",
+ "block.tfg.grass.mars_dirt": "Martian Dirt",
+ "block.tfg.grass.amber_mycelium": "Amber Mycelium",
+ "block.tfg.grass.rusticus_mycelium": "Rusticus Mycelium",
+ "block.tfg.grass.sangnum_mycelium": "Sangnum Mycelium",
+ "block.tfg.electromagnetic_accelerator": "Electromagnetic Accelerator",
+ "block.tfg.superconductor_coil_large": "Large Superconductor Coil",
+ "block.tfg.superconductor_coil_small": "Small Superconductor Coil",
"block.tfg.interplanetary_item_launcher": "Interplanetary Railgun",
- "block.tfg.railgun_item_loader_in": "Interplanetary Railgun Input Bus",
- "block.tfg.interplanetary_item_reciever": "Interplanetary Receiver",
- "block.tfg.railgun_item_loader_out": "Interplanetary Receiver Output Bus",
+ "block.tfg.interplanetary_item_receiver": "Interplanetary Receiver",
"block.tfg.interplanetary_logistics_monitor": "Interplanetary Logistics Monitor",
+ "block.tfg.railgun_ammo_loader": "Railgun Ammo Loader",
+ "block.tfg.ulv_railgun_item_loader_in": "§8ULV Interplanetary Railgun Input Bus§r",
+ "block.tfg.lv_railgun_item_loader_in": "§7LV Interplanetary Railgun Input Bus§r",
+ "block.tfg.mv_railgun_item_loader_in": "§bMV Interplanetary Railgun Input Bus§r",
+ "block.tfg.hv_railgun_item_loader_in": "§6HV Interplanetary Railgun Input Bus§r",
+ "block.tfg.ev_railgun_item_loader_in": "§5EV Interplanetary Railgun Input Bus§r",
+ "block.tfg.iv_railgun_item_loader_in": "§9IV Interplanetary Railgun Input Bus§r",
+ "block.tfg.luv_railgun_item_loader_in": "§dLuV Interplanetary Railgun Input Bus§r",
+ "block.tfg.zpm_railgun_item_loader_in": "§cZPM Interplanetary Railgun Input Bus§r",
+ "block.tfg.uv_railgun_item_loader_in": "§3UV Interplanetary Railgun Input Bus§r",
+ "block.tfg.uhv_railgun_item_loader_in": "§4UHV Interplanetary Railgun Input Bus§r",
+ "block.tfg.ulv_railgun_item_loader_out": "§8ULV Interplanetary Railgun Output Bus§r",
+ "block.tfg.lv_railgun_item_loader_out": "§7LV Interplanetary Railgun Output Bus§r",
+ "block.tfg.mv_railgun_item_loader_out": "§bMV Interplanetary Railgun Output Bus§r",
+ "block.tfg.hv_railgun_item_loader_out": "§6HV Interplanetary Railgun Output Bus§r",
+ "block.tfg.ev_railgun_item_loader_out": "§5EV Interplanetary Railgun Output Bus§r",
+ "block.tfg.iv_railgun_item_loader_out": "§9IV Interplanetary Railgun Output Bus§r",
+ "block.tfg.luv_railgun_item_loader_out": "§dLuV Interplanetary Railgun Output Bus§r",
+ "block.tfg.zpm_railgun_item_loader_out": "§cZPM Interplanetary Railgun Output Bus§r",
+ "block.tfg.uv_railgun_item_loader_out": "§3UV Interplanetary Railgun Output Bus§r",
+ "block.tfg.uhv_railgun_item_loader_out": "§4UHV Interplanetary Railgun Output Bus§r",
"block.tfg.sunflower_wild": "Wild Sunflower",
"block.tfg.sunflower_dead": "Dead Sunflower",
"block.tfg.rapeseed_wild": "Wild Rapeseed",
"block.tfg.rapeseed_dead": "Dead Rapeseed",
"block.tfg.casings.machine_casing_iron_desh": "Desh Machine Casing",
- "block.tfg.casings.machine_casing_red_solar_panel": "Energium Solar Panel Casing",
+ "block.tfg.casings.machine_casing_stainless_evaporation": "Stainless Evaporation Machine Casing",
+ "block.tfg.casings.machine_casing_blue_solar_panel": "Basic Solar Panel Casing",
+ "block.tfg.casings.machine_casing_green_solar_panel": "Advanced Solar Panel Casing",
+ "block.tfg.casings.machine_casing_red_solar_panel": "Elite Solar Panel Casing",
+ "block.tfg.machine_casing_aluminium_plated_steel": "Aluminium Plated Steel Machine Casing",
"block.tfg.sand.fluorapatite.blue": "Blue Fluorapatite Sand",
"block.tfg.sandstone.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone",
"block.tfg.sandstone.wall.raw.fluorapatite.blue": "Raw Blue Fluorapatite Sandstone Wall",
@@ -293,9 +324,6 @@
"block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "Smooth Yellow Fluorapatite Sandstone Stairs",
"block.tfg.sandstone.fluorapatite.yellow": "Cut Yellow Fluorapatite Sandstone",
"block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Chiseled Yellow Fluorapatite Sandstone",
- "block.tfg.electromagnetic_accelerator": "Electromagnetic Accelerator",
- "block.tfg.superconductor_coil_large": "Large Superconductor Coil",
- "block.tfg.superconductor_coil_small": "Small Superconductor Coil",
"fluid.tfg.nether_slurry": "Nether Slurry",
"fluid.tfg.enriched_nether_slurry": "Enriched Nether Slurry",
"fluid.tfg.ender_slurry": "Ender Slurry",
@@ -368,6 +396,8 @@
"item.tfg.brick.glacio_stone": "Phonolite Brick",
"item.tfg.loose.permafrost": "Permafrost Chunk",
"item.tfg.brick.permafrost": "Permafrost Brick",
+ "item.tfg.loose.red_granite": "Loose Red Granite",
+ "item.tfg.brick.red_granite": "Red Granite Brick",
"item.tfg.terra_firma_greg": "TerraFirmaGreg",
"item.tfg.scaffolding_frame": "Scaffolding Frame",
"item.tfg.airship_hull": "Airship Hull",
@@ -469,7 +499,7 @@
"item.tfg.marker.mars_orbit": "Mars Orbit",
"item.tfg.marker.venus_orbit": "Venus Orbit",
"item.tfg.marker.mercury_orbit": "Mercury Orbit",
- "item.tfg.interplanetary_link": "Interplanetary Link",
+ "item.tfg.railgun_ammo_shell": "Railgun Ammo Shell",
"item.tfg.sulfur_fumes_bucket": "Sulfur Fumes Bucket",
"item.tfg.super_heated_slurry_bucket": "Super Heated Slurry Bucket",
"item.tfg.cryogenized_fluix_bucket": "Cryogenized Fluix Bucket",
@@ -482,11 +512,22 @@
"item.tfg.compressed_heliox_3_bucket": "Heliox-3 Bucket",
"item.tfg.compressed_trimix_bucket": "50/30/20 Trimix Bucket",
"item.tfg.compressed_trimix_3_bucket": "50/30/20 Trimix-3 Bucket",
+ "item.tfg.semiheavy_ammoniacal_water_bucket": "Semiheavy Ammoniacal Water Bucket",
"item.tfg.harvest_basket": "Harvest Basket",
"item.tfg.aluminium_harvest_basket": "Aluminium Harvest Basket",
"item.tfg.wood.lumber.aeronos": "Aeronos Lumber",
"item.tfg.wood.lumber.strophar": "Strophar Lumber",
"item.tfg.wood.lumber.glacian": "Glacian Lumber",
+ "item.tfg.aes_polyurethane": "AES Reinforced R-Polyurethane Foam",
+ "item.tfg.mli_shielding": "Multi-Layer Insulated Shielding",
+ "item.tfg.rocket_cone_t3": "Advanced Rocket Nose Cone",
+ "item.tfg.rocket_fin_t3": "Advanced Rocket Fin",
+ "item.tfg.elite_power_thruster": "§aElite Power Thruster",
+ "item.tfg.silica_aerogel": "Silica Aerogel",
+ "item.tfg.better_space_suit_fabric": "Adaptive Space Suit Fabric",
+ "item.tfg.universal_compost_browns": "Brown Universal Compost",
+ "item.tfg.universal_compost_greens": "Green Universal Compost",
+ "item.tfg.etching_diamond_tip": "Etching Diamond Tip",
"material.tfg.latex": "Latex",
"material.tfg.vulcanized_latex": "Vulcanized Latex",
"material.tfg.fluix": "Fluix",
@@ -531,6 +572,24 @@
"material.tfg.chloryl_fluoride": "Chloryl Fluoride",
"material.tfg.chlorine_pentafluoride": "Chlorine Pentafluoride",
"material.tfg.solar_coolant": "Solar Coolant",
+ "material.tfg.solar_coolant_tier2": "Aerospatial Solar Coolant",
+ "material.tfg.sodium_hydride": "Sodium Hydride",
+ "material.tfg.boric_acid": "Boric Acid",
+ "material.tfg.trimethyl_borate": "Trimethyl Borate",
+ "material.tfg.sodium_borohydride": "Sodium Borohydride",
+ "material.tfg.sodium_methoxide": "Sodium Methoxide",
+ "material.tfg.ammonia_borane": "Ammonia Borane",
+ "material.tfg.aniline": "Aniline",
+ "material.tfg.dimethyl_carbonate": "Dimethyl Carbonate",
+ "material.tfg.methyl_phenylcarbamate": "Methyl N-Phenylcarbamate",
+ "material.tfg.methylene_diphenyl_dicarbamate": "Methylene Diphenyl-4,4'-dicarbamate",
+ "material.tfg.methylene_diphenyl_diisocyanate": "Methylene Diphenyl-4,4'-diisocyanate",
+ "material.tfg.tmos": "Tetramethoxysilane",
+ "material.tfg.silica_gel": "Silica Gel",
+ "material.tfg.soaked_silica_gel": "Acetone Soaked Silica Gel",
+ "material.tfg.nuclear_residue": "Nuclear Residue",
+ "material.tfg.oxidized_nuclear_residue": "Oxidized Nuclear Residue",
+ "material.tfg.refined_nuclear_residue": "Refined Nuclear Residue",
"tfg.creative_tab.tfg": "TerraFirmaGreg",
"tfg.disabled_portal": "Portal magic seems to be blocked by an unknown force, try reaching another dimension by going down or up",
"tfg.tooltip.food_trait.refrigerating": "§bRefrigerating",
@@ -974,13 +1033,9 @@
"quests.gregtech_energy.produce_energy.subtitle": "Gas or Oil?",
"quests.gregtech_energy.produce_energy.desc": "It’s all about making energy, right? This part won’t be the most complicated one, since &eproducing energy&r in &2TerraFirmaGreg&r works pretty much like in &5standard GregTech&r.\n\nYou’ll learn about the various &6methods to generate energy&r, as well as some of the &afuels&r you can use to get the most out of your setup.",
"quests.gregtech_energy.produce_energy.task": "Let's go!",
- "quests.gregtech_energy.first_generator.title": "Your first generators",
- "quests.gregtech_energy.first_generator.subtitle": "Start small",
- "quests.gregtech_energy.first_generator.desc": "All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\n\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r later on.\n\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r.",
- "quests.gregtech_energy.first_generator.task": "Any single-block generator",
"quests.gregtech_energy.lv_generator.title": "Let's make energy",
"quests.gregtech_energy.lv_generator.subtitle": "Welcome to LV",
- "quests.gregtech_energy.lv_generator.desc.1": "With your first step into the Electrical Age, you will need to produce energy, called EU (Electrical Unit) in GregTech.\n\nThere are three main ways to generate it:",
+ "quests.gregtech_energy.lv_generator.desc.1": "All of these are your basic &61-block Generators&r. They have a single &9input&r for their fuel — whether it’s &esteam&r, &agas&r, or &6liquid fuel&r — and they output exactly &e1A&r of power at their energy tier.\n\nThey’re simple to work with and will be your &ofirst source of power&r in &5GregTech&r until you reach the &dlarge multiblock generators&r later on.\n\nTo know what fuels can be used, &aEMI&r is your best friend — or you can check the &bquests on the left&r, where we’ve listed the most &aoptimal inputs&r. For now here are the <hree ways&r to begin your power production, all of them are &aviable&r the choice is yours.",
"quests.gregtech_energy.lv_generator.desc.2": "&e1. Steam Power&r:\n\nThis is the most classic method. You can convert the steam produced by your High Pressure Boilers into EU using a Steam Turbine.\n\nIt generates &e32 EU/t&r with &e64 mB/t&r of steam. If you follow this path, we highly recommend making a Large Bronze Boiler, which can easily be fueled with Lava, Creosote, or other burnable solid fuels (check JEI!).",
"quests.gregtech_energy.lv_generator.desc.3": "&e2. Rotational Power&r:\n\nYou can use Create's rotational power with an Alternator to generate RF, then convert it into EU using an &7LV&r Converter.\n\n(Check the Alternators quest in the LV Chapter for more details.)",
"quests.gregtech_energy.lv_generator.desc.4": "&e3. Biodiesel Power (TFG Exclusive)&r:\n\nRapeseed and Sunflowers can be processed into large amounts of Seed Oil. Combine it with TFC Alcohol to produce Biodiesel.\n\nThis method may seem more complex, but Biodiesel is extremely powerful during &7LV&r and &bMV&r tiers. It scales well into &5EV&r with &eCetane-Boosted Diesel&r later on.\n\nTo use Biodiesel, you’ll need a &7LV&r Combustion Generator. While it may be slightly more expensive, every mB of Biodiesel provides a high amount of EU, making it easier to transport and store.\n\nIt's your choice how you want to start your energy production.",
@@ -1036,10 +1091,14 @@
"quests.gregtech_energy.lce_fuel.desc.1": "All of these fuels are used for &6Combustion Generators&r — ranked here from the least efficient to the best.\n\nDuring &bMV&r, we recommend starting with Diesel or Biodiesel. Later on, you can upgrade to Cetane-Boosted Diesel at &6HV&r by mixing it with Nitrogen, Hydrogen, and Oxygen.",
"quests.gregtech_energy.lce_fuel.desc.2": "Once you reach &5EV&r and get your hands on a &6Distillation Tower&r, it's time to switch over to Gasoline and High Octane Gasoline. Don’t attempt this too early — oils need to be distilled properly, and doing it with a regular Distillery is not efficient at all.\n\nTo make this work, you'll need a combination of oil distillation and some organic compound processing. Thankfully, a Pyrolyse Oven and a Distillation Tower will handle it all smoothly.\n\nIf you manage a steady supply of High Octane Gasoline, you should be able to finish the entire modpack running only on Combustion Generators.",
"quests.gregtech_energy.lce_fuel.task": "I got enough",
- "quests.gregtech_energy.large_solar.title": "The Large Solar Panel",
- "quests.gregtech_energy.large_solar.subtitle": "Huge Passive Power",
- "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Panel will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Bedrock Miners.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.",
- "quests.gregtech_energy.large_solar.desc.2": "There are three tiers of power generation:\n\n1) The first one is fully passive.\n\n2) The second one requires a coolant, which can be perfectly looped with only the addition of Helium-3.\n\n3) The third and most powerful tier will need a small amount of &dCryogenized Fluix&r to operate.",
+ "quests.gregtech_energy.large_solar.subtitle": "Huge Easy Power",
+ "quests.gregtech_energy.large_solar.desc.1": "The Large Solar Array MK I will be your go-to solution if you want to set up a larger base on the Moon.\n\nIt’s especially useful for &bAE2&r processing lines, and it can also power your Bedrock Miners.\n\nDon’t forget that you can use the GregTech Terminal item to build the multiblock instantly by sneak-right-clicking on the controller.\n\nCheck the available recipes by simply pressing &eU&r on the controller to see your options.",
+ "quests.gregtech_energy.large_solar.desc.2": "&6The Large Solar Array MK I&r comes with &92 different recipes&r:\n\n&9• Passive Mode&r —\nThis mode consumes no items at all, making it fully passive. However, it will only generate &62A HV&r during the day — enough for basic systems, but far from optimal.\n\n&9• Active Mode with Maintenance&r —\nIf you want to &amaximize the energy output&r, you’ll need to manage maintenance. Each time a cycle starts, there is a &c5% chance&r that a &dPhotovoltaic Cell&r is consumed.\n\n&eOur recommendation:&r\nSet up a passive logistics line to supply your solar panel with Photovoltaic Cells.\n\nYou can either transport them from &aEarth&r or craft them directly on the &7Moon&r — the choice is yours!",
+ "quests.gregtech_energy.large_solar_t2.subtitle": "Even stronger",
+ "quests.gregtech_energy.large_solar_t2.desc.1": "If you're building an &dAE2 base on the Moon&r, chances are you'll need a lot more energy. That's where the &6Large Solar Array MK II&r comes in!\n\nJust like the MK I, it offers 2 different recipes — but this time, neither is fully passive.",
+ "quests.gregtech_energy.large_solar_t2.desc.2": "Both &bSolar Coolant&r and &bCryogenized Fluix&r are fully renewable on the Moon. In fact, the Solar Coolant loop recycles its &eFluorine&r and &eChlorine&r inputs — meaning you only need a steady supply of:\n\n• Helium-3 — can be extracted with a &aFluid Drill Rig&r\n• Water — collect it passively with an &aAqueous Accumulator&r\n\n&cPower emergency fallback:&r\nIf your fluid supply is interrupted, the LSA MK II can still operate using Photovoltaic Cells.\nThis fallback method keeps your base online while you troubleshoot the issue.\n\nA must-have for any serious off-world AE2 infrastructure.",
+ "quests.gregtech_energy.large_solar_t3.subtitle": "Maximal Power",
+ "quests.gregtech_energy.large_solar_t3.desc": "The final tier is the &6Large Solar Array MK III&r. It works the same way as the MK II, but its new Solar Coolant requires the addition of &aArgon&r and &bSilica Aerogel&r.\n\nYou should already be familiar with &bSilica Aerogel&r — you used it in your &dRocket Tier 3&r.\nHowever, it's much harder to produce on the Moon, and you may need a constant supply shipped from &aEarth&r.\n\nWe’ll let you decide how to handle this logistical challenge — whether it’s through automation, or interplanetary transport, the choice is yours.\n\n&eHigh-tech energy&r demands &chigh-level infrastructure&r. Plan wisely!",
"quests.gregtech_energy.solar_panel.subtitle": "Light in the Dark",
"quests.gregtech_energy.solar_panel.desc": "The Solar Panel will be your first source of power on the Moon.\n\nThey produce 64 EU/t during daytime, but keep in mind they actually generate RF, so you’ll need a Converter to transform it into EU.\n\nYou can use one &bMV Converter&r for up to 2 Solar Panels or a &6HV Converter&r for up to 4 Solar Panels.",
"quests.gregtech_energy.storage.title": "Storing Energy",
@@ -1759,7 +1818,7 @@
"quests.medium_voltage.mv_cpu.desc": "&aThe &eCPU&r is one of the most important pieces of technology in your factory.\n\nThe &eCPU Wafer&r is a special one—it can be upgraded later through a &2Chemical Reaction&r.\n\nBut for now, you’ll need the &eCPU Chip&r to craft the best &bMV&r circuits available at this stage.\n\nMake sure to produce a few extra, as they’ll be essential for future upgrades.",
"quests.medium_voltage.lsb.title": "Getting very steamy",
"quests.medium_voltage.lsb.subtitle": "If you have unlimited fuel, it can still be good",
- "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d900 EU/t worth of Steam&r.\n\nWe'd recommend you try other power options at this point.",
+ "quests.medium_voltage.lsb.desc": "If you're &lstill&r running off the &3Large Bronze Boiler&r, you may want to upgrade to the &3Large Steel Boiler&r.\n\nIt's slightly more efficient than the &3LBB&r, and produces &d1800 EU/t worth of Steam&r.\n\nWe'd recommend you try other power options at this point.",
"quests.metal_age": "Metallurgy Age",
"quests.metal_age.subtitle": "Your First Technological Advancements.",
"quests.metal_age.weld_bronze_ingots.title": "Welding Bronze",
@@ -2048,9 +2107,50 @@
"quests.space_survival.bedrock_mining.title": "Bedrock mining",
"quests.space_survival.bedrock_mining.subtitle": "You'll never run out of copper again!",
"quests.space_survival.bedrock_mining.desc": "If you've ever pumped oil before, &9Bedrock Veins&r are the equivalent of that but for raw ores. And if you haven't? It's like oil pumping.\n\nJokes aside, these multiblocks can provide a constant, &cinfinite&r source of some ores for the rest of your game. Wow, that sounds too good to be true, doesn't it? What's the catch? Finding the veins.\n\nThey're spread far apart and don't exist on Earth, meaning you'll want to set up some way to ship the ores back to your main base. (&aTrains&r are fantastic here!)\n\nCheck out JEI to see what ores are available on the Moon, then find the veins with your HV Ore Prospector set to &oBedrock Ore Mode&r (sneak + right-click)!",
- "quests.space_survival.railgun.title": "Interplanetary Railgun",
+ "quests.space_survival.railgun.title": "Interplanetary Logistics",
"quests.space_survival.railgun.subtitle": "Ender chest? Never heard of her!",
- "quests.space_survival.railgun.desc": "Instant and free trans-dimensional item transportation is boring! So we've cooked up a unique interplanetary logistics system that provides a much more interesting puzzle to solve!\n\nOr at least we're going to, it's &cnot quite finished yet&r in the alpha build!",
+ "quests.space_survival.railgun.desc.1": "&7In &bTerraFirmaGreg&r, transporting items across dimensions or over long distances requires you to build special &6multiblock structures&r.\n\nThis system is &apowerful and flexible&r, offering multiple settings that let you customize logistics to perfectly suit your needs.\n\nThis is the perfect system to transport all of your &apassively-produced&r resources to exactly where they're needed on other planets! And it comes with a powerful &dconfiguration system&r to let you control everything from a single place.",
+ "quests.space_survival.railgun.desc.2": "To set it up, you'll need three components:\n\n&6• Interplanetary Railgun&r — this is the &bsender&r that launches items across space.\n\n&6• Interplanetary Receiver&r — this is the &breceiver&r that catches and stores incoming items.\n\n&6• Interplanetary Logistics Monitor&r — this acts as the &9central control&r, where you define the rules and behavior of the entire transport system.\n\nWith these machines, you can automate large-scale transfers efficiently — even between planets!",
+ "quests.space_survival.railgun.task": "Let's dig into Interplanetary logistics",
+ "quests.space_survival.interplanetary_railgun.title": "Interplanetary Railgun",
+ "quests.space_survival.interplanetary_railgun.subtitle": "What we call the sender",
+ "quests.space_survival.raiinterplanetary_railgunlgun.desc.1": "&6The Interplanetary Railgun&r acts as your &bsender multiblock&r.\n\nIt’s the structure responsible for launching items toward distant &3receivers&r — but it can’t receive anything itself.",
+ "quests.space_survival.raiinterplanetary_railgunlgun.desc.2": "To function correctly, it requires several components:\n\n&9• Energy Hatch&r — provides the power needed to launch items. Without energy, nothing moves.\n&9• Railgun Ammo Loader&r — must be filled with ammo. One unit is consumed per launch.\n&9• Input Buses&r — you can add as many as you can fit, to insert the items you want to send.\n\n&cImportant:&r This multiblock can only &osend&r items. Make sure your &6Interplanetary Railgun&r is always chunkloaded!",
+ "quests.space_survival.ammo_railgun.title": "Railgun Ammo",
+ "quests.space_survival.ammo_railgun.subtitle": "You didn't think it would be free?",
+ "quests.space_survival.ammo_railgun.desc.1": "&7Each &6Interplanetary Railgun&r requires a special type of &eammo&r — think of it as a package used to transport items.\nEach launch consumes exactly &cone unit&r of ammo and can send &dthree different stacks&r.\n\nTo load it, you’ll need a &6Railgun Ammo Loader&r as part of your structure.\nYou can insert ammo manually or automate the process.\n\n&9We strongly recommend&r setting up a passive production line to keep your loader filled continuously — this ensures a smooth and reliable logistics chain.",
+ "quests.space_survival.ammo_railgun.desc.2": "There are multiple recipes available to craft ammo:\n\n• Lower-tier recipes are simpler but produce fewer units.\n• Higher-tier recipes yield &amuch more ammo&r, but require more advanced resources and machines.&r\n• Specialized ammo that you can only craft on certain planets. Check the recipes.\n\nPlan your production based on your &3logistics scale&r — interplanetary trade waits for no one!",
+ "quests.space_survival.input_bus_railgun.title": "Railgun Input Bus",
+ "quests.space_survival.input_bus_railgun.subtitle": "Sender only",
+ "quests.space_survival.input_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Interplanetary Logistics Monitor&r &con the left of this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nWhen opening the &6Sender&r logistics screen on the &dInterplanetary Logistics Monitor&r, you'll notice the familiar &9Programmed Circuit&r from GregTech.\nThis circuit number is the core identifier for setting up routing rules.\n\nThe number you assign will apply a specific rule to all Input Buses in your Railgun structure that are configured with that same circuit number.\n\nThis allows you to fine-tune what items are sent where and with which rules, based on the circuit used.",
+ "quests.space_survival.input_bus_railgun.desc.2": "&2How to configure it:&r\n→ Open the GUI of any &9Railgun Input Bus&r\n→ Select the number you want — just like in any other GregTech machine\n\nThis lets you create powerful logic like:\n&7• Circuit 1&r → send to Moon base\n&7• Circuit 2&r → send to Mars\n&7• Circuit 3&r → send to Orbital Station\n\nWith proper circuit setup, you can automate interplanetary trade like a true industrial tycoon!",
+ "quests.space_survival.input_bus_railgun.task": "Any Railgun Input Bus",
+ "quests.space_survival.monitor_railgun.title": "Interplanetary Logistics Monitor",
+ "quests.space_survival.monitor_railgun.subtitle": "Super Computer",
+ "quests.space_survival.monitor_railgun.desc.1": "&6The Interplanetary Logistics Monitor&r is your logistics command center — the true bread and butter of interplanetary transport.\n\nIt’s a &asingle block&r, requires &ono energy&r, and will automatically detect every &6Railgun Sender&r and &3Receiver&r you’ve built.",
+ "quests.space_survival.monitor_railgun.desc.2": "It may look simple, but it hides powerful tools under the hood.\nLet’s go over the basics:\n\n&9• When you open the Monitor&r, you'll see a list of all your Senders and Receivers.\nYou have to &ename each one&r.\n\n&9• To create a logistic rule:&r\n → Click the right arrow to select a Sender\n → Press &a+&r to add a new rule\n → Choose the destination Receiver from your list\n\nIf your &6Railgun&r has ammo and energy, and the &3Receiver&r has space — the shipment will launch instantly!\n\nNow that you've got the basics, let’s dive into the more advanced features in the next quests...",
+ "quests.space_survival.redstone_railgun.title": "Redstone Control",
+ "quests.space_survival.redstone_railgun.subtitle": "Redstone rules in Minecraft",
+ "quests.space_survival.redstone_railgun.desc": "&6The Redstone Rule&r is simple — but incredibly powerful when used well.\n\nIn the &6Sender&r rules interface, enabling this rule means that a &credstone signal&r must be present on the &9Input Bus&r for it to send items.\n\nIn the &3Receiver&r rules interface, you can configure the rule so that an &9Output Bus&r will only accept items based on the redstone signal on that specific block.\n\nTime to use your redstone logic skills!\nWhether it's with an &dAE2 Level Emitter&r, from &aCreate redstone utilities&r, or good old vanilla mechanisms — this rule lets you synchronize logistics with your factory state like a pro.",
+ "quests.space_survival.redstone_railgun.task": "Understood",
+ "quests.space_survival.robot_arm_railgun.title": "Supply Exact",
+ "quests.space_survival.robot_arm_railgun.subtitle": "It's a Gregtech pack you know",
+ "quests.space_survival.robot_arm_railgun.desc": "&6The Item Rule&r works similarly to a &9GregTech Robot Arm&r set to &eSupply Exact&r.\nIt can only be configured from the &6Sender&r rules interface.\n\nWith this rule active, the &9Railgun&r will only send the &aexact quantity&r when available in the &9Input Bus&r.\n\n&2How to set it up:&r\n→ Drag items into the filter from your &dEMI&r interface\n→ Use &aleft and right clicks&r to adjust the quantity\n→ You can also bookmark items for quick access and configuration\n\nThis rule is perfect for precise automation — ideal for batch crafting or resource quotas.",
+ "quests.space_survival.robot_arm_railgun.task": "Understood",
+ "quests.space_survival.delay_railgun.title": "Delay",
+ "quests.space_survival.delay_railgun.subtitle": "Sometime you just want to wait",
+ "quests.space_survival.delay_railgun.desc": "&6The Delay Rule&r is simple, but useful for managing item flow timing.\n\n&2On the Sender side:&r\nItems will only be sent after the &9Input Bus&r hasn't received any new item for a set amount of time (in seconds).\nThis helps avoid sending items too frequently when inputs are constantly changing.\n\n&2On the Receiver side:&r\nThe rule defines a delay before an &9Output Bus&r can receive another batch of items.\nThis can be useful to prevent overflow or to pace item insertion into slower systems.\n\nIdeal for syncing with machines that need breathing room between operations, or to prevent unnecessary waste of ammo.",
+ "quests.space_survival.delay_railgun.task": "Understood",
+ "quests.space_survival.receiver_railgun.title": "Interplanetary Receiver",
+ "quests.space_survival.receiver_railgun.subtitle": "The Receiver",
+ "quests.space_survival.receiver_railgun.desc.1": "&6The Interplanetary Receiver&r, as its name suggests, is designed to &3receive items&r sent by the Railgun.\n\nIt’s a &asmall and simple multiblock&r that requires no energy or maintenance — just build it and you're ready to go!",
+ "quests.space_survival.receiver_railgun.desc.2": "Its flexibility lies in the number of &9Output Buses&r you can attach.\nThe more you add, the more items it can handle simultaneously.\n\n&2Setup is easy:&r\n• Build the structure\n• Add as many Output Buses as you need\n• Done — it’s ready to receive!\n\nNo fuel, no maintenance — just pure logistics power.\nMake sure it’s properly chunkloaded, and let the items rain in!",
+ "quests.space_survival.output_bus_railgun.title": "Railgun Output Bus",
+ "quests.space_survival.output_bus_railgun.subtitle": "Receiver only",
+ "quests.space_survival.output_bus_railgun.desc.1": "&cIf you haven't read the quest about the &6Railgun Input Bus&r &cabove this one, make sure to check it out first — this quest builds on that knowledge.&r\n\nJust like how your &6Railgun Input Buses&r can be assigned a &9circuit number&r, you can do the same with the &3Output Buses&r on your &3Receiver&r.",
+ "quests.space_survival.output_bus_railgun.desc.2": "This feature serves two main purposes:&r\n\n&9• Direct item flow&r —\nYou can control which Output Bus receives items.\nTo do this, simply assign a circuit number to the Output Bus,\nthen select that number in your Sender’s rule via the &6Logistics Monitor&r.\n\n&9• Conditional rules&r —\nYou can also set rules to &cstop sending items&r if the circuit rule isn’t respected.\nThis is done not from the Sender tab, but by opening the &3Receiver&r tab in the Monitor.\nFor each circuit number, you can assign a rule that applies only to Output Buses using that number.",
+ "quests.space_survival.output_bus_railgun.desc.3": "To learn more about the available rule types, make sure to check the &7three quests above this one&r.\n\nThey go over each rule in detail and explain how to use them effectively.",
+ "quests.space_survival.output_bus_railgun.task": "Any Railgun Output Bus",
"quests.steam_age": "Early Automation",
"quests.steam_age.subtitle": "From Primitive Machines to Steam Power",
"quests.steam_age.basic_greate.title": "Basics of Greate",
diff --git a/kubejs/assets/tfg/lang/uk_ua.json b/kubejs/assets/tfg/lang/uk_ua.json
index 495a391a5..f1abc5aa6 100644
--- a/kubejs/assets/tfg/lang/uk_ua.json
+++ b/kubejs/assets/tfg/lang/uk_ua.json
@@ -96,7 +96,7 @@
"block.tfg.conglomerate_support_horizontal": "Горизонтальна Опора з Конгломерату",
"block.tfg.conglomerate_support": "Опора з Конгломерату",
"block.tfg.dolomite_support_horizontal": "Горизонтальна Доломітова Опора",
- "block.tfg.Dolomite_support": "Доломітова Опора",
+ "block.tfg.dolomite_support": "Доломітова опора",
"block.tfg.chert_support_horizontal": "Горизонтальна Опора з Кременистого сланцю",
"block.tfg.chert_support": "Опора з Кременистого сланцю",
"block.tfg.chalk_support_horizontal": "Горизонтальна Крейдова Опора",
@@ -131,6 +131,12 @@
"block.tfg.migmatite_support": "Опора з Мігматиту",
"block.tfg.travertine_support_horizontal": "Горизонтальна Опора з Травертину",
"block.tfg.travertine_support": "Опора з Травертину",
+ "block.tfg.glacian_support": "Глаціанова опора",
+ "block.tfg.glacian_support_horizontal": "Горизонтальна глаціанова опора",
+ "block.tfg.strophar_support": "Строфарова опора",
+ "block.tfg.strophar_support_horizontal": "Горизонтальна строфарова опора",
+ "block.tfg.aeronos_support": "Аероносова опора",
+ "block.tfg.aeronos_support_horizontal": "Горизонтальна аероносова опора",
"block.tfg.rock.hardened_deepslate": "Затверділий Мігматит",
"block.tfg.rock.hardened_blackstone": "Затверділий Піроксеніт",
"block.tfg.rock.hardened_dripstone": "Затверділий Травертин",
@@ -139,6 +145,9 @@
"block.tfg.spike.dripstone_spike": "Шип Травертину",
"block.tfg.loose.deepslate": "Розсипчастий Мігматитовий Камінь",
"block.tfg.loose.dripstone": "Розсипчастий Травертиновий Камінь",
+ "block.tfg.mushroom_roots": "Коріння грибів",
+ "block.tfg.mushroom_sprouts": "Паростки грибів",
+ "block.tfg.charred_log": "Обвуглена колода",
"block.tfg.rock.hardened_moon_stone": "Затверділий Анорозит",
"block.tfg.spike.moon_stone_spike": "Шип з Анорозиту",
"block.tfg.loose.moon_stone": "Рихлий Анорозитовий Камінь",
@@ -164,6 +173,20 @@
"block.tfg.rock.spike.stromatolite": "Строматолітовий шип",
"block.tfg.rock.raw.geyserite": "Сирий Гейзерит",
"block.tfg.rock.spike.geyserite": "Гейзеритовий шип",
+ "block.tfg.rock.hardened_red_granite": "Загартований червоний граніт",
+ "block.tfg.loose.red_granite": "Розсипчастий червоний гранітний камінь",
+ "block.tfg.spike.red_granite_spike": "Червоний гранітовий шпиль",
+ "block.tfg.ash_pile": "Купа попелу",
+ "block.tfg.pile.white_sand": "Білий пісок",
+ "block.tfg.pile.black_sand": "Чорний пісок",
+ "block.tfg.pile.brown_sand": "Коричневий пісок",
+ "block.tfg.pile.red_sand": "Червоний пісок",
+ "block.tfg.pile.yellow_sand": "Жовтий пісок",
+ "block.tfg.pile.green_sand": "Зелений пісок",
+ "block.tfg.pile.pink_sand": "Рожевий пісок",
+ "block.tfg.pile.moon_sand": "Місячний пісок",
+ "block.tfg.pile.mars_sand": "Аргілітовий пісок",
+ "block.tfg.pile.venus_sand": "Трахітовий пісок",
"block.tfg.lunar_roots": "Місячні світлоквіти",
"block.tfg.lunar_sprouts": "Місячна світлотрава",
"block.tfg.lunar_chorus_plant": "Хорусовий Паросток",
@@ -189,14 +212,51 @@
"block.tfg.mv_food_refrigerator": "§bУдосконалений Холодильник§r",
"block.tfg.hv_food_refrigerator": "§6Удосконалений Холодильник II§r",
"block.tfg.ev_food_refrigerator": "§5Удосконалений Холодильник III§r",
+ "block.tfg.lv_gas_pressurizer": "Базовий газовий пресуризатор",
+ "block.tfg.mv_gas_pressurizer": "§bПокращений газовий пресуризатор§r",
+ "block.tfg.hv_gas_pressurizer": "§bПокращений газовий пресуризатор II§r",
+ "block.tfg.ev_gas_pressurizer": "§bПокращений газовий пресуризатор III§r",
+ "block.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода",
+ "block.tfg.grass.mars_dirt": "Марсіанський ґрунт",
+ "block.tfg.grass.amber_mycelium": "Бурштиновий міцелій",
+ "block.tfg.grass.rusticus_mycelium": "Міцелій Rusticus",
+ "block.tfg.grass.sangnum_mycelium": "Сангнумний міцелій",
+ "block.tfg.electromagnetic_accelerator": "Електромагнітний прискорювач",
+ "block.tfg.superconductor_coil_large": "Велика надпровідна котушка",
+ "block.tfg.superconductor_coil_small": "Мала надпровідна котушка",
"block.tfg.interplanetary_item_launcher": "Міжпланетний рейлган",
- "block.tfg.railgun_item_loader_in": "Вхідний модуль рейлгана",
- "block.tfg.interplanetary_item_reciever": "Міжпланетний приймач",
- "block.tfg.railgun_item_loader_out": "Вихідний модуль рейлгана",
+ "block.tfg.interplanetary_item_receiver": "Міжпланетний приймач",
+ "block.tfg.interplanetary_logistics_monitor": "Міжпланетний логістичний монітор",
+ "block.tfg.railgun_ammo_loader": "Завантажувач боєприпасів рейлгана",
+ "block.tfg.ulv_railgun_item_loader_in": "§8ULV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.lv_railgun_item_loader_in": "§7LV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.mv_railgun_item_loader_in": "§bMV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.hv_railgun_item_loader_in": "§6HV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.ev_railgun_item_loader_in": "§5EV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.iv_railgun_item_loader_in": "§9IV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.luv_railgun_item_loader_in": "§dLuV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.zpm_railgun_item_loader_in": "§cZPM Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.uv_railgun_item_loader_in": "§3UV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.uhv_railgun_item_loader_in": "§4UHV Міжпланетний рейлганний вхідний модуль§r",
+ "block.tfg.ulv_railgun_item_loader_out": "§8ULV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.lv_railgun_item_loader_out": "§7LV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.mv_railgun_item_loader_out": "§bMV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.hv_railgun_item_loader_out": "§6HV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.ev_railgun_item_loader_out": "§5EV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.iv_railgun_item_loader_out": "§9IV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.luv_railgun_item_loader_out": "§dLuV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.zpm_railgun_item_loader_out": "§cZPM Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.uv_railgun_item_loader_out": "§3UV Міжпланетний рейлганний вихідний модуль§r",
+ "block.tfg.uhv_railgun_item_loader_out": "§4UHV Міжпланетний рейлганний вихідний модуль§r",
"block.tfg.sunflower_wild": "Дикий соняшник",
"block.tfg.sunflower_dead": "Мертвий соняшник",
"block.tfg.rapeseed_wild": "Дикий ріпак",
"block.tfg.rapeseed_dead": "Мертвий ріпак",
+ "block.tfg.casings.machine_casing_iron_desh": "Обшивка машини з дешу",
+ "block.tfg.casings.machine_casing_blue_solar_panel": "Базовий корпус сонячної панелі",
+ "block.tfg.casings.machine_casing_green_solar_panel": "Просунутий корпус сонячної панелі",
+ "block.tfg.casings.machine_casing_red_solar_panel": "Єлітний корпус сонячної панелі",
+ "block.tfg.casings.machine_casing_aluminium_plated_steel": "Сталевий корпус покритий алюміній",
"block.tfg.sand.fluorapatite.blue": "Синій флуорапатитовий пісок",
"block.tfg.sandstone.raw.fluorapatite.blue": "Сирий пісковик із синього флуорапатиту",
"block.tfg.sandstone.wall.raw.fluorapatite.blue": "Стіна з необробленого синього флуорапатитового пісковику",
@@ -263,6 +323,14 @@
"block.tfg.sandstone.stairs.smooth.fluorapatite.yellow": "Сходи з гладкого жовтого флуорапатитового пісковику",
"block.tfg.sandstone.fluorapatite.yellow": "Тесаний жовтий флуорапатитовий пісковик",
"block.tfg.sandstone.smooth.chiseled.fluorapatite.yellow": "Різьблений жовтий флуорапатитовий пісковик",
+ "fluid.tfg.nether_slurry": "Незерський шлам",
+ "fluid.tfg.enriched_nether_slurry": "Збагачений незерський шлам",
+ "fluid.tfg.ender_slurry": "Ендерський шлам",
+ "fluid.tfg.enriched_ender_slurry": "Збагачений ендерський шлам",
+ "fluid.tfg.semiheavy_ammoniacal_water": "Термохімічно збагачена амоніачна напівважка вода",
+ "fluid.tfg.heavy_water": "Важка вода",
+ "fluid.tfg.sulfur_fumes": "Сірчані випари",
+ "fluid.tfg.super_heated_slurry": "Супернагрітий шлам",
"item.tfg.antipoison_pill": "Антиотруйна Пілюля",
"item.tfg.haste_pill": "Пілюля Прискорення",
"item.tfg.night_vision_pill": "Пілюля Нічного Бачення",
@@ -312,6 +380,7 @@
"item.tfg.spade_head_extruder_mold": "Форма Екструдера (Лопатоподібна Головка)",
"item.tfg.unfired_chalk": "Необпалена Крейдяна Паличка",
"item.tfg.armor_stand_arms": "Стійка для Броні з Руками",
+ "item.tfg.flint_club_head": "Кам’яне оголів'я булави",
"item.tfg.brick.deepslate": "Мігматитовий Цегла",
"item.tfg.loose.moon_stone": "Розсипчастий Анортозит",
"item.tfg.brick.moon_stone": "Анортозитова Цегла",
@@ -326,6 +395,8 @@
"item.tfg.brick.glacio_stone": "Фонолітова цеглина",
"item.tfg.loose.permafrost": "Брила Вічної Мерзлоти",
"item.tfg.brick.permafrost": "Цегла Вічної Мерзлоти",
+ "item.tfg.loose.red_granite": "Насипний червоний граніт",
+ "item.tfg.brick.red_granite": "Цегла з червоного граніту",
"item.tfg.terra_firma_greg": "TerraFirmaGreg",
"item.tfg.scaffolding_frame": "Каркасні Ліси",
"item.tfg.airship_hull": "Корпус Дирижабля",
@@ -402,12 +473,32 @@
"item.tfg.food.freeze_dried.pineapple": "Сублімований ананас",
"item.tfg.food.calorie_paste": "Калорійна паста",
"item.tfg.food.meal_bag": "Сумка для їжі",
+ "item.tfg.food.ice_soup": "Крижаний суп",
"item.tfg.roasted_sunflower_seeds": "Смажене насіння соняшника",
"item.tfg.sunflower_seeds": "Насіння соняшника",
"item.tfg.sunflower_product": "Соняшнткова Кепка",
"item.tfg.rapeseed_seeds": "Насіння ріпаку",
"item.tfg.rapeseed_product": "Ріпакові Овули",
- "item.tfg.interplanetary_link": "Міжпланетний зв’язок",
+ "item.tfg.flintlock_mechanism": "Крем’яний ударний механізм",
+ "item.tfg.advanced_clockwork_mechanism": "Удосконалений годинниковий механізм",
+ "item.tfg.certus_mechanism": "Механізм Цертус",
+ "item.tfg.small_bullet_casing": "Малий гільзовий корпус",
+ "item.tfg.large_bullet_casing": "Великий гільзовий корпус",
+ "item.tfg.shell_bullet_casing": "Гільза снарядного типу",
+ "item.tfg.nitrocellulose": "Нітроцелюлоза",
+ "item.tfg.aes_wool": "Лужноземельна силікатна вата",
+ "item.tfg.aes_compressed_wool": "Стиснена лужноземельна силікатна вата",
+ "item.tfg.aes_insulation_sheet": "Листова лужноземельна силікатна ізоляція",
+ "item.tfg.aes_insulation_roll": "Рулонна лужноземельна силікатна ізоляція",
+ "item.tfg.rocket_cone_t2": "Удосконалений ракетний носовий конус",
+ "item.tfg.rocket_fin_t2": "Удосконалене ракетне оперення",
+ "item.tfg.cryo_fluix_pearl": "Заморожена перлина Fluix",
+ "item.tfg.marker.earth_orbit": "Орбіта Землі",
+ "item.tfg.marker.moon_orbit": "Місячна Орбіта",
+ "item.tfg.marker.mars_orbit": "Орбіта Марса",
+ "item.tfg.marker.venus_orbit": "Орбіта Венери",
+ "item.tfg.marker.mercury_orbit": "Орбіта Меркурія",
+ "item.tfg.railgun_ammo_shell": "Снаряд для рейлгана",
"item.tfg.sulfur_fumes_bucket": "Відро з сірчаними випарами",
"item.tfg.super_heated_slurry_bucket": "Відро з перегрітою пульпою",
"item.tfg.cryogenized_fluix_bucket": "Відро кріофлюїксу",
@@ -420,6 +511,21 @@
"item.tfg.compressed_heliox_3_bucket": "Відро геліоксу-3",
"item.tfg.compressed_trimix_bucket": "Відро з триміксом 50/30/20",
"item.tfg.compressed_trimix_3_bucket": "Відро з триміксом-3 50/30/20",
+ "item.tfg.harvest_basket": "Кошик для врожаю",
+ "item.tfg.aluminium_harvest_basket": "Алюмінієвий кошик для врожаю",
+ "item.tfg.wood.lumber.aeronos": "Деревина Аеронос",
+ "item.tfg.wood.lumber.strophar": "Деревина Строфар",
+ "item.tfg.wood.lumber.glacian": "Деревина Глаціан",
+ "item.tfg.aes_polyurethane": "Армована R-поліуретанова піна AES",
+ "item.tfg.mli_shielding": "Багатошарове ізольоване екранування",
+ "item.tfg.rocket_cone_t3": "Високотехнологічний носовий обтічник ракети",
+ "item.tfg.rocket_fin_t3": "Високотехнологічне ракетне оперення",
+ "item.tfg.elite_power_thruster": "§aЕлітний енергетичний рушій",
+ "item.tfg.silica_aerogel": "Силіковий аерогель",
+ "item.tfg.better_space_suit_fabric": "Адаптивна тканина космічного скафандра",
+ "item.tfg.universal_compost_browns": "Коричневий універсальний компост",
+ "item.tfg.universal_compost_greens": "Зелений універсальний компост",
+ "item.tfg.etching_diamond_tip": "Гравіювальний алмазний наконечник",
"material.tfg.latex": "Латекс",
"material.tfg.vulcanized_latex": "Вулканізований Латекс",
"material.tfg.fluix": "Флюс",
@@ -450,6 +556,8 @@
"material.gtceu.asurine": "Азурин",
"material.tfg.kaolinite": "Каолініт",
"material.tfg.vitrified_pearl": "Вітрифікований Ендер",
+ "material.tfg.aes_mix": "Суміш силікатів лужноземельних елементів",
+ "material.tfg.molten_aes": "Розплавлена силікатна суміш лужноземельних елементів",
"material.tfg.compressed_nitrox": "Стиснений Найтрокс",
"material.tfg.compressed_heliox": "Стиснений Геліокс",
"material.tfg.compressed_heliox_3": "Стиснений Геліокс-3",
@@ -459,6 +567,26 @@
"material.tfg.acetylene": "Ацетилен",
"material.tfg.1_1_1_2_tetrafluoroethane": "1,1,1,2-Тетрафторетан",
"material.tfg.isobutane": "Ізобутан",
+ "material.tfg.chloryl_fluoride": "Хлорилфторид",
+ "material.tfg.chlorine_pentafluoride": "Хлоринпентафторид",
+ "material.tfg.solar_coolant": "Сонячний охолоджувач",
+ "material.tfg.sodium_hydride": "Гідрид натрію",
+ "material.tfg.boric_acid": "Борна кислота",
+ "material.tfg.trimethyl_borate": "Три метил борат",
+ "material.tfg.sodium_borohydride": "Натрій борогідрид",
+ "material.tfg.sodium_methoxide": "Натрій метоксид",
+ "material.tfg.ammonia_borane": "Амоній борогідрид",
+ "material.tfg.aniline": "Анілін",
+ "material.tfg.dimethyl_carbonate": "Диметилкарбонат",
+ "material.tfg.methyl_phenylcarbamate": "Метил-N-фенілкарбамат",
+ "material.tfg.methylene_diphenyl_dicarbamate": "Метилендифеніл-4,4'-дикарбамат",
+ "material.tfg.methylene_diphenyl_diisocyanate": "Метилендифеніл-4,4'-діізоціанат",
+ "material.tfg.tmos": "Тетраметоксисилан",
+ "material.tfg.silica_gel": "Silica Gel",
+ "material.tfg.soaked_silica_gel": "Силікагель, просочений ацетоном",
+ "material.tfg.nuclear_residue": "Ядерний залишок",
+ "material.tfg.oxidized_nuclear_residue": "Окислений ядерний залишок",
+ "material.tfg.refined_nuclear_residue": "Перероблене ядерне паливо",
"tfg.creative_tab.tfg": "TerraFirmaGreg",
"tfg.disabled_portal": "Магія порталу здається заблокованою невідомою силою, спробуйте дістатися до іншого виміру, спускаючись вниз або підіймаючись угору",
"tfg.tooltip.food_trait.refrigerating": "§bОхолодження",
@@ -644,6 +772,7 @@
"tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_orange_block": "Фарбування",
"tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_red_block": "Фарбування",
"tfc.recipe.barrel.simplylight.barrel.dyeing.illuminant_brown_block": "Фарбування",
+ "tfc.recipe.barrel.tfg.barrel.treated_chipboard_composite": "Обробка композитної дсп",
"tfc.recipe.barrel.tfg.barrel.soak_hardwood_strip": "Замочування Твердих Дерев'яних Планок",
"tfc.recipe.barrel.tfg.barrel.treated_wood_planks": "Обробка Дерев'яних Планок",
"tfc.recipe.barrel.tfg.barrel.packed_ice": "Замерзання льоду",
@@ -711,6 +840,38 @@
"tfg.grapplemod.downgrades.angle": "Зменшує §lГоризонтальний Кут Кидка§r для подвійних гаків з 5°, до 5°°. \nДоступно лише за умови встановлення §lПодвійного Гака§r.",
"quests.ae2": "Applied Energistics 2",
"quests.ae2.subtitle": "Найпотужніший інструмент, що допоможе тобі з GregTech, відкривається після твоєї першої подорожі на Місяць",
+ "quests.ae2.certus_quartz.title": "Істинний кварц",
+ "quests.ae2.certus_quartz.subtitle": "Маленький крок для тебе — гігантський стрибок для логістики",
+ "quests.ae2.certus_quartz.desc": "З першим кроком на Місяці ти отримуєш доступ до своєї першої жили &bІстинного кварцу&r.\nНе хвилюйся — вони досить поширені й мають бути легкими для пошуку, хоча хороший Розвідник руди точно не завадить.\n\nЧи вирішиш ти встановити шахтаря, чи викопати жилу вручну — обов’язково назбирай солідну кількість, адже вона знадобиться для прогресу в AE2.",
+ "quests.ae2.certus_quartz.task": "Руда істинного кварцу",
+ "quests.ae2.polarizer.title": "Намагнічувач",
+ "quests.ae2.polarizer.subtitle": "Редстону недостатньо",
+ "quests.ae2.polarizer.desc": "Одним із головних ресурсів для Applied Energistics 2 буде &bЗаряджений Істинний кварц&r.\n\nОтримати його можна лише одним способом — через &6HV&r Намагнічувач.\n\nТи швидко помітиш, що рецепт займає багато часу, тож дуже рекомендується виділити окремий Намагнічувач саме для цієї задачі.\n\nСпочатку це може здатися дорогим або складним, але не хвилюйся — воно того варте.\n\nІ пам’ятай: не заряджай весь свій Істинний кварц! Деякі незаряджені кристали знадобляться для таких предметів, як Ядро Анігіляції, тож завжди тримай невеликий запас.",
+ "quests.ae2.hv_machines.title": "Три мушкетери",
+ "quests.ae2.hv_machines.subtitle": "Чи, може, їх чотири?",
+ "quests.ae2.hv_machines.desc": "&eПросіювач&r використовується для обробки руди, щоб збільшити вихід Істинного кварцу, кварциту, Незер-кварцу, рубіну та армалколіту — усі вони критично важливі для AE2. Альтернативно, можна просто переплавити руду в Печі, якщо поспішаєш, але при цьому втратиш багато безкоштовних ресурсів.\n\nДругий механізм — це &eЗмішувач&r, єдиний спосіб створити &dКристали Флуіксу&r (докладніше — у наступному квесті). Не забудь, що також можна використати Змішувач із Greate як машину рівня &6HS&r.\n\nТретій — &eЛазерний гравер&r, який дозволяє об’єднувати менш якісні дорогоцінні камені в Вишукані, що дає кращий вихід Флуікс-кристалів.\n\nІ нарешті, пам’ятай: &eАвтоклав&r допоможе генерувати ще більше каменів із пилу. Як тільки матимеш ресурси — створення автоклава значно полегшить життя.",
+ "quests.ae2.hv_machines.task": "Greate або GregTech?",
+ "quests.ae2.fluix_crystal.subtitle": "Енергетичний Кристал",
+ "quests.ae2.fluix_crystal.desc": "Як бачиш, існує кілька способів створення Кристали Флуіксу за допомогою &eЗмішувача&r.\n\nЧим вища чистота вхідних каменів, тим кращий вихід — саме тому ми раніше рекомендували створити &eПросіювач&r.\n\nТобі знадобиться величезна кількість Кристали Флуіксу, особливо враховуючи, що &5рідка версія&r використовується в більшості рецептів Applied Energistics 2.\n\nТож готуйся — їх потрібно буде дуже багато!",
+ "quests.ae2.extractor.title": "Екстрактор Рідини",
+ "quests.ae2.extractor.subtitle": "Цінний Флуікс",
+ "quests.ae2.extractor.desc": "Більшість твоїх Кристалів Флуіксу буде перетворено на &5Рідкий Флуікс&r.\nОднак не забудь залишити кілька в кристалічній формі — деякі рецепти вимагають саме її.\n\nБудь-який &eЕкстрактор&r впорається з цим завданням — нічого складного не потрібно.",
+ "quests.ae2.extractor.task": "Будь-який екстрактор",
+ "quests.ae2.fluix_liquid.title": "Рідкий флюікс",
+ "quests.ae2.fluix_liquid.subtitle": "Місяці дешевше",
+ "quests.ae2.fluix_liquid.desc": "Ми попереджали, що тобі знадобиться величезна кількість Рідкого Флуіксу… але не згадали, що існує спосіб значно збільшити вихід з одного Кристалу Флюіксу.\n\nЗустрічай: &bКріогенізований Флуікс&r — надхолодна рідина, яку можна створити лише на Місяці за допомогою &bВакуумного Заморожувача&r. Просто поєднай Рідкий Флуікс з Гелієм-3!\n\nЦя особлива рідина може замінити Рідкий Флуікс майже в усіх рецептах — але тільки під час створення на Місяці.\n\nМісячні рецепти AE2 мають величезні переваги: менші витрати енергії, менше компонентів, а іноді — і те, й інше! Інвестування в повноцінну місячну базу для виробництва AE2 окупиться з лишком, особливо на ранніх етапах гри.\n\nЦе не обов’язково — поки що. Але створення другої бази вже зараз значно полегшить твоє майбутнє просування, адже планетна інфраструктура стане критично важливою пізніше. То чому б не випередити події?",
+ "quests.ae2.ae_processor.title": "Процесори",
+ "quests.ae2.ae_processor.subtitle": "Компоненти AE2",
+ "quests.ae2.ae_processor.desc": "Усі три &eПроцесори&r широко використовуються в рецептах Applied Energistics 2.\n\nЦе також чудова нагода побачити, наскільки ефективними можуть бути &3Місячні&r рецепти для їхнього крафту.\n\nАле зрештою — вибір за тобою. Будуй інфраструктуру там, де тобі зручно.",
+ "quests.ae2.forming_press.title": "Прес для формування",
+ "quests.ae2.forming_press.subtitle": "Маленьке — теж добре",
+ "quests.ae2.forming_press.desc": "Щоб отримати друковані схеми, тобі потрібно створити &6HV&r Прес для формування.\n\nДобра новина? Він має кілька вхідних слотів, тож ти можеш вставити всі свої пресформи для схем одночасно — одного Преса вистачить, щоб обробити всі типи друкованих схем.",
+ "quests.ae2.ae_press.title": "Прес для гравіювання",
+ "quests.ae2.ae_press.subtitle": "Пошуки скарбу",
+ "quests.ae2.ae_press.desc": "Одне з останніх завдань перед повним зануренням у Applied Energistics 2 — зібрати 4 &eПреси&r.\n\nЩоб їх отримати, потрібно знайти &eМетеорит Ae2&r на &3Місяці&r — вони виглядають як темні сфери на дні великих кратерів. На щастя, вони трапляються не надто рідко, і один метеорит містить усі чотири Преси.\n\n&cАле будь обережним&r — ці метеорити часто охороняються, тож озбройся, візьми рудошукач, якщо маєш, і щасливого полювання!",
+ "quests.ae2.ae_guide.title": "Вітаємо в AE2",
+ "quests.ae2.ae_guide.subtitle": "Ще одна безкоштовна книжка для твоєї колекції!",
+ "quests.ae2.ae_guide.desc": "Ось ти і готовий розпочати свою &bAE2&r-інфраструктуру!\n\nЦей розділ переважно пояснює, що ти вже можеш створити, а що — ще ні.\nМи також виділимо найважливіші предмети, на які варто звернути увагу.\n\nОднак, щоб повністю розібратися з Applied Energistics 2, наполегливо радимо скористатися клавішею &bG&r (аналог системи Ponder з Create) або відкрити &bME Guide&r, яку ти отримаєш як нагороду за це завдання. Це найкращий внутрішньоігровий довідник для AE2. Альтернатива — переглянути онлайн-відео про AE2 для версії &61.20.1&r, де знайдеш детальні пояснення — AE2 надзвичайно популярний мод, тому тут безліч гайдів!\n\n&dПорада&r: Багато рецептів з &bAE2&r мають дешевші альтернативи для Місяця. Тож інвестиції в місячну базу щедро окупляться протягом усієї гри.",
"quests.tasktype.checkmark": "Натисніть тут, щоб завершити це завдання/квест",
"quests.tasktype.item.any": "Будь-який тип предмету:",
"quests.tasktype.lookat": "Погляньте на:",
@@ -723,7 +884,7 @@
"quests.groups.tips": "Поради",
"quests.computer": "ComputerCraft",
"quests.computer.subtitle": "Дуже потужний мод для скриптингу на Lua",
- "quests.create_logistics": "Create Logistics",
+ "quests.create_logistics": "Логістика Create",
"quests.create_logistics.subtitle": "Управління складом для чайників",
"quests.create_logistics.introduction.title": "Кмітливість у дії",
"quests.create_logistics.introduction.desc": "Використовуючи кілька машин із &3Create&r, ти зможеш суттєво покращити транспортування та зберігання предметів. А згодом, коли досягнеш &2Епохи Вольтаїки&r, зможеш навіть налаштувати процеси для автоматичного замовлення певних предметів або їх маршрутизації по базі!\n\nОскільки ця гілка квестів здебільшого стосується машин із Create, найкращим джерелом інформації (окрім самих квестів) буде &5Обмірковування&r машин — обов’язково переглянь відповідні записи.",
@@ -734,7 +895,7 @@
"quests.create_logistics.frogport.title": "Package Frogports",
"quests.create_logistics.frogport.subtitle": "Ланцюг командування",
"quests.create_logistics.frogport.desc.1": "&3Пакувальні Жабопорти&r — один із трьох способів переміщення упаковок і доставки їх у потрібне місце. Вони можуть підвішувати упаковки до &3Ланцюгових конвеєрів&r, по яких ті транспортуються вздовж з’єднань ланцюгів. Щоб їх використовувати, спершу потрібно створити мережу &3Ланцюгових конвеєрів&r, з’єднаних між собою ланцюгами та підключених до живлення: підійде будь-який ланцюг із тегом &d#forge:chains&r. Клацни Пкм по з’єднанню ланцюга перед тим, як встановити Жабопорт, щоб він взаємодіяв із цим сегментом.\n\nЖабопорти, розміщені безпосередньо над &3Пакувальником&r, автоматично підвішують упаковки, створені цим Пакувальником.",
- "quests.create_logistics.frogport.desc.2": "Жабопорти можуть не лише надсилати упаковки, а й приймати їх. Якщо клацнути Пкм по Жабопорту, відкриється його назва, яку можна змінити. Ця назва слугує &aадресою&r — якщо якась упаковка має відповідну адресу призначення, Жабопорт &aавтоматично забере її&r з ланцюгової мережі! Отримана упаковка буде поміщена в інвентар блока, на якому встановлено Жабопорт.\n\nГоловне, щоб ланцюгова мережа була &oякось&r з’єднана з вхідними та вихідними Жабопортами — тоді упаковка зрештою знайде шлях. Але ти можеш оптимізувати маршрути, щоб скоротити час подорожі.",
+ "quests.create_logistics.frogport.desc.2": "Жабопорти можуть не лише надсилати упаковки, а й приймати їх. Якщо клацнути ПКМ по Жабопорту, відкриється його назва, яку можна змінити. Ця назва слугує &aадресою&r — якщо якась упаковка має відповідну адресу призначення, Жабопорт &aавтоматично забере її&r з ланцюгової мережі! Отримана упаковка буде поміщена в інвентар блока, на якому встановлено Жабопорт.\n\nГоловне, щоб ланцюгова мережа була &oякось&r з’єднана з вхідними та вихідними Жабопортами — тоді упаковка зрештою знайде шлях. Але ти можеш оптимізувати маршрути, щоб скоротити час подорожі.",
"quests.create_logistics.package_filter.title": "Фільтри упаковок",
"quests.create_logistics.package_filter.subtitle": "Загальне рішення для маршрутизації упаковок",
"quests.create_logistics.package_filter.desc": "Упаковки можна маршрутизувати за допомогою спеціального &3Фільтра упаковок&r, який працює так само, як і будь-який інший фільтр у машинах &3Create&r, що підтримують фільтрувальні слоти. Просто клацни Пкм, тримаючи фільтр у руці, і введи адресу, яку потрібно фільтрувати — усі упаковки з відповідною адресою призначення проходитимуть далі. Це особливо корисно для &3Латунних тунелів&r, щоб твоя стрічкова мережа могла направляти упаковки за адресою.",
@@ -754,7 +915,7 @@
"quests.create_logistics.rose_quartz.desc": "Переміщення упаковок — це, звісно, добре, але хіба на цьому все закінчується? І справді — можливостей набагато більше! Упаковки можна використовувати для &aЗчитування вмісту інвентарів&r, &aДистанційної доставки&r, а згодом навіть для &aАвтоматичної відправки інгредієнтів на обробку&r, коли їх кількість опускається нижче певного порогу!\n\nАле перш ніж занурюватися в &2Високу логістику&r, слід трохи підготуватись.\n\nДля створення відповідного обладнання знадобляться &dПередавачі&r, які реально виготовити лише за допомогою світла високої енергії, заломленого через дуже особливий мінерал — &dРожевий кварц&r. Інакше кажучи, нам потрібні і &7Базовий &3Лазерний гравер&r, і спосіб отримати &dЛінзу з рожевого кварцу&r — тож час братися до справи, га?",
"quests.create_logistics.cold_rose_quartz.title": "Джерело рожевого кварцу: Холодні регіони",
"quests.create_logistics.cold_rose_quartz.subtitle": "Північ пам’ятає",
- "quests.create_logistics.cold_rose_quartz.desc.1": "Єдине природне джерело &dРожевого кварцу&r достатньої якості для зручного створення &dЛінзи&r розташоване далеко на півночі, в умовах лютих морозів (нижче &b-10°C&r). Маєш флешбеки з каоліновою глиною?\n\nРожевий кварц утворюється лише в ядрах давніх льодовиків, тож шукати його слід там, де ці льодовики зрештою зупиняються — на пляжах, біля озер, у рівнинах і навіть під водою в океанах. Хоча це й нечасте явище, ядро льодовика легко впізнати за зовнішньою оболонкою з &bСинього льоду&r. Усередині ти знайдеш &dРожевий кварц&r — спершу у вигляді руди, а в самому центрі — як стиснені блоки необробленої руди.\n\nНам потрібен саме &dВишуканий рожевий кварц&r, який можна отримати шляхом &3дроблення, промивання та просіювання&r добутої руди. Ймовірність випадіння вишуканого самоцвіту — 3%, але тобі вистачить лише одного, щоб просунутись далі.\n\n&c&lНе виплавляй руду — отримаєш лише звичайний рожевий кварц!&r!",
+ "quests.create_logistics.cold_rose_quartz.desc.1": "Єдине природне джерело &dРожевого кварцу&r достатньої якості для зручного створення &dЛінзи&r розташоване далеко на півночі, в умовах лютих морозів (нижче &b-10°C&r). Маєш флешбеки з каоліновою глиною?\n\nРожевий кварц утворюється лише в ядрах давніх льодовиків, тож шукати його слід там, де ці льодовики зрештою зупиняються — на пляжах, біля озер, у рівнинах і навіть під водою в океанах. Хоча це й нечасте явище, ядро льодовика легко впізнати за зовнішньою оболонкою з &bСинього льоду&r. Усередині ти знайдеш &dРожевий кварц&r — спершу у вигляді руди, а в самому центрі — як стиснені блоки необробленої руди.\n\nНам потрібен саме &dВишуканий рожевий кварц&r, який можна отримати шляхом &3дроблення, промивання та просіювання&r добутої руди. Ймовірність випадіння вишуканого самоцвіту — 3 відсотки, але тобі вистачить лише одного, щоб просунутись далі.\n\n&c&lНе виплавляй руду — отримаєш лише звичайний рожевий кварц!&r!",
"quests.create_logistics.cold_rose_quartz.desc.2": "Ті самі приготування, які ти, можливо, вже робив для каолінової глини, знадобляться й тут: запасися великою кількістю їжі, джерелом питної води та транспортом (човни — це добре, але &3Літальні апарати&r на цьому етапі вже мають бути тобі доступні).\n\nТакож варто прихопити &3Мідне спорядження для занурення&r. &3Шолом&r дозволить тобі &aДихати під водою&r у парі з &3Мідним балоном&r (його потрібно наповнити стисненим повітрям, розмістивши на землі та подавши обертальний рух від Create), а &3Чоботи&r допоможуть &aЛегше пересуватись під водою&r. Ядра льодовиків часто трапляються в океані, і без цих приготувань їх видобуток може стати справжнім випробуванням (хоча іноді вони трапляються й на суші).",
"quests.create_logistics.fabricate_rose_quartz.title": "Джерело рожевого кварцу: MV",
"quests.create_logistics.fabricate_rose_quartz.subtitle": "Так само добре, як і справжнє",
@@ -846,51 +1007,51 @@
"quests.gregtech_energy": "GregTech Енергія",
"quests.gregtech_energy.subtitle": "So how does all of that work?",
"quests.gregtech_energy.start.title": "Давай щось пояснимо",
- "quests.gregtech_energy.start.desc": "Ми знаємо, що &5GregTech&r — не найпростіший мод для освоєння, особливо коли йдеться про &cенергетичну систему&r. Саме тому в цьому розділі ми не поспішатимемо й пояснимо все, що зможемо.\n\nДеякі речі можуть не мати повного сенсу на цьому етапі твого прогресу, тож &aне переймайся&r. Просто спробуй зрозуміти те, що можеш зараз, і не соромся &dповертатися до цього розділу&r, коли виникатимуть питання.\n\nМи розділили цей розділ на &eчотири категорії&r, \nкожна з яких охоплює тему, пов’язану з &6Енергетичною системою GregTech&r. Ми надамо якомога більше прикладів, щоб допомогти тобі зрозуміти, як усе працює.",
+ "quests.gregtech_energy.start.desc": "Ми знаємо, що GregTech — не найпростіший мод для освоєння, особливо коли йдеться про &cенергетичну систему&r. Тому в цьому розділі ми не поспішаємо й пояснимо якомога більше.\n\nДеякі речі тут можуть не повністю зрозумітися до пізніших етапів твого розвитку, тож не переймайся. Просто намагайся засвоїти те, що можеш зараз, і не соромся &dповертатися до цього розділу&r, коли виникатимуть питання.\n\nМи розбили цей розділ на &eчотири категорії&r — кожна охоплює окремий аспект енергетичної системи GregTech. Ми надамо якомога більше прикладів, щоб тобі було легше зрозуміти, як усе працює.",
"quests.gregtech_energy.start.task": "Вітаємо на борту",
- "quests.gregtech_energy.start.subtitle": "Все не так погано, як можна було подумати",
+ "quests.gregtech_energy.start.subtitle": "Все не так уже й погано, як ти думаєш",
"quests.gregtech_energy.moving.title": "Переміщення твоєї енергії",
- "quests.gregtech_energy.moving.subtitle": "Отже, передача енергії",
- "quests.gregtech_energy.moving.desc": "&6Передача енергії в GregTech&r — це розуміння кількох основних механік.\n\nПо-перше, &bРівні енергії&r. Від &aLV&r до &cUHV&r — усе в GregTech, включно з дротами, машинами та рецептами, прив’язане до певного рівня. \nТобі знадобиться &eправильний матеріал для кабелю&r, щоб передавати енергію. \nНаприклад: \n&8•&r Олов’яний дріт = &aLV&r \n&8•&r Мідний дріт = &bMV&r\n\nПо-друге, є механіка &bСили струму&r. Уяви, що &d1 Ампер&r (або &d1A&r) — це &eпакет енергії&r. Він рухається по кабелю до найближчої машини, якій потрібна енергія. \n&8•&r 1A для LV = &a32 EU&r \n&8•&r 1A для HV = &e512 EU&r\n\nБільшість машин і енергетичних шлюзів можуть приймати лише &62A одночасно&r.\n\nОпанування цих двох понять — ключ до подальшого розуміння розподілу енергії.",
+ "quests.gregtech_energy.moving.subtitle": "Отже, передача енергії, га",
+ "quests.gregtech_energy.moving.desc": "Передача енергії в GregTech потребує розуміння кількох основних механік.\n\nПо-перше, &bЕнергетичні рівні&r. Від &aLV&r до &cUHV&r — усе в GregTech (дроти, машини, рецепти) прив’язане до певного рівня. Щоб передавати енергію, потрібен &eправильний матеріал кабелю&r. Наприклад:\n&8•&r Олов’яний дріт = &aLV&r\n&8•&r Мідний дріт = &bMV&r\n\nПо-друге — механіка &bСили струму&r. Уяви, що 1 Ампер (або 1A) — це &eпакет енергії&r. Машини запитують ці \"пакети\", які потім проходять по дротах.\n&8•&r 1A на LV = &a32 EU&r\n&8•&r 1A на HV = &e512 EU&r\n\nБільшість машин і енергетичних шлюзів запитують максимум &62A&r.\n\nОпановування цих двох понять є ключем до подальшого розуміння енергорозподілу.",
"quests.gregtech_energy.moving.task": "Я розумію",
"quests.gregtech_energy.transformer.title": "Супер Трансформатор",
"quests.gregtech_energy.transformer.subtitle": "Краще, ніж Оптимус Прайм",
- "quests.gregtech_energy.transformer.desc": "&6Для кожної проблеми GregTech має багатоблокове рішення.&r Зустрічай &dАктивний Трансформатор&r. \n\nЦей монстр — твій &9найкращий трансформатор&r. Він може &eпередавати енергію між будь-якими рівнями&r — від &aLV&r до &cUHV&r — без &cвибухів&r. Але це ще не найкраща частина. \n\nВін може &bпередавати енергію через Лазерні Труби&r. \n&8•&r Лазери передають абсурдну кількість Ампер. \n&8•&r Без втрат. Без кабелів. Лише чиста енергія. \n&8•&r Єдиний нюанс: &cвони мають бути ідеально прямими&r. \n\n&7Коли кабелі здаються слабкими, &lвикористовуй лазери&r.",
+ "quests.gregtech_energy.transformer.desc": "У GregTech на кожну проблему знайдеться мультиблок-рішення. Зустрічай: &dАктивний Трансформатор&r.\n\nЦей монстр — твій фінальний трансформатор. Він здатен передавати енергію між будь-якими рівнями — від &aLV&r до &cUHV&r — без жодних вибухів. Але це ще не найцікавіше.\n\nВін може передавати енергію через Лазерні труби:\n&8•&r Лазери надсилають неймовірну кількість Амперів.\n&8•&r Без втрат. Без кабелів. Лише чиста енергія.\n&8•&r Є лише одна умова: &cмає бути ідеально пряма лінія&r.\n\nКоли кабелі не справляються — &lвикористовуй лазери&r.",
"quests.gregtech_energy.moving_wire.title": "Рухаючись з дротами",
"quests.gregtech_energy.moving_wire.subtitle": "Дивно розміщується",
- "quests.gregtech_energy.moving_wire.desc": "&6Переміщення енергії в GregTech&r може бути складним&r — маємо втрати через кабелі&r. За кожен блок, за кожен ампер — енергія може губитися під час передачі по дротах. Але не хвилюйся, є &7рішення&r:\n\n&8•&r &bОбгорни дроти&r гумою. Це значно зменшить втрати енергії на відстані. Перевір квестові предмети для прикладу.\n&8•&r &bВикористовуй кабелі вищого рівня&r. Наприклад, платинові кабелі втрачають лише 1 EU на блок — &9майже нічого&r порівняно з їхньою потужністю в 8192 EU.\n&8•&r &bНадпровідники&r. Ці красені дорожчі, але мають &9нульову втрату&r. Їм не потрібна гумова ізоляція, &cжодного шоку&r. Тільки врахуй, що для них потрібні специфічні компоненти відповідно до рівня.\n\n&7Оптимізуй свою енергосистему — &bзменшуй втрати&r та зроби свої установки ефективнішими.",
- "quests.gregtech_energy.moving_wire.task": "Я закінчив огляд дротів",
+ "quests.gregtech_energy.moving_wire.desc": "Передача енергії в GregTech — справа непроста: &bбільшість кабелів мають втрати&r. З кожним блоком, з кожним ампером, частина енергії зникає під час руху дротами. Але рішення є:\n\n&8•&r Покрий дроти гумою. Це значно зменшить втрати енергії на відстані. Просто заглянь у квестові предмети для прикладу.\n&8•&r Використовуй дроти вищого рівня. Наприклад, платинові дроти втрачають лише 1 EU на блок — практично нічого, якщо врахувати, що вони передають до 8192 EU.\n&8•&r &bНадпровідники&r. Ці красені коштують недешево, але мають &90 втрат&r. Їм не потрібні гумові обгортки, і вони не завдають шкоди. Щоправда, зазвичай їх можна створити тільки ближче до завершення свого рівня.\n\nОптимізуй передачу енергії — &bзменшуй втрати&r та зроби свою систему ефективнішою.",
+ "quests.gregtech_energy.moving_wire.task": "Я завершив огляд дротів",
"quests.gregtech_energy.moving_amp.title": "Керування Амперами",
"quests.gregtech_energy.moving_amp.subtitle": "Воно горить?",
- "quests.gregtech_energy.moving_amp.desc.1": "У підказці до кабелю ти побачиш &eМаксимальний Ампераж&r — тобто, скільки ампер він може безпечно передати до того, як згорить.\nЩоб визначити, скільки ампер потече через кабель, слід врахувати два чинники:\n\n&6– Генератор або Батарея видають конкретну кількість Ампер:&r \n&7Буфери Батарей&r видають стільки ампер, скільки батарей в них встановлено. \nКожен одноблочний генератор видає &e1A&r. \nДля мультиблочних генераторів ампераж залежить від &aЕнергетичного Люка Динамо&r — значення можна побачити в його підказці.\n\n&6– Ампераж залежить також від потреби:&r \nКожна машина, під'єднана до енерголінії, запитує ампери для заповнення внутрішнього буфера.",
- "quests.gregtech_energy.moving_amp.desc.2": "Розглянемо приклад: \nУ тебе є &e6 машин&r, під'єднаних до &eБуфера на 8 Батарей&r, який повністю заповнений. \nБуфер намагатиметься надіслати &e1A&r до кожної машини — разом це &e6A&r загалом. \nАмпераж передається по черзі: найближчі машини отримують енергію першими, найвіддаленіші — останні. \nЯкщо твої кабелі підтримують лише &c4A&r, вони &cЗГОРЯТЬ&r. У такому випадку потрібні &a8A&r кабелі.\n\n&bПорада:&r Першій машині в лінії може знадобитися кабель, що витримує &e8A&r, \nа останній — лише &e1A&r, бо вона отримує лише залишки потоку. \n&c⚠ Увага:&r додавання ще однієї машини в кінці може призвести до згорання кабелю, якщо перевищиться ампераж.",
+ "quests.gregtech_energy.moving_amp.desc.1": "Кожен дріт має власний &eМаксимальний Ампераж&r — це кількість амперів, яку кабель може безпечно передавати перед тим, як згоріти.\nЩоб дізнатися, скільки амперів протікатиме через кабель, потрібно врахувати два чинники:\n\n- Генератор або акумуляторна батарея видає конкретну кількість амперів:\nБуфери батарей видають стільки амперів, скільки батарей всередині.\nКожен генератор у один блок видає &e1A&r.\nДля багатоблочних генераторів це залежить від &aЕнергетичного Люка Динамо&r — значення показано в його підказці.\n\nВихідний ампераж також залежить від потреби: кожна машина, під’єднана до електролінії, запитує ампери для заповнення свого внутрішнього буфера.",
+ "quests.gregtech_energy.moving_amp.desc.2": "У вас &e6 механізмів&r, підключених до &e8x батарейного буфера&r з 8 батареями. \nБуфер намагатиметься надіслати &e1A&r кожному механізму — загалом це &e6A&r. \nАмпери передаються по порядку: ближні механізми отримують живлення першими, а найдальші — останніми. \nЯкщо ваші кабелі підтримують лише &c4A&r — вони &cЗГОРЯТЬ&r. У такому разі вам потрібні &a8A кабелі&r.\n\n&bПорада:&r Перший механізм у ланцюгу може потребувати кабель, що витримує &e8A&r, \nа останній — лише &e1A&r, адже отримує лише залишковий струм. \n&c⚠ Увага:&r додавання ще одного механізму в кінці може призвести до згоряння кабелю, якщо ліміт буде перевищено.",
"quests.gregtech_energy.moving_amp.task": "Я зрозумів",
"quests.gregtech_energy.produce_energy.title": "Виробництво Енергії",
"quests.gregtech_energy.produce_energy.subtitle": "Газ чи Нафта?",
"quests.gregtech_energy.produce_energy.desc": "Все зводиться до виробництва енергії, чи не так? Ця частина не буде найскладнішою, оскільки &eвиробництво енергії&r у &2TerraFirmaGreg&r працює майже так само, як у &5стандартному GregTech&r. \n\nТи дізнаєшся про різні &6методи генерації енергії&r, а також про деякі &aпалива&r, які допоможуть отримати максимум від твоєї системи.",
- "quests.gregtech_energy.produce_energy.task": "Зрозуміло",
+ "quests.gregtech_energy.produce_energy.task": "Розпочнімо!",
"quests.gregtech_energy.first_generator.title": "Твої перші генератори",
- "quests.gregtech_energy.first_generator.subtitle": "Починається з малого",
- "quests.gregtech_energy.first_generator.desc": "Всі ці генератори — це базові &61-блокові Генератори&r. Вони мають один &9вхід&r для палива — чи то &eпар&r, &aгаз&r, або &6рідке паливо&r — і видають рівно &e1A&r потужності на своєму рівні енергії. \n\nВони прості у використанні і стануть твоїм &oпершим джерелом енергії&r у &5GregTech&r, \nпоки ти не досягнеш &dвеликих багатоблокових генераторів&r. \n\nЩоб дізнатися, які палива можна використовувати, &aEMI&r — твій найкращий друг. \nАбо ж можеш перевірити &bквести ліворуч&r, де ми перерахували найбільш &aоптимальні входи&r.",
- "quests.gregtech_energy.first_generator.task": "Отримай будь-який з них",
+ "quests.gregtech_energy.first_generator.subtitle": "Почніть з малого",
+ "quests.gregtech_energy.first_generator.desc": "Усі вони — ваші базові &61-блокові Генератори&r. \nВони мають один &9вхід&r для палива — чи то &eпар&r, &aгаз&r, або &6рідке паливо&r — і виробляють рівно &e1A&r потужності на своєму енергетичному рівні.\n\nІз ними легко працювати, і це буде ваш &oперше джерело енергії&r у &5GregTech&r, аж поки ви не дійдете до &dвеликих багатоблочних генераторів&r.\n\nЩоб дізнатися, яке паливо можна використовувати, найкращий варіант — це &aEMI&r — або перевірити &bзавдання ліворуч&r, де ми перелічили най&aоптимальніші джерела&r.",
+ "quests.gregtech_energy.first_generator.task": "Будь-який одноблоковий генератор",
"quests.gregtech_energy.lv_generator.title": "Давай створимо енергію",
"quests.gregtech_energy.lv_generator.subtitle": "Ласкаво просимо до LV",
"quests.gregtech_energy.lv_generator.desc.1": "З початком твого шляху в Електричну еру тобі потрібно виробляти енергію, яка в GregTech називається EU (Електрична одиниця).\n\nІснує три основні способи її генерації:",
- "quests.gregtech_energy.lv_generator.desc.2": "&e1. Парова енергія&r:\n\nЦе найкласичніший метод. Ти можеш перетворювати пару, вироблену твоїми Котлами Високого Тиску, на EU за допомогою Парової турбіни.\n\nВона генерує &e32 EU/t&r при &e64 mB/t&r пари. Якщо обереш цей шлях, ми настійно рекомендуємо створити Великий Бронзовий Котел, який легко заправити Лавою або Креозотом.",
- "quests.gregtech_energy.lv_generator.desc.3": "&e2. Створи обертову енергію&r:\n\nТи можеш використовувати обертову енергію з &eCreate&r разом з Альтернатором для генерації RF, а потім перетворити її на EU за допомогою &7Конвертера LV&r.\n\n&7(Докладніше дивись квест про Альтернатори в розділі LV.)&r",
- "quests.gregtech_energy.lv_generator.desc.4": "&e3. Біодизельна енергія (ексклюзивно для TFG)&r:\n\nОбробляючи &eРіпак&r або &eСоняшник&r, ти можеш отримати велику кількість Олії з насіння. Змішай її з Алкоголем з TFC, щоб створити Біодизель.\n\nЦей метод може здатися складнішим, але Біодизель надзвичайно потужний на етапах &7LV&r та &bMV&r. Згодом він добре масштабується до &5EV&r, коли ти зможеш використовувати &eБіодизель з підвищеним цетановим числом&r.\n\nЩоб використовувати Біодизель, тобі знадобиться &7LV&r Генератор згоряння. Хоч він трохи дорожчий, кожен &emB&r Біодизеля дає велику кількість EU, що спрощує транспортування та зберігання.\n\n&6Ти сам обираєш, як почати виробництво енергії.&r",
- "quests.gregtech_energy.lv_generator.task": "Отримай будь-який з них",
+ "quests.gregtech_energy.lv_generator.desc.2": "&e1. Парова енергія&r:\n\nЦе найкласичніший метод. Ви можете перетворити пару, вироблену вашими Котлами Високого Тиску, на EU за допомогою Парової Турбіни.\n\nВона генерує &e32 EU/t&r при &e64 mB/t&r пари. Якщо ви оберете цей шлях, ми наполегливо рекомендуємо створити Великий Бронзовий Котел, який легко можна заправити лавою, крезотом або іншими твердими паливами (перевірте JEI!).",
+ "quests.gregtech_energy.lv_generator.desc.3": "&e2. Обертальна енергія&r:\n\nВи можете використати обертальну енергію з модифікації Create разом з Альтернатором для генерації RF, а потім перетворити її на EU за допомогою &7Перетворювача LV&r.\n\n(Перевірте завдання \"Альтернатори\" у LV для отримання додаткової інформації.)",
+ "quests.gregtech_energy.lv_generator.desc.4": "&e3. Біодизельна енергія (TFG-ексклюзив)&r:\n\nРіпак та соняшники можна переробити у великі об’єми Масла з Насіння. Об'єднайте його з TFC-Спиртом, щоб отримати Біодизель.\n\nЦей метод може здатися складнішим, але Біодизель надзвичайно потужний на рівнях &7LV&r та &bMV&r. У майбутньому він добре масштабується аж до &5EV&r завдяки &eБіодизелю з Підвищеним Цетановим Числом&r.\n\nЩоб використовувати Біодизель, вам знадобиться &7LV&r Двигун Внутрішнього Згоряння. Хоча він може бути трохи дорожчим, кожен mB Біодизелю дає велику кількість EU, що спрощує транспортування та зберігання.\n\nВибір за вами — як почати своє енергетичне виробництво.",
+ "quests.gregtech_energy.lv_generator.task": "Будь-який Генератор LV",
"quests.gregtech_energy.mv_generator.title": "Генератори MV",
"quests.gregtech_energy.mv_generator.subtitle": "У принципі такі самі, як і LV-генератори",
- "quests.gregtech_energy.mv_generator.desc": "Щоб запускати &bMV&r-машини, тобі потрібно вдосконалити систему виробництва енергії.\n\nЯкщо &7LV&r-генератор виробляє &e32 EU/t&r, то &bMV&r-генератор генерує &e128 EU/t&r.\nВін споживає в чотири рази більше палива для виробництва в чотири рази більше енергії.\n\nЩоб краще зрозуміти генерацію енергії на рівні &7LV&r, радимо переглянути спеціальний квест у розділі &bMV&r, розташований на самому початку.\n\nНа рівні &bMV&r ти також отримуєш доступ до нових можливостей:\n\n- Можна продовжувати використовувати &eБіодизель&r або &eПару&r, але можуть знадобитися більші труби (&7Алюміній&r, &7Сталь&r або &7Потин&r легко з цим впораються).\n- Газоподібне паливо, таке як &eБензол&r, &eЗПГ&r або &eМетан&r, також стає цілком життєздатним рішенням.\n\n&6Уважно досліди свої варіанти, щоб оптимізувати енергосистему.&r",
- "quests.gregtech_energy.mv_generator.task": "Будь-який MV-генератор підійде",
+ "quests.gregtech_energy.mv_generator.desc": "Щоб запускати свої &bMV&r-машини, вам знадобиться оновити систему енергогенерації.\n\nЯкщо &7Генератор LV&r виробляє &e32 EU/t&r, то &bГенератор MV&r працює на &e128 EU/t&r.\nВін споживає вчетверо більше пального, щоб виробити вчетверо більше енергії.\n\nЩоб краще зрозуміти генерацію енергії на рівні &bMV&r, настійно рекомендуємо перевірити відповідне завдання на початку розділу &bMV&r.\n\nНа рівні &bMV&r у вас також з’являється доступ до нових варіантів пального:\n\n- Паливні олії, як-от Дизель або Легке Паливо\n- Газове паливо, наприклад Бензол, LPG або Метан\n- Ви можете продовжити використання Біодизелю чи Пари, хоча можуть знадобитися труби більшого діаметру (Алюміній, Сталь або Потин із цим справляться)\n\nРетельно вивчіть варіанти, щоб оптимізувати свою енергетичну систему.",
+ "quests.gregtech_energy.mv_generator.task": "Будь-який Генератор MV",
"quests.gregtech_energy.hv_single_generator.title": "Останні одноблочні генератори",
- "quests.gregtech_energy.hv_single_generator.subtitle": "Втретє — і пощастить",
+ "quests.gregtech_energy.hv_single_generator.subtitle": "Втретє — і пощастить?",
"quests.gregtech_energy.hv_single_generator.desc": "Якщо ти не хочеш будувати &eВелику парову турбіну&r, ці варіанти — твої єдині можливості на рівні &6HV&r.\n\nОднак май на увазі, що вони не будуть доступні на етапі &5EV&r і далі.\n\nВтім, вони залишаються потужними рішеннями для генерації енергії на рівні &6HV&r.",
- "quests.gregtech_energy.hv_single_generator.task": "Будь-який HV-генератор підійде",
+ "quests.gregtech_energy.hv_single_generator.task": "Будь-який Генератор HV",
"quests.gregtech_energy.hv_fuel.title": "Доступні HV-палива",
- "quests.gregtech_energy.hv_fuel.subtitle": "Кожному своє",
- "quests.gregtech_energy.hv_fuel.desc": "Це три види палива, які відповідно використовуються для &eГенератора згоряння&r, &eПарового генератора&r та &eГазового генератора&r.\n\nЯкщо ти досяг рівня &6HV&r, ми наполегливо рекомендуємо обрати один із цих трьох варіантів.\n\nВтім, не хвилюйся — інші види палива не обов’язково гірші.\n\nЗавжди обирай рішення, що найкраще підходить під твою систему та стиль гри.",
+ "quests.gregtech_energy.hv_fuel.subtitle": "Кожному — своє",
+ "quests.gregtech_energy.hv_fuel.desc": "Це три види пального, що відповідно використовуються для Двигуна Внутрішнього Згоряння, Парогенератора та Газового Генератора.\n\nЯкщо ви досягли рівня &6HV&r, ми настійно рекомендуємо обрати один із цих трьох варіантів.\n\nОднак не хвилюйтеся — інші види пального не обов’язково гірші.\n\nЗавжди обирайте те рішення, яке найкраще підходить для вашої системи та стилю гри.",
"quests.gregtech_energy.hv_fuel.task": "Я зрозумів",
"quests.gregtech_energy.hv_choice.title": "Генерація на рівні HV",
"quests.gregtech_energy.hv_choice.subtitle": "Твій вибір",
@@ -898,104 +1059,262 @@
"quests.gregtech_energy.hv_choice.task": "Я розумію",
"quests.gregtech_energy.lpt.title": "Велика Плазмова Турбіна",
"quests.gregtech_energy.lpt.subtitle": "Тобі потрібен Термоядерний Реактор",
- "quests.gregtech_energy.lpt.desc.1": "&6Велика Плазмова Турбіна&r — також відома як &dВПТ&r — це справжня потужна машина. Не за розміром (він досить стандартний), а за &cємністю&r. Для її створення тобі знадобляться &dLuV Схеми&r, &dLuV Корпус Машини&r та &5тони Вольфрамсталі&r. Це вважається твоїм &6найпотужнішим генератором&r у &2TerraFirmaGreg&r. \n\nЯк це працює? Тобі знадобиться &5Плазма&r, отримана у &6Термоядерному Реакторі&r. Ця плазма охолоджується всередині ВПТ, генеруючи енергію. Тобі знадобиться &2вихідний люк&r, щоб отримати охолоджену плазму.",
- "quests.gregtech_energy.lpt.desc.2": "За замовчуванням ВПТ починає з &e16384 EU/t&r. Цей вихід енергії &cподвоюється&r з кожним підвищенням &6Тримача Ротора&r після &1IV&r. \n\nНаприклад, використання &dLuV Тримача Ротора&r (x2) з &cHSS-E Ротором Турбіни&r (x2,8) дасть тобі вражаючі &e91750 EU/t&r — це приблизно &a2.8A LuV&r потужності! \n\nЯк і інші турбіни, вона &8сповільнюється&r та зупиняється, якщо &dЛюк Динамо&r заповнений, щоб не витрачати плазму, але не потребує &7Люка Глушника&r.",
+ "quests.gregtech_energy.lpt.desc.1": "&6Велика Плазмова Турбіна&r — також відома як &dВПТ&r — це справжній енергетичний монстр. Не за розмірами (вона досить стандартна), а за потужністю. Для її створення вам знадобляться LuV-Схеми, Корпус Машини LuV та купа Вольфрамової Сталі. Її вважають найпотужнішим генератором у TerraFirmaGreg.\n\nТо як вона працює? Вам потрібна Плазма, вироблена за допомогою Реактора Ядерного Синтезу. Ця плазма охолоджується всередині ВПТ, при цьому генерується енергія. Щоб вивести охолоджену плазму, необхідно встановити вихідний люк.",
+ "quests.gregtech_energy.lpt.desc.2": "За замовчуванням ВПТ стартує з &e16384 EU/t&r — це може й не здаватися багато, але вихід енергії &cподвоюється&r з кожним покращенням Держателя Ротора після &1IV&r.\n\nНаприклад, використання Держателя Ротора LuV (x2) разом із Турбінним Ротором з HSS-E (x2.8) дасть вражаючі &e91750 EU/t&r — це приблизно &a2.8A LuV&r енергії!\n\nЯк і інші турбіни, вона сповільнюється і зупиняється, якщо Вихідний Люк Динамо заповнений, тож плазма не витрачатиметься даремно, але на відміну від інших, ця не потребує Глушника.",
"quests.gregtech_energy.lgt.title": "Велика Газова Турбіна",
"quests.gregtech_energy.lgt.subtitle": "Улюбленець фанатів",
- "quests.gregtech_energy.lgt.desc.1": "&6Велика Газова Турбіна&r — також відома як &dВГТ&r — є одним із двох основних джерел &aвиробництва енергії&r для більшості паку. Ти зможеш побудувати свою першу на рівні &5EV&r, використовуючи &6Нержавіючу Сталь&r. Вона може супроводжувати тебе від &5EV&r аж до &dLuV&r, поки ти не будеш готовий перейти на &6Велику Плазмову Турбіну&r. \n\nВтім, багато гравців можуть завершити &2TerraFirmaGreg&r, використовуючи лише ці турбіни — за умови, що у тебе є &cміцна інфраструктура&r для обробки &aгазових потреб&r високорівневих ВГТ. \n\nЩоб побудувати ВГТ, тобі знадобляться стандартні &dЛюк Обслуговування&r та &9Вхідний Люк&r. Ця турбіна &eвимагає Люк Глушника&r, але &cне використовує Вихідний Люк&r. &mТобі потрібно буде керувати &cВуглекислим Газом&r&m, який вона виділяє, за допомогою чогось на кшталт &6Повітряного Очисника&r.&r",
- "quests.gregtech_energy.lgt.desc.2": "За замовчуванням вихідна потужність становить &e4096 EU/t&r. Цей вихід &cподвоюється&r з кожним оновленням &6Тримача Ротора&r після &5EV&r. Наприклад, ВГТ з &1IV Тримачем Ротора&r (×2) та &cHSS-E Ротором Турбіни&r (280% потужності) вироблятиме: &e4096 × 2 × 2.8 = 22,937.6 EU/t&r — це приблизно &a2.8A IV&r. \n\nЩоб повністю витягти цю енергію, тобі знадобиться принаймні &dIV 4A Люк Динамо&r. Звичайний Люк Динамо обробляє лише &e2A&r. \n\nДо речі, &eСтатистика Ефективності&r Ротора Турбіни збільшує &cтривалість рецепту&r, що означає, що ти отримуєш більше енергії з кожного &6mB палива&r. \n\nНарешті, якщо &dЛюк Динамо&r заповниться, ВГТ автоматично &8сповільниться&r та призупинить використання палива, поступово зменшуючи швидкість ротора, поки не відновить роботу. Тож &aти не втратиш жодного палива&r під час резервного копіювання.",
+ "quests.gregtech_energy.lgt.desc.1": "&6Велика Газова Турбіна&r — також відома як &dВГТ&r — це одне з двох основних джерел енергогенерації для більшої частини модпака. Першу турбіну ви зможете побудувати на рівні &5EV&r з використанням Нержавіючої Сталі. Вона зможе обслуговувати вас від &5EV&r аж до &dLuV&r, поки ви не будете готові перейти на Велику Плазмову Турбіну.\n\nВтім, багато гравців здатні завершити TerraFirmaGreg, використовуючи лише ці турбіни — за умови наявності потужної інфраструктури для забезпечення газових потреб турбін високих рівнів.\n\nЩоб побудувати ВГТ, вам знадобляться стандартні Технічний Люк та Вхідний Люк. Ця турбіна потребує Глушника, але не використовує Вихідний Люк.",
+ "quests.gregtech_energy.lgt.desc.2": "Базовий вихід становить &e4096 EU/t&r. Цей показник &cподвоюється&r з кожним оновленням Держателя Ротора після &5EV&r. Наприклад, ВГТ з Держателем Ротора IV (×2) і Турбінним Ротором з HSS-E (280%% потужності) вироблятиме:\n4096 × 2 × 2.8 = &e22,937.6 EU/t&r — це приблизно &a2.8A IV&r.\n\nЩоб повністю забрати цю енергію, вам знадобиться Динамо-люк IV 4A, оскільки звичайний Динамо-люк витримує лише 2A.\n\nДо речі: Показник Ефективності Турбінного Ротора збільшує тривалість рецепту, тобто ви отримуєте більше енергії з кожного mB пального.\n\nНарешті, якщо Динамо-люк заповниться, ВГТ автоматично сповільниться і призупинить використання пального, поступово знижуючи швидкість ротора, доки не відновиться. Тож пальне не буде витрачатися дарма під час затору.",
"quests.gregtech_energy.lst.title": "Велика Парова Турбіна",
- "quests.gregtech_energy.lst.subtitle": "Воно існує",
- "quests.gregtech_energy.lst.desc.1": "&6Велика Парова Турбіна&r — або &dВПТ&r — може бути не найпоширенішим &5Великим Генератором&r у стандартному GregTech, але завдяки ранньому розблокуванню на рівні &6HV&r та тому, що &eВеликі Котли&r є потужнішими у &2TerraFirmaGreg&r, вона точно має своє місце. \n\nЩоб вона працювала, тобі знадобиться &9Вхідний Люк&r для &oпару&r, &eВихідний Люк&r для &9Дистильованої Води&r та, звісно, &dЛюк Обслуговування&r. Це все, що потрібно. \n\nЯк і всі &dВеликі Турбіни&r, ти розмістиш &6Тримач Ротора&r з одного боку та &dЛюк Динамо&r з іншого, щоб витягувати енергію. Для ВПТ Тримач Ротора має бути щонайменше &6HV-рівня&r. Кожне оновлення Тримача Ротора &cподвоює&r вихідну потужність та трохи підвищує &aефективність&r.",
- "quests.gregtech_energy.lst.desc.2": "Базовий вихід ВПТ становить &e1024 EU/t&r. Розглянемо приклад: з &1IV Тримачем Ротора&r (×4) та &cHSS-E Ротором Турбіни&r (280% потужності) ти отримаєш: \n&e1024 × 4 × 2.8 = 11,468.8 EU/t&r — це приблизно &a1.4A IV&r. \n\nЩоб витягти цю енергію, тобі знадобиться або &dIV Люк Динамо&r, або &5EV 16A Люк Динамо&r. \n\nХоча ВПТ не є найкращою турбіною, якщо у тебе є &9достатньо Великих Котлів&r або доступ до &aлави&r чи &7креозоту&r як нескінченного палива, ці &eсталеві, доступні турбіни&r можуть чудово тобі послужити.",
+ "quests.gregtech_energy.lst.subtitle": "Воно... існує",
+ "quests.gregtech_energy.lst.desc.1": "&6Велика Парова Турбіна&r — або &dВПТ&r — можливо, не найпоширеніший Великий Генератор у класичному GregTech, але завдяки ранньому доступу на рівні &6HV&r і тому, що Великі Котли значно сильніші в TerraFirmaGreg, вона точно має своє місце.\n\nЩоб вона працювала, вам знадобиться Вхідний Люк для пари, Вихідний Люк для Дистильованої Води і, звісно ж, Технічний Люк. Це все, що потрібно!\n\nЯк і у випадку з іншими Великими Турбінами, слід розмістити Держатель Ротора з одного боку та Динамо-люк з іншого — для виведення енергії. Для ВПТ Держатель Ротора має бути щонайменше рівня &6HV&r. Кожне покращення Держателя Ротора &cподвоює&r вихідну потужність і трохи підвищує ефективність.",
+ "quests.gregtech_energy.lst.desc.2": "Базовий вихід ВПТ становить &e1024 EU/t&r. Візьмемо приклад: з Держателем Ротора IV (×4) і Турбінним Ротором HSS-E (280%% потужності) ви отримаєте:\n1024 × 4 × 2.8 = &e11,468.8 EU/t&r — це приблизно &a1.4A IV&r.\n\nЩоб вилучити цю енергію, вам знадобиться або Динамо-люк IV, або Динамо-люк EV на 16A.\n\nХоча ВПТ не є найкращою турбіною з існуючих, якщо у вас є вдосталь Великих Котлів або доступ до великої кількості пального, ці сталеві, доступні турбіни можуть чудово вам послужити.",
"quests.gregtech_energy.lce.title": "Великий Генератор Згоряння",
"quests.gregtech_energy.lce.subtitle": "Не вір його GUI",
- "quests.gregtech_energy.lce.desc.1": "Ці дві &6машини&r — твої &aчемпіони&r, якщо ти хочеш перетворювати &eНафту&r на &cпаливо&r. &6Великий Двигун Внутрішнього Згоряння&r (&dДВЗ&r) та &5Екстремальний Двигун Внутрішнього Згоряння&r (&dЕДВЗ&r) використовують однакові типи палива і навіть виглядають схоже — але для їх створення потрібні різні матеріали. \n\nЩоб створити &dДВЗ&r, тобі потрібно досягти &5EV&r та розблокувати &6Титан&r, а також мати хоча б одну &1IV Схему&r. Для &dЕДВЗ&r тобі знадобиться &5Вольфрамсталь&r та &dLuV Схема&r — щось, що ти зможеш створити без проблем під час &1IV Глави&r.",
- "quests.gregtech_energy.lce.desc.2": "Обидві машини потребують &9Вхідного Люка&r для &cпалива&r, а також &6Мастила&r. Для &dЕДВЗ&r додавання &bКисню&r або &bРідкого Кисню&r дасть тобі &cзначний приріст енергії&r. Перевір &eпідказку&r свого палива, щоб порівняти, скільки додаткової енергії ти отримуєш з окисниками — це того варте. \n\nМай на увазі: обидва двигуни потребують &7Люка Глушника&r, тож &cВони Будуть Забруднювати&r.",
+ "quests.gregtech_energy.lce.desc.1": "Ці двоє &6крутеликів&r — ваші чемпіони, якщо ви займаєтесь перетворенням Олій на паливо. &6Великий Двигун Внутрішнього Згоряння&r (&dВДВС&r) та &5Екстремальний Двигун Внутрішнього Згоряння&r (&dЕДВС&r) використовують однакові види пального та навіть виглядають подібно — але для їх створення потрібні різні матеріали.\n\nЩоб скрафтити ВДВС, потрібно досягти рівня &5EV&r і відкрити Титан, а також мати щонайменше одну IV-Схему. Для створення ЕДВС знадобиться Вольфрамова Сталь і LuV-Схема — це має бути комфортно доступним для вас на рівні &1IV&r.",
+ "quests.gregtech_energy.lce.desc.2": "Обидві машини потребують Вхідного Люка для пального, а також Змащувальної Рідини. Для &dECE&r додавання Кисню або Рідкого Кисню забезпечить &cпотужний приріст енергії&r. Перевірте підказку до вашого пального, щоб побачити, скільки додаткової енергії ви отримуєте з окислювачами — це справді того варте.\n\nМайте на увазі: обидва двигуни потребують Глушника.",
"quests.gregtech_energy.lpt_fuel.title": "Плазмові Палива",
"quests.gregtech_energy.lpt_fuel.subtitle": "Воно дуже гаряче",
- "quests.gregtech_energy.lpt_fuel.desc.1": "&6Великі Плазмові Турбіни&r потребують &cвисокотехнологічного палива&r для роботи, і ми пропонуємо тобі &a2 потужні варіанти&r: \n\n&8- Перший варіант&r стає доступним з твоїм &dMK1 Термоядерним Реактором&r: &eГелійова Плазма&r. \nТи можеш створити її, використовуючи &3Дейтерій&r та &3Тритієвий Газ&r — обидва гази отримуються шляхом &aдистиляції Рідкого Ендер Повітря&r. \nЦе паливо не є найпотужнішим, але безперечно &aнайпростішим і найранішим&r у виробництві.",
- "quests.gregtech_energy.lpt_fuel.desc.2": "&8- Другий варіант&r вимагає &5MK3 Ф'южн Реактора&r та дозволяє тобі створювати &eНікелеву Плазму&r. Щоб зробити її, тобі знадобиться &6Рідкий Калій&r — який можна добути з різних руд — та &4сумнозвісний Фтор&r, який ти вже маєш знати, як виробляти. \n\n⚠ Не забудь: &eГелійовий Газ&r та &eРідкий Нікель&r повинні бути &3зібрані та повернуті&r у твоє сховище для &aмайбутнього повторного використання&r. \n\nЦі два види палива — твої &aнайкращі кандидати&r для живлення &dВПТ&r, залежно від того, наскільки далеко ти просунувся у своїй &bіндустріальній лихоманці&r.",
+ "quests.gregtech_energy.lpt_fuel.desc.1": "&6Великі Плазмові Турбіни&r потребують високотехнологічного пального, і ми рекомендуємо два потужні варіанти:\n\nПерший варіант стає доступним разом із вашим Реактором Ядерного Синтезу MK1: &eГелієва Плазма&r.\nВи можете створити її з Дейтера і Тритію — обидва гази добуваються шляхом дистиляції &aРідкого Повітря Ендер&r.\nЦе паливо не є найпотужнішим, але воно, безумовно, є найпростішим і найранішим у виробництві.",
+ "quests.gregtech_energy.lpt_fuel.desc.2": "Другий варіант потребує Реактора Ядерного Синтезу MK3 і дозволяє генерувати &eНікелеву Плазму&r.\nЩоб її створити, вам знадобиться Рідкий Калій — який можна добути з різних руд — та зловісний Фтор, який ви, мабуть, уже вмієте виробляти.\n\n⚠ Не забудьте: Газ Гелію та Рідкий Нікель слід збирати і повертати на склад для подальшого використання.\n\nЦі два види пального — найкращі кандидати для живлення &dВПТ&r, залежно від того, наскільки ви просунулися у своїй індустріальній лихоманці.",
"quests.gregtech_energy.lpt_fuel.task": "Я не хочу створювати відро Плазми",
"quests.gregtech_energy.lgt_fuel.title": "Газові Палива",
- "quests.gregtech_energy.lgt_fuel.subtitle": "Загальний улюбленець",
- "quests.gregtech_energy.lgt_fuel.desc.1": "Коли ми говоримо про &aгазові палива&r, то насправді маємо на увазі &cлише одне&r — &eНітробензен&r. \n\nТи зможеш виробляти його, коли досягнеш &6HV&r, і ми &aнаполегливо рекомендуємо його&r, якщо ти плануєш використовувати &5Велику Газову Турбіну&r. \n\nДо Нітробензену &eБензен&r є хорошим варіантом для старту. Його можна отримати через &aОрганічну Хімію&r або шляхом переробки &eВажкої Нафти&r, якщо тобі пощастило мати її поруч.",
- "quests.gregtech_energy.lgt_fuel.desc.2": "Створення &eНітробензену&r включає кілька етапів — аж до моменту, коли ти зможеш створити свій перший &6Великий Хімічний Реактор&r (&aВХР&r), що дозволить тобі &3пропустити багато проміжних кроків&r та спростити процес. \n\nЦе не надто складно: змішай &3Водень&r, &bАзот&r та &bКисень&r, щоб отримати &eАзотну Кислоту&r у необмеженій кількості. Що стосується &eСірчаної Кислоти&r, ти, мабуть, вже знаєш, що вона складається лише з &6Сірки&r та &9Води&r — правильно? \n\nЯк тільки цей ланцюг запрацює, Нітробензен стане одним із &aнайпотужніших палив&r для газового горіння.",
+ "quests.gregtech_energy.lgt_fuel.subtitle": "Улюбленець усіх",
+ "quests.gregtech_energy.lgt_fuel.desc.1": "Коли ми говоримо про газове паливо, насправді маємо на увазі лише одне — &eНітробензол&r.\n\nВи зможете виробляти його після досягнення рівня &6HV&r, і ми &aнаполегливо рекомендуємо&r його, якщо плануєте використовувати Велику Газову Турбіну.\n\nДо того як ви отримаєте доступ до Нітробензолу, &eБензол&r — це чудовий варіант для старту. Його можна добути з деревної ферми або шляхом переробки Важкої Нафти, якщо вам пощастило мати її поблизу.",
+ "quests.gregtech_energy.lgt_fuel.desc.2": "Виробництво Нітробензолу включає кілька етапів — аж поки ви створите свій перший Великий Хімічний Реактор (ВХР), який дозволить вам пропустити багато підетапів і спростити процес.\n\nУ цьому немає нічого надто складного: поєднайте Водень, Азот і Кисень, щоб створити &eНітратну Кислоту&r у необмеженій кількості. Що ж до Сірчаної Кислоти — ви, мабуть, уже знаєте, що це просто Сірка і Вода, правда ж?\n\nЩойно цей ланцюг запрацює, Нітробензол стає одним із найпотужніших палив для газових генераторів.",
"quests.gregtech_energy.lgt_fuel.task": "Газ у відрі?",
"quests.gregtech_energy.lst_fuel.title": "Це Пар",
"quests.gregtech_energy.lst_fuel.subtitle": "Не надто великий вибір",
- "quests.gregtech_energy.lst_fuel.desc": "Пар — це не надто складно — просто &aкип'яти воду&r, щоб отримати пар. \n\nЩоб зробити це ефективно, рекомендуємо використовувати &6Великі Котли&r. Ти знайдеш &c4 версії&r: по одній для &8ULV&r, &bMV&r, &5EV&r та &1IV&r. Кожен рівень забезпечує &dзначне збільшення&r виходу пари. \n\nОднак май на увазі: масштабування &dВеликої Парової Турбіни&r з цими котлами &cне найкраще&r порівняно з іншими методами генерації енергії. \n\nБільшість гравців &7пропускають&r &5Титанові&r та &dВольфрамсталеві&r Котли — вони існують, якщо тобі потрібні, але насправді &aне є ефективними або вартими побудови&r у більшості випадків. \n\nНагадаємо: &e2 mB&r пари = &e1 EU&r.",
- "quests.gregtech_energy.lst_fuel.task": "",
+ "quests.gregtech_energy.lst_fuel.desc": "Пара — це не складно: просто кип’ятіть воду.\n\nЩоб робити це ефективно, ми рекомендуємо використовувати &6Великі Котли&r. Існує чотири варіанти: для &8ULV&r, &bMV&r, &5EV&r та &1IV&r. Кожен рівень суттєво збільшує обсяг виробленої пари.\n\nПроте майте на увазі: масштабування &dВеликої Парової Турбіни&r з цими котлами не найкраще порівняно з іншими методами генерації енергії.\n\nБільшість гравців ігнорують Титанові та Вольфрамовосталеві Котли — вони існують, якщо ви захочете, але створювати їх не надто вигідно. Пара просто не дуже добре масштабується!\n\nНагадуємо: &e2 mB&r пари = &e1 EU&r.",
+ "quests.gregtech_energy.lst_fuel.task": "Я перейду на щільніше паливо",
"quests.gregtech_energy.lce_fuel.title": "Рідке паливо",
- "quests.gregtech_energy.lce_fuel.subtitle": "Це сильно шкодить планеті",
- "quests.gregtech_energy.lce_fuel.desc.1": "Всі ці &cпалива&r використовуються для &6Генераторів Згоряння&r — розташовані тут від &cнайменш ефективного&r до &aнайкращого&r. \n\nПід час &bMV&r рекомендуємо почати з &eДизеля&r або &eБіодизеля&r. Пізніше ти можеш оновити до &eЦетан-Підсиленого Дизеля&r на рівні &6HV&r, змішуючи його з &bАзотом&r, &3Воднем&r та &bКиснем&r.",
- "quests.gregtech_energy.lce_fuel.desc.2": "Як тільки ти досягнеш &5EV&r та отримаєш &6Дистиляційну Вежу&r, настає час перейти на &eБензин&r та &eВисокооктановий Бензин&r. Не роби цього занадто рано — &cнафту потрібно правильно дистилювати&r, а робити це за допомогою &cДистилятора&r &cне ефективно&r взагалі. \n\nЩоб усе працювало, тобі знадобиться комбінація дистиляції нафти та &aобробки органічних сполук&r. На щастя, &6Піролізна Піч&r та &6Дистиляційна Вежа&r впораються з цим без проблем. \n\nЯкщо ти зможеш забезпечити &aстабільне постачання&r &eВисокооктанового Бензину&r, то зможеш &3завершити весь модпак&r, використовуючи лише &6Генератори Згоряння&r.",
+ "quests.gregtech_energy.lce_fuel.subtitle": "Улюбленець забруднювачів",
+ "quests.gregtech_energy.lce_fuel.desc.1": "Усі ці види пального використовуються для &6Двигунів Внутрішнього Згоряння&r — ранжовані тут від найменш ефективного до найкращого.\n\nПід час &bMV&r ми рекомендуємо почати з Дизелю або Біодизелю. Згодом ви можете перейти на Цетан-Підсилений Дизель на рівні &6HV&r, змішуючи його з Азотом, Воднем і Киснем.",
+ "quests.gregtech_energy.lce_fuel.desc.2": "Щойно ви досягнете рівня &5EV&r і отримаєте доступ до &6Дистиляційної Вежі&r, настав час переходити на Бензин і Високооктановий Бензин. Не варто робити це надто рано — нафти слід правильно дистилювати, і робити це за допомогою звичайної Дистилерії зовсім неефективно.\n\nДля роботи цієї системи вам знадобиться поєднання дистиляції нафти та обробки органічних сполук. На щастя, Піролізна Піч і Дистиляційна Вежа справляються з цим напрочуд ефективно.\n\nЯкщо вам вдасться забезпечити стабільне постачання Високооктанового Бензину, то зможете пройти весь модпак, використовуючи лише Двигуни Внутрішнього Згоряння.",
"quests.gregtech_energy.lce_fuel.task": "У мене достатньо",
"quests.gregtech_energy.large_solar.title": "Велика Сонячна Панель",
"quests.gregtech_energy.large_solar.subtitle": "Гігантське пасивне джерело енергії",
- "quests.gregtech_energy.large_solar.desc.1": "Велика Сонячна Панель — це твоє основне рішення, якщо плануєш розбудову великої бази на Місяці.\n\nВона особливо корисна для &bAE2&r-ліній обробки, а також може живити твої Bedrock-Майнери.\n\nПісля завершення побудови багатоблока не забудь скористатися GT-терміналом — для цього затисни Shift і клацни правою кнопкою миші на контролері.\n\nЩоб переглянути доступні рецепти, просто натисни &eU&r на контролері.",
- "quests.gregtech_energy.large_solar.desc.2": "Існує 3 рівні генерації енергії:\n\n- Перший — повністю пасивний.\n\n- Другий потребує охолоджувача, який можна ідеально замкнути в цикл, лише додаючи Гелій-3.\n\n- Третій, найпотужніший рівень, вимагає невеликої кількості &dКріогенізованого Флюікса&r для роботи.",
+ "quests.gregtech_energy.large_solar.desc.1": "Велика Сонячна Панель — ваше оптимальне рішення, якщо ви плануєте розгорнути велику базу на Місяці.\n\nВона особливо корисна для обробних ліній &bAE2&r і також здатна живити ваші бури корінної породи.\n\nНе забудьте, що ви можете використати предмет GregTech Термінал, щоб миттєво збудувати мультиблок — просто зробіть Присісти-ПКМ на контролері.\n\nПеревірити доступні рецепти можна натиснувши &eU&r на контролері.",
+ "quests.gregtech_energy.large_solar.desc.2": "Існує три рівні генерації енергії:\n\n1) Перший — повністю пасивний.\n\n2) Другий потребує охолоджувача, який можна ідеально зациклити з використанням лише Гелію-3.\n\n3) Третій і найпотужніший рівень потребує невеликої кількості &dКріогенізованого Флюікса&r для роботи.",
"quests.gregtech_energy.solar_panel.subtitle": "Світло в темряві",
"quests.gregtech_energy.solar_panel.desc": "Сонячна панель стане твоїм першим джерелом енергії на Місяці.\n\nВона генерує 64 EU/t протягом дня, але варто пам’ятати, що насправді виробляє RF — тому тобі знадобиться Конвертер для перетворення енергії в EU.\n\nМожна використовувати один &bMV-конвертер&r для двох Сонячних панелей або &6HV-конвертер&r — для чотирьох.",
"quests.gregtech_energy.storage.title": "Збереження Енергії",
- "quests.gregtech_energy.storage.desc": "Збереження енергії — один із &eнайважливіших аспектів&r енергетичної системи у &dGregTech&r. \n\nЧому це так? Просто тому, що навіть &cнайпотужніші генератори&r не зможуть впоратися, коли ти запустиш &eвелике виробництво&r — особливо на пізніх етапах гри. \n\nЩоб вирішити цю проблему, GregTech пропонує &6безліч рішень&r для збереження &bастрономічних обсягів EU&r. Ці сховища діють як &3буфер&r між виробництвом енергії та машинами, які її споживають під час складних операцій. \n\nЯкщо ти готуєшся до &1Термоядерного Реактора&r, &dLCT&r або будь-якого &6HV-IV масштабного виробничого ланцюга&r, тобі знадобиться додатковий запас енергії, щоб усе залишалося стабільним. \n\nНе недооцінюй &aсилу хорошого акумулятора&r — він може врятувати твою базу від аварії у найамбітніші моменти.",
+ "quests.gregtech_energy.storage.subtitle": "Треба ж десь подіти всю цю енергію",
+ "quests.gregtech_energy.storage.desc": "Зберігання енергії — одна з фундаментальних засад енергетичної системи в GregTech.\n\nЧому це так? Бо навіть найпотужніші генератори не здатні підтримувати стабільну подачу при запуску великого крафту — особливо на пізніх етапах гри.\n\nЩоб впоратися з цим, GregTech пропонує низку рішень для зберігання астрономічних обсягів EU. Такі сховища працюють як буфер між генерацією енергії та машинами, які її поглинають під час складних операцій.\n\nЧи то ти готуєшся до запуску реактора термоядерного синтезу, ВХР чи ланцюга крафтів масштабу HV–IV, резервний запас енергії стане ключем до стабільності.\n\nНе недооцінюй силу хорошої батареї — саме вона може врятувати твою базу від блекауту у критичний момент.",
"quests.gregtech_energy.storage.task": "Зрозуміло",
- "quests.gregtech_energy.storage.subtitle": "GregTech має величезну ємність для зберігання",
- "quests.gregtech_energy.tank.title": "Збереження Палива",
- "quests.gregtech_energy.tank.desc.1": "Очевидно, що зберігання енергії також означає &eзбереження палива, яке її створює&r. \n\nУ цьому випадку, хоча &7Бочки&r та &6Ящики&r є непоганими ранніми варіантами, не варто забувати про &dСупер Бак&r та &dСупер Скриню&r.",
- "quests.gregtech_energy.tank.desc.2": "Ці &aмонстри&r здатні зберігати &cвеличезні обсяги рідини або предметів&r — ідеально підходять для &3автономних енергетичних систем&r, особливо коли ти хочеш генерувати енергію &cдалеко від своєї основної бази&r без необхідності будувати цілу мережу кабелів. \n\nПросто завантаж їх &eгазом, паливом, парою&r або навіть &4плазмою&r, і вони зроблять усе самі. З правильним плануванням твої аванпости можуть працювати &aбез прямого з'єднання&r з центральною мережею. \n\nЕнергія не завжди передається через дроти — іноді вона зберігається у бочках.",
+ "quests.gregtech_energy.tank.title": "Зберігання пального",
+ "quests.gregtech_energy.tank.subtitle": "Існують не лише електричні батареї",
+ "quests.gregtech_energy.tank.desc.1": "Очевидно, що зберігання енергії також охоплює і зберігання пального, яке її генерує.\n\nУ цьому випадку, хоча Бочки та Ящики — непогані варіанти на ранніх етапах, не варто недооцінювати &dСупербак&r і &dСуперскриню&r.",
+ "quests.gregtech_energy.tank.desc.2": "Ці монстри здатні зберігати колосальні обсяги рідини або предметів — ідеальне рішення для автоматизованих енергосетапів, особливо коли ви генеруєте енергію далеко від основної бази, без необхідності прокладати цілу мережу кабелів.\n\nПросто заповніть їх газом, паливом, парою чи навіть плазмою — і вони все зроблять за вас. З належним плануванням ваші аванпости можуть працювати повністю автономно, без живого зв’язку з центральною мережею.\n\nЕнергія — це не завжди дроти. Іноді вона приходить у бочках.",
"quests.gregtech_energy.tank.task": "Будь-який Супер Танк",
- "quests.gregtech_energy.tank.subtitle": "Збережи паливо, якщо не можеш зберегти енергію",
"quests.gregtech_energy.battery_buffer.title": "Буфер Батарей",
- "quests.gregtech_energy.battery_buffer.desc.1": "&dБуферні Акумулятори&r — це базові машини для &eзбереження та управління енергією&r, хоча технічно вони самі не зберігають енергію. Вони просто слугують &3основою для твоїх акумуляторів&r. \n\n⚠ &cЯкщо не хочеш, щоб вони вибухнули&r: \n- &4Ніколи не подавай енергію вищого рівня&r у Буферний Акумулятор нижчого рівня. \n- Акумулятори можна заряджати лише, якщо вони &cдорівнюють або нижчі за рівень&r Буферного Акумулятора.",
- "quests.gregtech_energy.battery_buffer.desc.2": "\uD83D\uDD0C Буферний Акумулятор може приймати до &b2x його вихідного амперажу&r. Наприклад, &e4x Буферний Акумулятор&r може приймати &a8A&r — але видаватиме максимум &e4A&r (1A на слот акумулятора). \n\n\uD83E\uDEAB &eНагадування&r: \n- Без акумуляторів = &cнемає виходу&r. \n- Кількість акумуляторів визначає кількість ампер, які він видає. \nЦе означає, що &68x Буферний Акумулятор&r з лише &e3 акумуляторами&r видаватиме лише &e3A&r. \n\nВикористовуй їх розумно — вони є &aосновою будь-якої стабільної енергетичної мережі&r.",
- "quests.gregtech_energy.battery_buffer.task.1": "Деякі буферні акумулятори",
- "quests.gregtech_energy.battery_buffer.task.2": "У мене є ще один",
- "quests.gregtech_energy.battery_buffer.subtitle": "Базовий акумулятор потребує батарей",
+ "quests.gregtech_energy.battery_buffer.subtitle": "Базовий акумуляторний буфер закликає батареї",
+ "quests.gregtech_energy.battery_buffer.desc.1": "Акумуляторні Буфери — це базові машини для зберігання та керування енергією, хоча технічно вони не зберігають енергію самостійно. Вони просто слугують контейнером для ваших батарей.\n\n&c⚠ Якщо ви не хочете, щоб вони вибухнули&r:\n- &4Ніколи не подавайте енергію вищого рівня&r до Буфера нижчого рівня.\n- Заряджатися можуть лише батареї &cтого ж рівня або нижчого&r, ніж рівень самого Буфера.",
+ "quests.gregtech_energy.battery_buffer.desc.2": "Акумуляторний Буфер може приймати струм, що вдвічі перевищує його вихідну силу. \nНаприклад, Буфер на 4 батареї може приймати &a8A&r — але максимум видає лише &e4A&r (1A на слот батареї).\n\n&eНагадування&r:\n- Немає батарей = немає виходу.\n- Кількість батарей визначає кількість Ампер на виході. (Це означає, що &68x Акумуляторний Буфер&r з лише &e3 батареями&r буде видавати лише &e3A&r.)\n\nВикористовуйте їх розумно — вони є основою будь-якої стабільної енергомережі.",
+ "quests.gregtech_energy.battery_buffer.task.1": "Будь-який Акумуляторний Буфер",
+ "quests.gregtech_energy.battery_buffer.task.2": "Ще один",
"quests.gregtech_energy.pss.title": "Електрична Підстанція",
- "quests.gregtech_energy.pss.desc.1": "Це має стати твоїм &5основним фокусом&r, коли ти досягнеш &1IV&r. \n\n&dЕнергетична Підстанція&r — також відома як &dЕП&r — це &6найпотужніший кастомний акумуляторний мультиблок&r. \nВона може зберігати стільки енергії... що тобі знадобиться &cдекілька життів&r, щоб її заповнити.",
+ "quests.gregtech_energy.pss.subtitle": "Усе в одну карту",
+ "quests.gregtech_energy.pss.desc.1": "&dПідстанція живлення&r — також відома як &dPSS&r — це &6ультимативна призначена для користувача батарейна мультиструктура&r. Щойно ви зможете створити її на &1IV&r, вона легко стане центральним джерелом енергії вашої бази, тож варто на це орієнтуватися.\n\nВона здатна зберігати стільки енергії... вам би знадобилося кілька життів, щоб її заповнити.",
"quests.gregtech_energy.pss.desc.2": "&eЯк це працює&r: \n- Побудуй структуру, використовуючи &aОбшивку Підстанції з Паладію&r. \n- Додай щонайменше &b1 Енергетичний Люк&r (вхід) та &b1 Динамо Люк&r (вихід). \n- Приймає &aбудь-який люк&r — &8на основі амперажу&r або &6лазерний&r. \n- &cНемає ризику вибуху&r — трансформатори &aінтегровані&r. \n\n&eШари Конденсаторів&r: \n- Можна додати до &d17 шарів&r &9Блоків Конденсаторів&r поверх структури. \n- Кожен шар має бути &cповністю заповнений&r — без прогалин. \n- Можна змішувати &fпорожні&r та &6заповнені&r конденсатори як завгодно. \n\nОточи кожен шар &bЛамінованим Склом&r. \n\nБудьмо чесними: &cТобі ніколи не знадобиться 17 шарів&r... але, знаєш, мріяти не заборонено. \nЯкщо ти справді побудуєш повну 17-шарову Підстанцію, &lбудь ласка, звернись до лікаря&r — ти зайшов надто далеко.",
- "quests.gregtech_energy.pss.subtitle": "Крутий GregTech Мультиблок",
"quests.gregtech_energy.batteries.title": "Супер Акумулятори",
- "quests.gregtech_energy.batteries.desc": "Від &7LV&r та &bMV&r ти, ймовірно, створив свої перші акумулятори з &fНатрію&r або &3Літію&r. \n\nАле будьмо чесними — це &cнайслабші&r акумулятори, які пропонує GregTech. \n\nУ цьому завданні ми розглянемо потужні альтернативи: &aкристалічні акумулятори&r. \nВони &eнабагато потужніші&r, зберігають значно більше енергії та допоможуть тобі підняти фабрику на новий рівень. \n\nЧи вони &cдорожчі&r? Звісно. Але будьмо реалістами... &6Енергія — це Енергія&r. Хто рахує?",
- "quests.gregtech_energy.batteries.task": "Будь-які акумулятори",
- "quests.gregtech_energy.batteries.subtitle": "Просто Краще",
+ "quests.gregtech_energy.batteries.subtitle": "Науково-фантастичне зберігання енергії",
+ "quests.gregtech_energy.batteries.desc": "У &7LV&r та &bMV&r ви, ймовірно, створили свої перші батареї з Натрію або Літію.\n\nАле будьмо чесні — це найслабші батареї, які пропонує GregTech.\n\nУ цьому завданні ми розглянемо потужні альтернативи: &aкристалічні батареї&r.\nВони значно потужніші, зберігають набагато більше енергії та допоможуть вам підняти фабрику на новий рівень.\n\nВони дорожчі? Звісно. Але будьмо чесні...\nЕнергія — це енергія. Хто її рахує?",
+ "quests.gregtech_energy.batteries.task": "Будь-яка кристалічна батарея",
"quests.gregtech_energy.spending_energy.title": "Витрачання Енергії",
"quests.gregtech_energy.spending_energy.subtitle": "О, ти витрачатимеш енергію",
- "quests.gregtech_energy.spending_energy.desc.1": "&6Як витратити всю цю енергію?&r \n\nВикористовуй свої машини! Звучить просто, правда? \nНу... &cне зовсім&r. Є &eбагато дрібних деталей&r, які тобі варто вивчити, щоб допомогти тобі у &dзавданні&r завершити &3TerraFirmaGreg&r. \n\n&bБазові Машини&r: \n- Ці машини прості. \n- Вони можуть обробляти до &a2A&r. \n- Якщо подати &cенергію вищого рівня&r... &4\uD83D\uDCA5 вони вибухнуть&r. \n\n&dGregTech Мультиблоки&r: \nТут стає цікаво. \nМультиблоки пропонують більше гнучкості та потужності — &eякщо&r ти розумієш, як вони працюють.",
- "quests.gregtech_energy.spending_energy.desc.2": "&eСтандартна Механіка&r: \n- Якщо мультиблок може приймати &aДВА&r &bЕнергетичні Люки&r, це дозволяє використовувати &aрецепти вищого рівня&r, ніж базовий рівень машини. \n\nПриклад: \nЯкщо ти використовуєш &dВеликий Змішувальний Суд&r і встановиш &12x IV Енергетичних Люків&r, він зможе обробляти &cLuV-рівневі рецепти змішування&r — саме так працює &cЕлектрична Доменна Піч&r. \n\nЗнання цього допоможе тобі отримати &6максимальну ефективність&r від твоєї установки та просуватися до матеріалів вищого рівня.",
- "quests.gregtech_energy.spending_energy.desc.3": "&6Деякі мультиблоки приймають лише один Енергетичний Люк, але це не означає, що ти обмежений 1A.&r \n\nТи все ще можеш використовувати &e4A або 16A Енергетичний Люк&r. Це дозволить &bРозгін&r рецептів, але &cне підвищення рівня рецепту&r. \n\n&dПриклад&r: \n&aВеликий Збирач Мікросхем&r приймає лише &eодин Енергетичний Люк&r. Якщо ти встановиш &c4A IV Енергетичний Люк&r, ти зможеш &eоверклокнути всі IV та нижчі рецепти&r. \n\nОднак ти &cне можеш створювати LuV-рівневі рецепти&r, оскільки машина не підтримує кілька люків. Це обмеження &aнавмисне&r, щоб запобігти пропуску прогресії GregTech.",
- "quests.gregtech_energy.spending_energy.desc.4": "& bОтже, пам’ятай& r: Більше ампер на одному люку означає швидшу обробку, але це не відкриє рецепти вищого рівня, якщо мультиблок не підтримує це.",
+ "quests.gregtech_energy.spending_energy.desc.1": "Як витратити всю цю енергію?\n\nКористуйтесь своїми машинами! Звучить просто, правда?\nНу... не зовсім. Є багато дрібних деталей, які варто вивчити, щоб допомогти вам у проходженні &3TerraFirmaGreg&r.\n\nБазові машини:\n- Ці машини прості.\n- Вони можуть запитувати до &a2A&r кожна.\n- Якщо подати енергію вищого рівня... &4\uD83D\uDCA5 вони вибухають&r.\n\nGregTech-мультиблоки:\nТут починається цікаве. Мультиблоки пропонують більше гнучкості та потужності — &eякщо&r ви розумієте, як вони працюють.",
+ "quests.gregtech_energy.spending_energy.desc.2": "Стандартна механіка:\n- Якщо мультиблок може приймати два енергетичних люки (більшість з них), це дозволяє використовувати рецепти вищого рівня, ніж базовий рівень машини.\n\nПриклад:\nЯкщо ви використовуєте Велику Змішувальну Ємність і встановите два енергетичних люки IV, вона зможе обробляти рецепти Змішувача рівня &cLuV&r.\n\nЦе одна з ключових переваг мультиблоків над одноблоковими машинами — щоб оновити їх до наступного рівня, достатньо замінити енергетичні люки, а не всю машину.",
+ "quests.gregtech_energy.spending_energy.desc.3": "Деякі мультиблоки приймають лише один енергетичний люк, але це не означає, що ви обмежені 1A!\n\nВи все ще можете використовувати енергетичний люк на 4A або 16A. Це дозволить &bРозгону&r рецептів, але не змінить їх рівень.\n\nПриклад:\nВеликий Збирач Схем приймає лише один енергетичний люк. Якщо встановити енергетичний люк IV на 4A, ви зможете розігнати всі рецепти рівня IV і нижче.\n\nОднак він не може створювати рецепти рівня LuV, оскільки машина не підтримує кілька люків. Це обмеження зроблено навмисно, щоб запобігти пропуску системи прогресу GregTech.",
+ "quests.gregtech_energy.spending_energy.desc.4": "Тож пам’ятайте: більше амперів на одному люку означає швидшу обробку, але для розблокування рецептів вищого рівня потрібні два люки.",
"quests.gregtech_energy.spending_energy.task": "Зрозуміло",
"quests.gregtech_energy.overclock.title": "Розгін",
"quests.gregtech_energy.overclock.subtitle": "Базова механіка покращення",
- "quests.gregtech_energy.overclock.desc.1": "&6Можливо, ти чув про Розгін, але не зовсім розумієш, що це?&r \n\nДавай розберемося. \n\nПочнемо з основ: \n&dLV&r має максимум &a32 EU/t&r — іноді менше, але &cніколи більше&r. \n&dMV&r досягає &a128 EU/t&r. \n&dHV&r доходить до &a512 EU/t&r. \nПо суті, &eкожен рівень збільшує споживання енергії у 4 рази&r.",
- "quests.gregtech_energy.overclock.desc.2": "&bЩо відбувається, коли ти запускаєш рецепт нижчого рівня у машині вищого рівня?&r \nЦе називається &eРозгін&r: \n- &dMV&r-рецепт (33–128 EU/t) у &dHV&r-машині: \n &e→ Використовує у 4 рази більше енергії&r \n &e→ Працює у 2 рази швидше&r \n\n- Той самий MV-рецепт у &dEV&r-машині? \n &e→ Використовує у 8 разів більше енергії&r \n &e→ Працює у 4 рази швидше&r \n\nОтже, так, &cефективніше використовувати кілька машин&r, \nніж розігнати одну. \nАле будьмо чесними: у більшості випадків &eти віддаси перевагу розгону&r, а не будівництву 4 MV Дробарок. \n\nВсе ж, &eдобре знати це заздалегідь&r, коли енергія в дефіциті.",
- "quests.gregtech_energy.overclock.desc.3": "&bІдеальне розгін&r\nУ &aдеяких багатоблоках&r доступний особливий тип розгону: &eІдеальний розгін&r.\n\nЗамість:\n- &a4x енергії&r за &a2x швидкість&r,\n\nТи отримуєш:\n- &a4x енергії&r за &a4x швидкість&r!\n\n&dЦе робить його настільки ж ефективним&r, як і робота кількох окремих машин.\n\nНа даний момент у &3TerraFirmaGreg&r &6тільки наступні багатоблоки&r підтримують це:\n&c- Електрична Доменна Піч (ЕДП)\n- Плавильна Піч Сплавів (ППС)\n- Роторна Термопіч (РТ)\n- Великий Хімічний Реактор (ВХР)\n- Електрична Теплиця (ЕТ)",
- "quests.gregtech_energy.overclock.task": "Гаразд, швидше, зрозумів",
+ "quests.gregtech_energy.overclock.desc.1": "Чули про розгін, але не зовсім розумієте, що це? Давайте трохи розберемось.\n\nПочнемо з основ:\n&dLV&r — максимум 32 EU/t — іноді менше, але ніколи більше.\n&dMV&r — до 128 EU/t.\n&dHV&r — досягає 512 EU/t.\nФактично, кожен рівень — це збільшення споживання енергії в 4 рази.",
+ "quests.gregtech_energy.overclock.desc.2": "Що відбувається, коли ви запускаєте рецепт нижчого рівня в машині вищого рівня? Це називається &eРозгоном&r!\n\nРецепт &dMV&r (33–128 EU/t), запущений у машині &dHV&r, буде: 1) споживати в 4 рази більше енергії, і 2) працювати в 2 рази швидше.\n\nТой самий рецепт MV у машині &dEV&r? Витрати енергії зростають у 8 разів, але швидкість — лише в 4 рази.\n\nЯк бачите, ефективніше по енергії використовувати кілька машин, ніж розігнати одну.\n\nАле будьмо чесні: у більшості схем ви надасте перевагу розгону, ніж будівництву купи однакових машин.\n\nВтім, добре знати це на ранньому етапі, коли енергії обмаль.",
+ "quests.gregtech_energy.overclock.desc.3": "Існує особливий тип розгону, доступний лише для кількох мультиблоків: &eІдеальний Розгін&r.\nТут замість 4x енергії за 2x швидкість ви отримуєте &a4x енергії&r за &a4x швидкість&r! Це робить його таким же ефективним, як і використання кількох машин.\n\nНаразі в TerraFirmaGreg це підтримують лише такі мультиблоки:\n- Електрична Доменна Піч\n- Плавильник Сплавів\n- Ротаційна Теплова Піч\n- Великий Хімічний Реактор\n- Електрична Теплиця",
+ "quests.gregtech_energy.overclock.task": "Тобто червоні швидші, зрозуміло",
"quests.gregtech_energy.blast_oc.title": "Вибуховий Розгін",
"quests.gregtech_energy.blast_oc.subtitle": "Тобі не потрібно це розуміти",
- "quests.gregtech_energy.blast_oc.desc.1": "&6Якщо ти ще не вивчив Ідеальний Розгін, переглянь завдання прямо над цим.&r \n\nЦі &3три мультиблоки&r мають особливу здатність: вони можуть &eІдеально Розігнатись&r рецепти залежно від &cтемператури машини&r. \n\nТи можеш перевірити поточну температуру, &aнатиснувши на контролер&r. \n\nЄ &aдва способи підвищити температуру&r: \n- &aВикористовувати енергетичні входи вищого рівня&r \n- &aОновити котушки&r",
- "quests.gregtech_energy.blast_oc.desc.2": "Щоб побачити температуру котушки, просто &3утримуй Shift&r, наводячи курсор на неї. \n\nЯк тільки ти знаєш температуру своєї машини, тобі знадобиться &dтемпература рецепту&r. Найпростіший спосіб знайти її — &aвикористати EMI&r. \n\nМаючи обидва значення, ти можеш швидко розрахувати, чи застосовується Ідеальний Розгін(ІР): \n&bТвоя машина повинна бути щонайменше на 1800K гарячішою на кожен рівень розгону, ніж вимагає рецепт.&r",
- "quests.gregtech_energy.blast_oc.desc.3": "&dПриклад&r: \n- Рецепт Нержавіючої Сталі потребує &c1700K&r і є &aHV&r рівня. \n- Твій ЕДП працює на &bLuV&r і має температуру &c5900K&r. \n- Від HV до LuV — це &a3 рівні розгону&r. \n- 1800 x 3 = &c5400K&r → Додаємо базову температуру рецепту: 5400 + 1700 = &c7100K&r, необхідні для повного ІР. \n- Оскільки твоя машина має лише &c5900K&r, ти зможеш Ідеально Розігнати лише з HV до EV, а потім з EV до IV. \n- Перехід з IV до LuV буде звичайним розгоном. \n\nОтже, рецепт займе &e1.7 секунди&r замість &e0.85 секунди&r при повному розгону. \n\n&bВідчуваєш, що це складно? Не хвилюйся.&r \nПросто запам’ятай: &aКращі котушки = швидші та дешевші рецепти.&r",
- "quests.gregtech_energy.blast_oc.task": "Зрозуміло",
+ "quests.gregtech_energy.blast_oc.desc.1": "Якщо ви ще не ознайомились з Ідеальним Розгоном, спершу прочитайте завдання прямо над цим.\n\nЦі три мультиблоки мають особливу здатність: вони можуть &eІдеально Розігнати&r рецепти залежно від &cтемператури машини&r. Поточну температуру можна перевірити, натиснувши на контролер.\n\nЄ два способи підвищити температуру:\n1) Використовуйте енергетичні входи вищого рівня\n2) Оновіть котушки",
+ "quests.gregtech_energy.blast_oc.desc.2": "Щоб побачити температуру котушки, просто &3утримуйте Shift&r, наводячи на неї курсор.\n\nКоли ви дізнаєтесь температуру машини, вам знадобиться температура рецепту. Найпростіший спосіб знайти її — скористатися EMI.\n\nМаючи обидва значення, можна швидко розрахувати, чи застосовується Ідеальний Розгін:\n&bТемпература вашої машини має бути щонайменше на 1800K вища на кожен рівень розгону, ніж вимагає рецепт.&r",
+ "quests.gregtech_energy.blast_oc.desc.3": "Приклад:\n- Рецепт Нержавіючої Сталі потребує &c1700K&r і має рівень &aHV&r.\n- Ваша ЕДП має рівень &bLuV&r і температуру &c5900K&r.\n- HV до LuV — це &a3 рівні розгону&r.\n- 1800 x 3 = &c5400K&r → Додаємо базову температуру рецепту: 5400 + 1700 = &c7100K&r, необхідні для повного Ідеального Розгону.\n- Оскільки ваша машина має лише &c5900K&r, ви отримаєте Ідеальний Розгін з HV до EV і з EV до IV, але лише звичайне перевиконання з IV до LuV.\n\nОтже, рецепт займе 1.7 секунди замість 0.85 секунди, якби був повністю розігнаний.\n\nВідчуваєте розгін? Просто пам’ятайте: кращі котушки = швидші та дешевші рецепти.",
+ "quests.gregtech_energy.blast_oc.task": "Кращі котушки — ще кращі, зрозуміло",
"quests.gregtech_energy.subtick.title": "Субтік",
"quests.gregtech_energy.subtick.subtitle": "Паралельний?",
- "quests.gregtech_energy.subtick.desc.1": "&6Ще одна прихована механіка у GregTech мультиблоках: &dСубтік&r. \n\nЩо це? \nСубтік активується, коли рецепт стає &eнастільки швидким, що займає менше одного тіку&r для обробки. \nЗазвичай машини не можуть працювати швидше, ніж один рецепт за тік — але з Субтіком можуть! \n\n&bЯк це працює?&r \nЯк тільки рецепт досягає тривалості 1 тік, подальше покращення Енергетичного Люка не зробить його швидшим. \nАле завдяки Субтіку, замість марнування енергії, машина буде &aпаралельно обробляти рецепт&r.",
- "quests.gregtech_energy.subtick.desc.2": "Наприклад: Якщо твій &aВХР (Великий Хімічний Реактор)&r запускає LuV-рецепт за 1 тік, то на ZPM він буде виконувати &e2 рецепти за тік&r. Ще швидші люки означають &eбільше внутрішнього паралелізму&r. \n\n&dПримітка&r: На даний момент всі Великі Машини можуть субтікувати в обмеженій формі, але лише &aВХР підтримує Субтік&r та &bІдеальний Розгін&r. Ось чому ВХР не потребує Паралельного Люка: він вже робить це... але краще.",
+ "quests.gregtech_energy.subtick.desc.1": "Ще одна прихована механіка в мультиблоках GregTech: &dПідтік&r.\n\nЩо це таке? Підтік активується, коли рецепт стає настільки швидким, що його обробка займає менше одного тіку. Зазвичай машини не можуть працювати швидше, ніж один рецепт за тікт — але з Підтіком можуть!\n\nЯк це працює? Коли рецепт досягає тривалості в 1 тікт, подальше оновлення Енергетичного Люка вже не пришвидшує процес.\nАле завдяки Підтіку, замість марного витрачання енергії, машина буде &aвиконувати рецепт паралельно внутрішньо&r.",
+ "quests.gregtech_energy.subtick.desc.2": "Наприклад: Якщо твій Великий Хімічний Реактор (ВХР) виконує рецепт LuV за 1 тік, то на ZPM рівні він зможе виконувати &e2 рецепти за тік&r. Ще швидші виходи означають більший внутрішній паралелізм.\n\n&dПримітка&r: Наразі всі Великі Машини підтримують обмежений субтік, але &aтільки ВХР&r здатен як до субтіку, так і до Ідеального Розгону. Саме тому немає IV-мультиблоку з паралельними виходами для ВХР: він уже це робить... але краще.",
"quests.gregtech_energy.parallel_hatch.title": "Паралельний Люк",
"quests.gregtech_energy.parallel_hatch.subtitle": "Паралельний знову?",
- "quests.gregtech_energy.parallel_hatch.desc.1": "&6Паралельний Люк&r — це потужний інструмент для &aВеликих Мультиблоків&r. \n\n&bЩо він робить?&r Там, де дозволено (найбільш помітно у мультиблоках, створених з &eСплавної Доменної Печі&r), він дозволяє запускати &aдекілька рецептів одночасно&r. \n\nЦе працює за рахунок споживання &cбільшої кількості енергії&r за тік, але значно збільшує продуктивність. Ідеально підходить для масового виробництва сплавів, мікросхем або хімічних речовин.",
- "quests.gregtech_energy.parallel_hatch.desc.2": "Просто встанови Паралельний Люк на мультиблок і переконайся, що він отримує достатньо енергії та вхідних матеріалів. Більшість мультиблоків, які це підтримують, показують це в EMI або книзі завдань. \n\n&dПримітка&r: &aВХР&r (Великий Хімічний Реактор) &cне використовує Паралельні Люки&r — він обробляє внутрішній паралелізм за допомогою &bСубтік механіки&r.",
- "quests.gregtech_energy.parallel_hatch.task": "Будь-який Паралельний",
+ "quests.gregtech_energy.parallel_hatch.desc.1": "&dПаралельний Люк&r — головна перевага Великих Мультиблоків.\n\nЩо він робить?\nТам, де дозволено (здебільшого у мультиблоках, створених через Плавильник Сплавів), він дозволяє запускати &aдекілька рецептів одночасно&r.\n\nЦе працює шляхом збільшення споживання енергії за тікт, але суттєво підвищує продуктивність. Ідеально підходить для масового виробництва сплавів, схем або пластин.",
+ "quests.gregtech_energy.parallel_hatch.desc.2": "Просто встановіть Паралельний Люк на мультиблок і переконайтесь, що він отримує достатньо енергії та вхідних матеріалів. Більшість мультиблоків, які це підтримують, відображають це в EMI або в книзі завдань.\n\n&dПримітка&r: Великий Хімічний Реактор не використовує Паралельні Люки — він вже має щось краще під назвою &bПідтік&r — прочитайте сусіднє завдання, щоб дізнатись більше.",
+ "quests.gregtech_energy.parallel_hatch.task": "Будь-який Паралельний Люк",
"quests.high_voltage": "&6HV&r - Висока Напруга",
"quests.high_voltage.subtitle": "Покращуй енергетику, вивчай Чисте приміщення, створюй більше хімічних речовин і готуйся до Космосу",
- "quests.high_voltage.TEST.title": "",
- "quests.high_voltage.TEST.subtitle": "",
- "quests.high_voltage.TEST.desc.1": "",
- "quests.high_voltage.TEST.desc.2": "",
- "quests.high_voltage.TEST.desc.3": "",
- "quests.high_voltage.TEST.desc.4": "",
+ "quests.high_voltage.energium_crystals.title": "Супер Акумулятори",
+ "quests.high_voltage.energium_crystals.subtitle": "Науково-фантастичні батареї!",
+ "quests.high_voltage.energium_crystals.desc": "&aКристали Енергіуму&r зберігають значну кількість &9EU&r. Їх також можна вважати дешевшими.",
+ "quests.high_voltage.autoclave.title": "Автоклав HV",
+ "quests.high_voltage.autoclave.subtitle": "Home-grown batteries",
+ "quests.high_voltage.autoclave.desc": "&3Автоклав Hv&r — хоч і необов’язковий, але це машина, яку ви точно захочете отримати.\n\nВона відкриває доступ до унікальних батарей, які &6значно перевершують&r свої стандартні аналоги.",
+ "quests.high_voltage.chem_bath.title": "Купання під Високою Напругою",
+ "quests.high_voltage.chem_bath.subtitle": "Будь ласка, не приймай ванну з тостером...",
+ "quests.high_voltage.chem_bath.desc": "&3Хімічна Ванна Hv&r використовується для &dфарбування Лінз&r за допомогою &aХімічного Барвника&r. Це дозволяє гравіювати більше типів Вафель і охолоджувати інші види Гарячих Зливків.",
+ "quests.high_voltage.maintenance_hatches.title": "Розширене Обслуговування",
+ "quests.high_voltage.maintenance_hatches.subtitle": "Я став обслуговуванням, пожирачем стрічки",
+ "quests.high_voltage.maintenance_hatches.desc.1": "Тепер у вас є доступ до двох &3нових Люків Обслуговування&r. Обидва люки &6не потребують обслуговування&r при першому встановленні в мультиблок.\n\n&3Автоматичний Люк Обслуговування&r досить простий — він назавжди усуває потребу в обслуговуванні, &6назавжди&r.\n\n&3Налаштовуваний Люк Обслуговування&r цікавіший. Його можна налаштувати на скорочення &aтривалості рецептів на 10%%&r, але обслуговування буде відбуватись утричі швидше. Це &d16 реальних годин&r активності.\n\n&9Нагадування:&r Ви можете покласти Стрічку в люк обслуговування, щоб автоматично усувати проблеми.",
+ "quests.high_voltage.maintenance_hatches.desc.2": "&l&3Лор:&r&o Текстура та механіка Автоматичного Люка Обслуговування походять з TecTech — аддону, спочатку створеного для GregTech: New Horizons.\n\n&oУ пізній грі ви побачите ще більше контенту з TecTech.",
+ "quests.high_voltage.hv_components.title": "Компоненти Високої Напруги",
+ "quests.high_voltage.hv_components.subtitle": "Ми називаємо це «розвагою»",
+ "quests.high_voltage.hv_components.desc.1": "Так само, як і з &bMV&r, вам доведеться створювати компоненти вищого рівня.\n\nНеприємні &dІдеальні Самоцвіти&r замінено на трохи менш приємні &dЗавітрифіковані Ендер Перли&r. Зверніть увагу, що для &aДвигунів&r тепер потрібно &d2x Срібні Кабелі&r.\nА &aКорпуси&r та &aМашини&r використовують &dЗолоті Кабелі&r.\n\nНарешті, знайшлось застосування для тих запасів золота!",
+ "quests.high_voltage.hv_components.desc.2": "&9&lПоради, щоб життя було менш болючим:&r\n\n- Використовуйте &dдекомпозицію Електротину&r та &dОбробку Руди&r для отримання &eЕлектруму&r.\n- Скористайтесь &3Хімічною Ванною&r з &dРтуттю&r для вилучення &eЗолота&r та &eСрібла&r з широкого спектра руд.",
+ "quests.high_voltage.assembler.title": "Збиральна Машина HV",
+ "quests.high_voltage.assembler.desc": "&3Збирач Hv&r — наступний крок у прогресії, який також відкриває доступ до низки корисних утиліт — перегляньте завдання поруч із цим, щоб дізнатись більше.\n\nВам знадобиться цей &6Збирач Hv&r для створення вашої &dРакети&r.",
+ "quests.high_voltage.lenses.title": "Я бачу світ у кольорі",
+ "quests.high_voltage.lenses.desc": "&aПроста Система на Чипі&r буде використана для найкращого рецепта &dULV Схеми&r.\n\nРекомендуємо заздалегідь виготовити всі інші корисні кольорові Лінзи. Вони перелічені тут в &eнеобов’язковому&r завданні.",
+ "quests.high_voltage.ulv_circuits.title": "Найкращі ULV Схеми!",
+ "quests.high_voltage.ulv_circuits.desc": "&8ULV&r Схеми використовуються в деяких рецептах &9AE2&r та &aCreate&r.",
+ "quests.high_voltage.hv_energy_hatch.title": "Покращення вашої ЕДП II",
+ "quests.high_voltage.hv_energy_hatch.subtitle": "Тобі це нічого не нагадує?",
+ "quests.high_voltage.hv_energy_hatch.desc": "&3HV Різальна машина&r є обов’язковою всередині вашої &3Чистої кімнати&r для створення &aНизькопотужної інтегральної схеми&r.\n\n&3HV Енергетичні люки&r — чудове доповнення, оскільки дозволяють живити ваші багатоблоки (передусім &3Електропіч високої температури&r та &3Велику хімічну реакторну установку&r) безпосередньо від &6HV&r-лінії.",
+ "quests.high_voltage.chem_reactor.title": "Хімія високої напруги",
+ "quests.high_voltage.chem_reactor.desc": "&3HV Хімічний реактор&r відкриває купу нових рецептів. А хто ж не любить постійно зростаючий попит на більш просунуту хімію?\n\n&9Примітка:&r Ми фактично відкрили масу нового контенту, досягнувши &6HV&r. Проте не кожна лінія обробки чи предмет є критично важливими саме зараз. Якби ми включили все, розділ &6HV&r був би надто перевантаженим!\n\nМожеш зазирнути до розділу &5EV&r, якщо хочеш кинути собі виклик.",
+ "quests.high_voltage.rutile_loop.title": "Майже титан",
+ "quests.high_voltage.rutile_loop.subtitle": "...тобто, це був НЕ Титан!",
+ "quests.high_voltage.rutile_loop.desc": "&6Титан&r потребує трохи більш &bскладного&r процесу, ніж попередні матеріали. Щоб розпочати, тобі знадобиться &aРутил&r, який можна отримати шляхом обробки &aБокситу&r, &aІльменіту&r, &aАлюмінію&r, &aАрмалколіту&r та &aДешу&r — останні два доступні лише на &dМісяці&r.\n\nКоли ти збереш достатньо &5Рутилу&r, твоя подорож до &6Титану&r продовжиться в наступному завданні. Немає потреби поспішати.\n\n&9Порада:&r Обробка руди &aБокситу&r — просто неймовірна! Додавши етап з &3Термічною центрифугою&r, ти легко &6потроїш&r вихід &aРутилу&r.",
+ "quests.high_voltage.rutile_loop_2.title": "Майже Титан²",
+ "quests.high_voltage.rutile_loop_2.subtitle": "Ще не титан?",
+ "quests.high_voltage.rutile_loop_2.desc.1": "Щоб нарешті дістати свої &6жадібні руки&r до &aТитану&r, спершу потрібно відновити &aРутил&r до &aТетрахлориду титану&r в &3HV Хімічному реакторі&r, а потім ще раз відновити його в &3Електропечі високої температури&r з використанням &dМагнію&r — і ось він, &6Титан&r!\n\n&dВуглець&r, &dХлор&r, &dКисень&r та &dМагній&r, що використовуються в процесі, можуть бути &6ідеально відновлені&r з побічних продуктів &dЧадного газу&r та &dХлориду магнію&r без жодних втрат. Якщо налаштувати систему рекуперації, &aєдиним матеріалом&r, який потрібно буде постачати для виробництва титану, стане &dРутил&r!",
+ "quests.high_voltage.rutile_loop_2.desc.2": "&aТетрахлорид титану&r також виступає каталізатором у виробництві пластмас. Додавання невеликої кількості &aTiCl₄&r у процес полімеризації може збільшити вихід полімеру до &6133%%&r&r. Звісно, це абсолютно необов’язково.",
+ "quests.high_voltage.superconductors.title": "HV Надпровідники",
+ "quests.high_voltage.superconductors.desc": "На цьому етапі звичайні кабелі мають настільки незначні втрати, що надпровідники вже не є обов’язковими. Тим не менш, вони все ще корисні — дозволяють &aдинамічно розгалужувати та об’єднувати&r кабелі, а ще складаються наполовину з &aкисню&r, тож досить дешеві!\n\nНадпровідники все ще потрібні для створення &aГенераторів поля&r.",
+ "quests.high_voltage.nichrome_coils.title": "Ніхромові котушки",
+ "quests.high_voltage.nichrome_coils.subtitle": "Ще довгий шлях, перш ніж ми переможемо Сонце",
+ "quests.high_voltage.nichrome_coils.desc.1": "&3Ніхромові нагрівальні котушки&r підвищують температуру вашої &3Електропечі високої температури&r до &d3,600K&r.\n\nХоча вони &oще не обов’язкові&r, все ж варто оновити вашу основну &3ЕДП&r заради тих солодких, солодких &6бонусів від котушок&r.",
+ "quests.high_voltage.nichrome_coils.desc.2": "&l&3Лор:&r&o У оригінальному GregTech 5 існувало лише три типи котушок. Це був останній рівень.",
+ "quests.high_voltage.titanium.title": "Титан",
+ "quests.high_voltage.titanium.desc": "&aТитан&r має найвищу корозійну стійкість та співвідношення міцності до щільності серед усіх металевих елементів, тож цілком природно, що ми використовуватимемо його як основний матеріал для нашої &5EV&r техніки.\n\nПереконайся, що твоя замкнена система для &aРутилу&r відповідає стандартам, і підготуйся до багатогодинної роботи на окремій &3Електропечі високої температури&r.\n\nНевелике відхилення — тепер, коли ми на рівні &5EV&r, одноблокові генератори поступово виходять з моди! Тобі знадобиться кілька &3HV Генераторів&r, щоб не відставати — а згодом доведеться перейти на &3Багатоблокові генератори&r.\n\nХоч вони й значно дорожчі, але набагато ефективніші з точки зору енергоспоживання! Заглянь у &dРозділ про енергію&r для додаткової інформації!",
+ "quests.high_voltage.vacuum_freezer.title": "Льодяна холодність",
+ "quests.high_voltage.vacuum_freezer.subtitle": "Чи знав ти, що вакуум насправді робить речі гарячішими?",
+ "quests.high_voltage.vacuum_freezer.desc": "&3Вакуумна Морозильна Камера&r — це мультиблок, який використовується для охолодження &eГарячих Зливків&r. Усі зливки, створені в ЕДП з температурою понад &d1750K&r, потребують охолодження.\n\nУ більшості випадків &3Електрична Доменна Піч&r буде вузьким місцем, тому вам не потрібно турбуватись про розгін морозильної камери.\n\nОскільки &eГарячі Зливки&r &cзавдають шкоди&r при утриманні, маршрутизація предметів буде дуже корисною.",
+ "quests.high_voltage.mv_superconductors.title": "MV Надпровідники",
+ "quests.high_voltage.mv_superconductors.desc": "&a4A&r передача &bMV&r енергії може виглядати привабливо, але наразі тобі, ймовірно, це не потрібно. Втім, така опція завжди доступна, якщо знадобиться.",
+ "quests.high_voltage.circuit_assembler.title": "HV Збирач схем",
+ "quests.high_voltage.circuit_assembler.desc": "Наступний &3Збирач схем&r. Цей рівень Збирача схем потрібен лише для одного типу схем — твого першого &aМейнфрейму&r. Можливо, ти використаєш його лише один раз, перед переходом до &5EV Збирача схем&r.\n\nМожеш відкласти його до &5EV&r або просто використати для пришвидшеного складання схем.",
+ "quests.high_voltage.microprocessor_mainframe.title": "Мейнфрейми — це перші IV схеми!",
+ "quests.high_voltage.microprocessor_mainframe.desc": "Перша &1IV&r схема. Вітаємо з досягненням цього етапу!\n\nВона знадобиться, коли ти перейдеш до &5EV&r, або ж можеш використати її вже зараз для створення &aПокращеного нагрудника нанокостюма&r — значного апгрейду твого реактивного ранця!\n\n&l&3Лор:&r&o Оригінальна текстура для Мейнфреймів була взята з зображення IBM zEnterprise mainframe.",
+ "quests.high_voltage.cleanroom.title": "Чиста кімната",
+ "quests.high_voltage.cleanroom.subtitle": "Вони посадили мене в кімнату... в чисту кімнату",
+ "quests.high_voltage.cleanroom.desc.1": "&3Чиста кімната&r — це порожній багатоблок без забруднень. Надалі більшість нових &aрецептів, пов’язаних зі схемами&r, а також деякі унікальні блоки, як-от &3Обшивка для термоядерного реактора&r, потрібно буде запускати в машинах всередині чистої кімнати.\n\nЇї створення стане справжнім випробуванням для твоєї автоматизації &aПоліетилену&r — адже доведеться виготовити багато &dПласкриту&r та/або &dСкла для чистої кімнати&r.\n\nМи почнемо з &a5x5x5&r чистої кімнати, але варто збільшити її розмір, щойно відчуєш тісноту.",
+ "quests.high_voltage.cleanroom.desc.2": "&l&3Лор:&r&o Чиста кімната походить з GregTech 5, але, як це часто буває, реалізація в GT5 була значно жорсткішою. Рецепти запускались незалежно від рівня чистоти, але мали %% шанс завершення, що дорівнював чистоті кімнати. Це призводило до численних випадкових втрат предметів.\n\n&oБільше того, якщо в Чистій кімнаті виникала проблема з обслуговуванням, рівень чистоти обмежувався 90%%, що означало втрату 10%% предметів.\n\n&oУ GTCEu Чиста кімната &6ніколи не анулює&f результати рецептів.",
+ "quests.high_voltage.prospector.title": "HV Розвідник",
+ "quests.high_voltage.prospector.desc.1": "Цей Розвідник має &6більший радіус дії&r, ніж його &7LV&r-версія.\n\nЯкщо ти зробиш присідання та клацнеш правою кнопкою миші з Розвідником у руці, його режим зміниться на &6Режим пошуку рідин&r. У цьому режимі буде показано базовий &dвихід&r рідинних жил, а також рівень їх заповнення.\n\nЦе буде надзвичайно корисно для пошуку &9Гелію-3&r та &9Жил у корінній породі&r на Місяці.",
+ "quests.high_voltage.prospector.desc.2": "&9Нагадування:&r Вихід &3Рідинної бурової установки&r прямо пропорційний “заповненості” жили. Якщо вона занадто низька, вихід за замовчуванням буде визначено в конфігурації CEu.\n\n&9Порада:&r Коли заповненість падає нижче 30%% (груба оцінка), варто розглянути можливість переходу до іншої жили задля ефективності витрат енергії. Можливо, тобі буде цікаво перейти на &3Покращену рідинну бурову установку&r на рівні &5EV&r — вона не лише значно підвищує вихід, але й зменшує швидкість виснаження жили!\n\n&cУвага:&r Через баг відображення в Розвіднику може бути зміщене на один чанк, тому уникай розміщення установки в кутах рідинної жили — інакше можеш почати качати не ту рідину!",
+ "quests.high_voltage.fluorine.title": "Фтор",
+ "quests.high_voltage.fluorine.subtitle": "Чи почистив ти зуби сьогодні?",
+ "quests.high_voltage.fluorine.desc": "Фтор — це найрідкісніший газ, який можна отримати шляхом електролізу в цій грі.\n\nЙого можна добути з &aЛепідоліту&r, &aБастназіту&r та &aСлюди&r, але найкращим джерелом є &aТопаз&r.",
+ "quests.high_voltage.ptfe.title": "Політетрафторетилен",
+ "quests.high_voltage.ptfe.subtitle": "Відомий також як — Тефлон",
+ "quests.high_voltage.ptfe.desc": "&aПолітетрафторетилен (PTFE)&r — це &7вуглецево&r-&bфторний&r полімер. Подібно до ПВХ, PTFE можна використовувати для підвищення виходу &aПластикових плат&r та інших виробів. Наразі він застосовується для створення стінок &3Великого хімічного реактора&r.\n\n&3Хлор&r потрібен у цьому процесі, але його можна повністю переробити шляхом електролізу &aвідходів хлороводневої кислоти&r.\n\n&bФтор&r також буде використовуватись у процесах очищення &aУрану&r та &7Наквада&r.\n\n&9Порада:&r Відтепер варто затверджувати полімери у &dФормі&r (Злитків), адже їх легко формувати у потрібні деталі за допомогою &3Екструдера&r.",
+ "quests.high_voltage.nitrobenzene.title": "Нітробензол",
+ "quests.high_voltage.nitrobenzene.desc": "Виробництво &aНітробензолу&r приблизно &6вчетверо&r підвищить енергоефективність &aБензолу&r. Це не може не тішити.\n\nЄ нюанс — потрібна &dДистильована вода&r і на кожному етапі витрачається трохи &dСірки&r.",
+ "quests.high_voltage.lcr.title": "Великий хімічний реактор",
+ "quests.high_voltage.lcr.desc.1": "&3Великий Хімічний Реактор (ВХР)&r — це багатоблоковий &3Хімічний Реактор&r з більшою кількістю слотів введення/виведення. Його тефлонові оболонки дозволяють обробляти додаткові рецепти.\n\n&3ВХР&r здатен виконувати деякі ексклюзивні реакції, які дозволяють об'єднувати кілька стандартних етапів &3Хімічного Реактора&r в &6один етап&r. Приклади нижче:\n\n&9-&r &aДіоксид Нітрогену&r (для Азотної кислоти та Тетроксиду динітрогену) \n&9-&r &aСірчана кислота&r \n&9-&r &aФенол&r \n&9-&r &aЕпіхлоргідрин&r (потрібен для Епоксиду!) \n&9-&r &aЕпоксид&r",
+ "quests.high_voltage.lcr.desc.2": "Існують також ексклюзивні рецепти для &3ВХР&r. Наприклад, &dРадон&r наразі можна створити лише в ВХР.\n\nУсі &dРозгони&r в &3ВХР&r мають &6100%% ефективність&r (так звані \"Ідеальні розгони\"); кожен розгін &5вчетверо&r пришвидшує обробку, на відміну від звичайного подвоєння.\n\n&3ВХР&r має ще одну &6перевагу&r: можна використати &32 Енергетичні люки&r, щоб запускати рецепти &5на наступному рівні&r, подібно до &3Електричної доменної печі&r.",
+ "quests.high_voltage.lcr.desc.3": "&9Порада:&r Враховуючи кількість ВХР, яку ти можеш використати, чому б не застосувати &dспільні стіни&r на повну?\n\nМожна поділити один стандартний &3Енергетичний люк&r (2A) між двома ВХР.\n\nМожна також спробувати поділити &3Люки введення/виведення&r, але переконайся, що кожен ВХР виконує правильний рецепт.\n\nЗверни увагу: &dЛюки обслуговування&r не можна ділити.",
+ "quests.high_voltage.tnt.title": "ТНТ",
+ "quests.high_voltage.tnt.desc.1": "Готуйся створювати вибухівку — вона знадобиться для &cІмплозійного компресора&r. Маєш чотири варіанти, від простого до найскладнішого, але ми радимо якнайшвидше перейти на &dІндустріальний ТНТ&r.",
+ "quests.high_voltage.tnt.desc.2": "&cТНТ&r (тринітротолуол) більше не можна виготовити зі звичайного Пороху та Піску. Натомість доведеться створити &aЗагущений Толуол&r і відреагувати його з Сірчаною кислотою для отримання ТНТ.\n\nРецепт у &3HV Хімічному Реакторі&r дозволяє подвоїти вихід &aЗагущеного Толуолу&r, але потребує додаткових ресурсів.",
+ "quests.high_voltage.tnt.desc.3": "Ніяких простих порад щодо &aТолуолу&r ми не маємо — яким би шляхом ти не пішов, це буде непросто.\n\nАле не пропусти прямий рецепт з &aВажкого пального&r у &aТолуол&r у одноблоковій &3Дистилярні&r.\n\n&aТолуол&r також можна опціонально використати на &5EV&r рівні для створення &dБензину&r.\n\n&cТНТ&r використовується в &3Імплозійному компресорі&r для створення Самоцвітів. А ще він вибухає.",
+ "quests.high_voltage.ender_pearls.title": "Перлини Енду",
+ "quests.high_voltage.ender_pearls.subtitle": "Технологічні дорогоцінності",
+ "quests.high_voltage.ender_pearls.desc": "Жоден Ендермен не впустить Перлину Краю у TFG.\nНавіть ті, що причаїлись у Безодні, не допоможуть.\n\nНатомість твій єдиний варіант наразі — створити її власноруч:\n\nЗмішай &2Пил Берилію&r та &2Пил Калію&r у &6HV&r Змішувачі, щоб отримати рідкісний &5Пил Ендер&r.\n\nА потім закинь його в &8Імплозійний компресор&r і відтвори знакову Перлину Краю — у стилі GregTech.",
+ "quests.high_voltage.boules.title": "Фосфорні булі",
+ "quests.high_voltage.boules.subtitle": "Жесть, як круто!",
+ "quests.high_voltage.boules.desc": "Допування — це процес навмисного введення домішок у напівпровідники для зміни їхніх властивостей.\n\n&7Кремній&r можна допувати невеликою кількістю &eФосфору&r, щоб отримати вдосконалену &eКремнієву булю&r.\n\nБулі з допованим фосфором зазвичай дають &68 разів&r більше пластин, ніж їх недоповані аналоги. Проте вони не є строго необхідними до &5EV&r, де використовуються для складніших пластин.\n\n&9Примітка&r: Уся обробка фосфорних булів і пластин потребує &dЧистої кімнати&r.",
+ "quests.high_voltage.implosion_compressor.title": "Імплозійний компресор",
+ "quests.high_voltage.implosion_compressor.desc": "&3Імплозійний компресор&r перетворює пил самоцвітів на їхню звичайну форму.\n\nВін необхідний для отримання &aПерлин Краю&r.\n\nДля імплозії можна використати &cТНТ&r.",
+ "quests.high_voltage.nitric_acid.title": "Нітратна кислота",
+ "quests.high_voltage.nitric_acid.subtitle": "Це не роз'їсть тобі шкіру",
+ "quests.high_voltage.nitric_acid.desc.1": "Пари &aАзотної кислоти&r надзвичайно токсичні! Вона також є дуже потужним окисником.\n\n&aАзотна кислота&r використовується в:\n\n&9-&r Дизель із підвищеним цетановим числом — покращене дизельне паливо, яке ти скоро зможеш отримати. \n&9-&r Нітробензол — покращене газове паливо, яке ми вже майже готові створити. \n&9-&r Необов’язкові ланцюги обробки шламу самоцвітів. \n&9-&r Ланцюг Platinum Group Sludge на рівні &1IV&r. \n&9-&r Полібензімідазол (спробуй вимовити це десять разів поспіль!) на рівні &1IV&r.",
+ "quests.high_voltage.nitric_acid.desc.2": "Існує два основних способи створення &aАзотної кислоти&r — &oхороший &fі &4поганий!&r\n\nТож ми підкажемо тобі найкращий метод:\n\nВізьми &3Великий Хімічний Реактор&r і використай його для створення &aДіоксиду Нітрогену&r. Потім відреагуй його в звичайному &3Хімічному Реакторі&r з додатковою кількістю &dКисню&r та &dВоди&r — і отримаєш свою &aАзотну кислоту&r!\n\nЦе потребує великої кількості &dКисню&r. Зазирни в окремий квест на рівні &7LV&r, щоб дізнатися найефективніші способи його добування у великих об’ємах. Зверни увагу: без Гідрогену!",
+ "quests.high_voltage.cetane_diesel.title": "Дизель із підвищеним цетановим числом",
+ "quests.high_voltage.cetane_diesel.subtitle": "Це — щоб перейти на абсолютно новий рівень",
+ "quests.high_voltage.cetane_diesel.desc": "Тепер, коли ти відкрив &6HV&r Змішувач і маєш доступ до &eАзотної кислоти&r, можна створювати &aДизель із підвищеним цетановим числом&r, що дає &e180%%&r приріст потужності.\n\nЄдиний складний момент — добути &bТетранітрометан&r. Рекомендуємо виготовляти його шляхом змішування &9Азотної кислоти&r та &dЕтенону&r. Сам &dЕтенон&r неважко отримати, якщо поєднати &9Сірчану кислоту&r — якої в тебе вже має бути вдосталь — та &cОцтову кислоту&r, яку легко зробити з &3Кисню&r і &5Етилену&r.\n\n&cНе забудь&r встановити машині &6Схему 2&r, інакше замість цього отримаєш &6Поліетилен&r!",
+ "quests.high_voltage.smd_components.title": "SMD Компоненти",
+ "quests.high_voltage.smd_components.subtitle": "Альтернативні компоненти!",
+ "quests.high_voltage.smd_components.desc": "&eSMD&r (поверхнево-монтовані пристрої) &aКомпоненти&r — це ексклюзивні компоненти CEu, необхідні для наступного рівня схем (&5Нано&r). Їх також можна використовувати замість звичайних аналогів у більшості рецептів схем.\n\nЗвісно, їх виготовлення складніше — це ж GregTech! Чого ти очікував?\n\nІнвестуй в автоматизацію — вони тобі ще довго знадобляться.",
+ "quests.high_voltage.smd_components_2.title": "Більше SMD Компонентів",
+ "quests.high_voltage.smd_components_2.desc": "&aПлатина&r (потрібна для SMD Діодів) має власний квест у вкладці &5EV&r. Але ти також можеш отримати Платину безпосередньо з платинового жилкового родовища або через обробку в &3Хімічній промивачці&r.\n\n&l&3Лор:&r&o SMD Індуктори вперше з’являються в GTCEu. Це робить систему компонентів схем більш узгодженою та зручною — тепер кожен тип має SMD-аналог.",
+ "quests.high_voltage.hv_macerator.title": "Універсальний Подрібнювач",
+ "quests.high_voltage.hv_macerator.subtitle": "Подрібнення руд із побічними продуктами",
+ "quests.high_voltage.hv_macerator.desc.1": "&3HV Подрібнювач&r нарешті відкриває більше слотів, які видно в JEI. Тепер доступні &9усі&r слоти.\nЦе також дозволяє отримувати &6унікальні побічні продукти&r при подрібненні &dТермально &dЦентрифугованої Руди&r.\n\nПодрібнення руд коштує &a32 EU/t&r з &5двома оверклоками&r, що дозволяє використовувати цю машину на &7LV&r лініях — дуже, дуже зручно.\n\nПопри значні покращення, які ця машина забезпечує, все одно не завжди варто налаштовувати розширену обробку для кожної руди. Енергія та час — усе ще важливі фактори!",
+ "quests.high_voltage.hv_macerator.desc.2": "&l&3Лор:&r&o У GregTech 5u &6HV&r&o Подрібнювач мав лише два слоти. Ех... ми й не збиралися використовувати той Кам’яний пил, якщо чесно...",
+ "quests.high_voltage.ammonia.title": "Аміак",
+ "quests.high_voltage.ammonia.desc": "&aАмоніак&r є &dнеобов’язковим&r на рівні &6HV&r.\n\nЙого можна використати для виробництва:\n&9-&r Азотної кислоти, хоча ми цього не рекомендуємо. \n&9-&r Ракетного пального, необхідного для покидання цієї планети. \n&9-&r Полібензімідазолу (оце вже скоромовка!) на рівні &1IV&r.\n\n\"Найменш болючий\" рецепт — у &3HV Хімічному Реакторі&r. Переконайся, що твоя &aВиробка Гідрогену&r (здебільшого з &aЕлектролізу води&r) достатня для покриття потреб.\n\n&aАмоніак&r також можна отримати як побічний продукт при обробці &dШламу Платинової Групи&r.",
+ "quests.high_voltage.hv_mixer.title": "Змішувач Високої Напруги",
+ "quests.high_voltage.hv_mixer.subtitle": "Змішування ще ніколи не було таким ефективним",
+ "quests.high_voltage.hv_mixer.desc": "Тобі знадобиться &6Змішувач Високої Напруги&r для створення &6Ракетного Сплаву&r, але це далеко не єдиний корисний рецепт.\n\nВін також відкриває:\n- &dІндій&r \n- &eДизель із підвищеним цетановим числом&r \n- Цінний &6Сплав Ultimet&r, який використовується для &9Роторів Турбін&r \n- &dКристали Флуіксу&r, абсолютно необхідні для &dAE2&r",
+ "quests.high_voltage.blue_alloy.title": "Синій сплав",
+ "quests.high_voltage.blue_alloy.subtitle": "Тепер ти синій... це мій сплав",
+ "quests.high_voltage.blue_alloy.desc": "&aСиній Сплав&r — чудовий матеріал для кабелів &6Високої Напруги&r.\n\nНічого не заважає використовувати його і для &bСередньої Напруги&r! Але переконайся, що не перевищуєш напругу для своїх машин.\n\nНадпровідники для &6Високої Напруги&r відкриваються... пізніше.\n\n&aЕлектротин&r добувається як руда, тож не виготовляй його в Змішувачі!\n\nДо того ж, &aЕлектротин&r можна розділити на &dЕлектрум&r і &dРедстоун&r.",
+ "quests.high_voltage.ev_circuits.title": "Перші EV Схеми!",
+ "quests.high_voltage.ev_circuits.subtitle": "Виділятися серед інших",
+ "quests.high_voltage.ev_circuits.desc": "Твоя перша &5EV&r Схема отримує унікальну текстуру. Якщо ти все ще вважаєш себе на рівні &bMV&r, &aутримайся&r від створення надто великої кількості — вони поки не принесуть користі.\n\nХоча ми не можемо тебе зупинити, якщо ти &dпросто хочеш похизуватися&r перед нами.",
+ "quests.high_voltage.hv_hull.title": "Ласкаво просимо до HV!",
+ "quests.high_voltage.hv_hull.subtitle": "Скоро станеш мінестронавтом",
+ "quests.high_voltage.hv_hull.desc.1": "&2Сподіваємось, ти вже освоївся з &9GregTech&r, бо настав час трохи підвищити рівень своїх навичок. \nУ цьому розділі ти відкриєш &eпросунуті мультиблоки&r, &eскладні процеси&r і навіть зробиш перші кроки на &fМісяць&r!\n\n&6У цьому розділі перед тобою стоять дві основні цілі:&r \n- Створити свою першу &5EV&r Машинну Оболонку \n- Розпочати подорож на &fМісяць&r\n\nВідкриття Місяця також надасть доступ до &bІстинний Кварц&r, що відкриває шлях до &dApplied Energistics 2&r. \nТи можеш виконувати ці завдання в будь-якому порядку — як тобі зручно.",
+ "quests.high_voltage.hv_hull.desc.2": "Щоб створити &5EV&r Машинну Оболонку:\n- Побудуй свою першу &aЧисту Кімнату&r \n- Зроби &bВакуумну Морозильну Камеру&r для охолодження гарячих злитків \n- Оброби &9Рутил&r у &7Титан&r\n\n&9Рутил&r у великій кількості можна знайти на &fМісяці&r, але він також трапляється в жилах &eБокситу&r в &aОсновному світі&r.",
+ "quests.high_voltage.hv_hull.desc.3": "Щоб дістатися до &fМісяця&r:\n- Створи достатню кількість &6Ракетного Сплаву&r \n- Виготов свою перше &eОко Енду&r за допомогою &3Хімічної Ванни&r та &8Імплозійного Компресора&r \n- Підготуй усе &bспорядження&r, необхідне для &bдихання в космосі&r\n\nОтримання &bВакуумної Морозильної Камери&r та &6покращених котушок&r пришвидшить виробництво &6Ракетного Сплаву&r, але це не обов’язково.\n\n&dОбери свій шлях!&r",
+ "quests.high_voltage.nichrome.title": "Злитки Ніхрому",
+ "quests.high_voltage.nichrome.subtitle": "З нього мало користі",
+ "quests.high_voltage.nichrome.desc": "Твій третій сплав уже тут — і він необхідний для наступного набору котушок у &6ЕДП&r. \nЦього разу тобі не знадобиться &6Хімічний Промивач&r. Натомість доведеться скористатися &6Вакуумний Охолоджувач&r.\n\nГарна новина: це простіше і швидше.\n\nДля цих котушок ти використовуватимеш лише &6Ніхром&r, але не надто розслабляйся — він повернеться пізніше для наступного набору &5RTM Котушки&r.",
+ "quests.high_voltage.rocket_t1.title": "Ваша перша ракета!",
+ "quests.high_voltage.rocket_t1.subtitle": "Перший із багатьох",
+ "quests.high_voltage.rocket_t1.desc": "Ого, настав час будувати свій &6Ракетний Апарат&r!\n\nЗбери всі частини з &d8 Сплаву для Ракет&r. \nЩоб завершити ізоляцію, тобі знадобиться &b2304mb&r &bРідкого Силікону&r (&b16 злитків&r) і &f16 одиниць пилу&r.\n\nУ тебе є два варіанти:\n&e-&r &eПил Боросилікатного Скла&r — створюється у &6Міксері&r з &dБором&r і &fПилом Скла&r \n&e-&r &5Вітрифікована Азбестова Суміш&r — добувається через &6Піролізну Піч&r\n\nОбирай те, що тобі зручніше!",
+ "quests.high_voltage.vitrified_pearl.title": "Вітрифікована Перлина Ендера",
+ "quests.high_voltage.vitrified_pearl.subtitle": "Екзотична Кераміка",
+ "quests.high_voltage.vitrified_pearl.desc": "Нагрійте Перлину Краю в &eПіролізній Печі&r разом із відповідною ізоляцією, щоб правильно її вітрифікувати — перетворити на щось, що нагадує &3кераміку&r.\n\nНаразі вам знадобиться небагато — щонайменше одна для вашої &6Ракети&r та ще одна для &6HV Складальника Схем&r.\nАле майте на увазі: починаючи з &5EV&r, попит на них швидко зростатиме.",
+ "quests.high_voltage.kaolinite_powder.title": "Вогнетривка глина для високотемпературного застосування",
+ "quests.high_voltage.kaolinite_powder.subtitle": "Ти ж скучив за мною, правда?",
+ "quests.high_voltage.kaolinite_powder.desc": "Погана новина: на тебе чекає возз’єднання зі старим приятелем. Хороша новина: зустріч відбудеться просто у тебе вдома!\n\nЯкщо в тебе ще залишилася &4каолініт&r з давніх часів — час відкопати її в майстерні й пустити в діло. А якщо ні, тепер ти можеш просто виготовити її в себе на базі!\n\nКаолініт знову стане в пригоді в майбутніх рецептах промислової кераміки та термозахисту.",
+ "quests.high_voltage.linked_quest_energy.title": "Більше інформації про енергію",
+ "quests.high_voltage.linked_quest_energy.subtitle": "Вікі GregTech",
+ "quests.high_voltage.linked_quest_energy.desc": "Досі застряг на парі? Хочеш дізнатися більше про енергетичну систему GregTech? Обов’язково переглянь розділ квестів про енергію в GregTech!",
+ "quests.high_voltage.linked_quest_energy.task": "Переглянь розділ про енергетику",
+ "quests.high_voltage.ev_machine_hull.title": "&5EV&r Машинний корпус",
+ "quests.high_voltage.ev_machine_hull.subtitle": "Це вже половина всіх енергетичних рівнів у GregTech",
+ "quests.high_voltage.ev_machine_hull.desc": "Ну й досвід! Між &9Обробкою рутилу&r, &5Вакуумною камерою&r та &5Чистою кімнатою&r ти відкрив чимало нових механік.\n\nІ це чудово — бо, ймовірно, ти лише на півдорозі крізь модпак.\n\nЧи ступав ти вже на &fМісяць&r? Якщо ні — ми наполегливо радимо вирушити. Там ти зустрінеш &dключові механіки&r для пізніх етапів модпаку, відкриєш &bAE2&r і отримаєш доступ до &aбагатших жил руди&r.\n\nА якщо місячна подорож уже позаду — сподіваємось, твоя інфраструктура готова, бо настав час увійти в &5EV&r. Цей складний розділ познайомить тебе з &7ще більш просунутими системами&r і піднесе твою фабрику на новий рівень.",
+ "quests.high_voltage.250_iq.title": "250IQ",
+ "quests.high_voltage.250_iq.subtitle": "Перестань обпалювати руки!",
+ "quests.high_voltage.250_iq.desc.1": "Це гайд про те, як автоматично направити &lвсі&r твої Гарячі Злитки до &3Хімічної ванни&r, зберігаючи повну автоматизацію в ідеальному стані.\n\nДешевий варіант — використовувати фільтри та вручну додавати Гарячі Злитки по одному... але це ж так нудно! Давай краще оберемо веселий варіант.\n\nВстанови &aФільтр за тегом предмета&r на бік &3Хімічної ванни&r, відкрий його та встанови режим whitelist на -&e&l*hot_ingots*&r-.\n\nЗвідси ти можеш прокладати маршрути через &9будь-яку логістичну систему&r на свій вибір.",
+ "quests.high_voltage.250_iq.desc.2": "Підключи вихід твого &3ЕДП(ів)&r до входу &3Хімічної ванни&r та до вихідного контейнера (Скрині або Ящика). Також можеш поставити &dОбмежувальну трубу&r перед контейнером, щоб забезпечити пріоритет для Хімічної ванни.\n\n&l&9Примітка:&r Якщо хочеш дізнатися більше тегів для автоматизації, вони відображаються при наведенні на предмет із затиснутим Shift. Наприклад, предмет із тегом &e&o#forge:plates/copper&r буде фільтруватися як &e&lplates/copper&r.\n\n&9&lІнша примітка:&r Фільтр за тегом предмета частково підтримує &dregex&r. Наведи курсор на іконку інформації, щоб дізнатися більше.",
+ "quests.high_voltage.bedrock_miner.subtitle": "Необмежені руди?",
+ "quests.high_voltage.bedrock_miner.desc.1": "Це може бути твоє перше знайомство з &cРудним буром корінної породи&r, адже його рідко використовують у GregTech.\n\nВін працює подібно до &bРідинної бурової установки&r, але цільові жили &nніколи не виснажуються&r.\n\nВін майже не споживає енергії — чудово працює на &bMV&r або &6HV&r — і не потребує &aжодних вхідних матеріалів&r.\n\nТо в чому ж підступ? \nПотрібно знайти самі жили.",
+ "quests.high_voltage.bedrock_miner.desc.2": "Тобі знадобиться &6HV&r Розвідник, налаштований на режим &oПошуку руд у корінній породі&r (&7Shift + ПКМ&r), а також трохи терпіння. Коли знайдеш потрібну жилу, доведеться ще й придумати, як доставити ресурси назад на свою базу.\n\nНа &fМісяці&r ти зможеш знайти свої перші рудні жили в корінній породі, що дозволить пасивно отримувати кілька важливих елементів абсолютно безкоштовно — назавжди. Перевір JEI, щоб побачити доступні варіанти! Чим вища &aВисота&r, тим частіше трапляється жила.\n\nОскільки вони будуть дуже розкидані, це чудова нагода побудувати &7місячний потяг&r!",
+ "quests.high_voltage.space_alloy.title": "R-Алюміносталь",
+ "quests.high_voltage.space_alloy.subtitle": "Ми це вигадали самі",
+ "quests.high_voltage.space_alloy.desc.1": "Щоб створити свій перший &6Ракетний сплав&r, тобі потрібно помістити &7Алюміній&r, &7Нержавіючу сталь&r та &cРідку червону сталь&r у свій новенький &6HV&r Змішувач.\n\nРецепт займає певний час, тож очікуй, що змішувач буде повністю зайнятий цим процесом.\n\nПісля цього отриманий пил потрібно переплавити в ЕДП на &bMV&r. Якщо в тебе вже є &6Ніхромові котушки&r і твій ЕДП працює на &6HV&r, ти зможеш зробити &aІдеальний розгін&r рецепту! (зазирни до розділу про енергетику GregTech, якщо не розумієш)",
+ "quests.high_voltage.space_alloy.desc.2": "Ти можеш охолодити злитки за допомогою &9Хімічної ванни&r або, якщо вона вже є, &9Вакуумної морозильної камери&r — це пришвидшить обробку.\n\n&7144mb дорівнює 1 злитку&r, тож не витягуй надто багато &cЧервоної сталі&r.\n\nЗагалом тобі знадобиться &685 Ракетних сплавів&r, тобто:\n- &760 Алюмінію&r\n- &720 Нержавіючої сталі&r\n- &710 Червоної сталі&r\n\n&aНічого страшного!&r",
+ "quests.high_voltage.steel_engine.subtitle": "Синя сталь повертається, бейбі",
+ "quests.high_voltage.steel_engine.desc": "&6Сталевий двигун&r необхідний, щоб твоя ракета могла &aдістатися до Місяця&r.\n\nРецепт не надто складний — ми припускаємо, що ти готовий впоратися з кожною частиною.\n\nЩоб отримати &91152mb Рідкої синьої сталі&r, тобі знадобиться &78 злитків&r.",
+ "quests.high_voltage.rocket_fins.subtitle": "Тож ти дістанешся до правильного пункту призначення",
+ "quests.high_voltage.rocket_fins.desc": "Ми зробили &6Ракетні стабілізатори&r такими, що їх потрібно створювати в &bСплавнику&r — просто щоб нагадати тобі, що тепер у тебе є доступ до &bМульти-печі&r — чудової малої ЕДП, яку можна використовувати як &eПіч&r та &bСплавник&r.\n\nКвест на її створення знаходиться в розділі &bMV&r. Ми щиро радимо замислитися над цим, якщо ти ще не брався.",
+ "quests.high_voltage.rocket_nose_cone.subtitle": "Ніс знає...",
+ "quests.high_voltage.rocket_nose_cone.desc": "&6Носова частина ракети&r — це найскладніша частина твоєї ракети.\nТобі знадобиться чимала кількість &aПоліетилену&r — сподіваємось, ти вже налагодив його пасивне виробництво — а також &6HV&r Емітер.\n&dХром&r можна добути шляхом електролізу &cРубінового пилу&r.\n\nА от &aВітрифікована Ендер-перлина&r — це вже складніше. Щоб її отримати, потрібно пройти квест, який відкривається після створення &6HV&r Хімічного реактора.\nПриготуйся виготовляти &cТНТ&r, будувати &5Імплозійний компресор&r і відтворювати легендарний дроп Ендермена — адже Ендер-перлини не зустрічаються природно в &2TFG&r.",
+ "quests.high_voltage.launch_pad.subtitle": "Готовність до запуску через T-10...",
+ "quests.high_voltage.launch_pad.desc": "Пусковий майданчик &6потрібен&r для запуску твоєї ракети — її не можна просто поставити на якийсь випадковий блок!\n\n&cПеревір тричі&r, що ти взяв із собою &cдругий пусковий майданчик&r, адже він знадобиться для повернення!",
+ "quests.high_voltage.rocket_fuel.title": "Ракетне Паливо",
+ "quests.high_voltage.rocket_fuel.subtitle": "Простіше, ніж ти думаєш",
+ "quests.high_voltage.rocket_fuel.desc": "Для кожної подорожі на ракеті тобі знадобиться &6три відра ракетного пального&r. Це може виглядати складно (і, чесно кажучи, кроків там чимало), але все, що тобі потрібно — це &bХлор&r, &bМетан&r, &bАзот&r, &bКисень&r та &bВода&r. Нічого надто страшного!\n\nЯкщо у тебе вже є &5Великий хімічний реактор&r, ти навіть можеш пропустити деякі етапи!\n\nЯкщо ти ще не користувався ним, саме час звернути увагу на &7Дерево рецептів Emi&r — це значно спростить процес. Просто натисни на маленьку іконку з 4 квадратиками праворуч від рецепту, а потім наведи курсор на знак питання внизу праворуч екрана, щоб побачити повну інструкцію!",
+ "quests.high_voltage.space_suit.title": "Скафандр",
+ "quests.high_voltage.space_suit.subtitle": "Це може бути найскладнішою частиною",
+ "quests.high_voltage.space_suit.desc.1": "Ми знаємо, що ти вже нетерпляче хочеш вирушити, але тобі знадобиться Скафандр, якщо хочеш прожити на Місяці більше кількох секунд — він має бути заповнений &bдихальним газом&r. А якщо хочеш поповнювати його без зняття — потрібен &eГазовий балон&r.\n\nНайскладнішою частиною точно буде &dПолікапролактамова тканина&r (вона ж нейлон).\n\nТобі знадобиться ЕДП та &6HV&r &eХімічний реактор&r.\n\nПісля цього ти зможеш створити її з &aБензолу&r, &bВодню&r, &9Хлору&r, &bКисню&r та &3Амоніаку&r.\n\nМи не розкриємо тобі кожен крок, але ти вже досвідчений гравець GregTech — тож зможеш розібратись через &aEMI&r.",
+ "quests.high_voltage.space_suit.desc.2": "Коли все буде готово, просто &eПКМ&r по бочці або резервуару, заповненому дихальним газом, наприклад &bСтисненим Нітроксом&r, щоб наповнити їх — так само, як і відром. 1000mB вистачить на 20 хвилин. Коли ти вже вдягнеш скафандр, можеш «випити» з Газового балона, щоб наповнити костюм.\n\nМожливо, тобі буде корисно зазирнути в розділ квесту &7Виживання в космосі&r — раптом там є ще щось, що варто взяти з собою!",
+ "quests.high_voltage.space_suit.task": "Наповни й випий",
+ "quests.high_voltage.welcome_moon.title": "Я на &3Місяці&r!",
+ "quests.high_voltage.welcome_moon.subtitle": "Сподіваюся, в тебе є все, щоб повернутися",
+ "quests.high_voltage.welcome_moon.desc": "&2Вітаємо&r, ти успішно приземлився на &7Місяці&r! \nТут ти знайдеш жили &bІстинний кварц&r і метеорити, які дозволяють почати розблоковувати &dAE2&r.\n\nАле це ще не все — деякі жили тут набагато щільніші, ніж на Землі.\n\nНаприклад, на Місяці легко знайти жили &6Ільменіту&r, &7Бокситу&r, &7Алюмінію&r та &5Хроміту&r. \nСтворення невеликої бази тут буде вирішальним для подальшого прогресу.\n\nНайбільшим викликом буде транспортування ресурсів, адже наразі немає зручних міжвимірних інструментів, таких як &5Ендер-Скриня&r або &dAE2 Квантовий Зв’язок&r.\n\nСподіваємось, ти добре підготувався — інакше доведеться майструвати другу ракету та скафандр, щоби забрати свій труп!",
"quests.low_voltage": "&7LV&r – Низька напруга",
"quests.low_voltage.subtitle": "Приборкай електрику та розпочни свою подорож у GregTech",
"quests.low_voltage.lv_machine_hull.title": "Твій другий корпус машини",
@@ -1019,7 +1338,7 @@
"quests.low_voltage.lbb.title": "Великий бронзовий котел",
"quests.low_voltage.lbb.subtitle": "Бум, бум, бум, бум",
"quests.low_voltage.lbb.desc.1": "&3Великий котел&r — це &6необов’язковий&r потужний варіант Малих котлів. Він працює на твердому або рідкому паливі. \n\nЯкщо ти хочеш виробляти енергію на основі пари, це альтернатива паровому двигуну Create. Майбутні варіанти енергопостачання описані в розділі &bMV&r. \n\nНа даний момент, через баг у GTCEu, ця машина ніколи не вибухає, але тобі варто налаштувати її так, щоб вона ніколи не залишалася без води, як і твої Малі котли, щоб вона не вибухнула, коли баг буде виправлений.",
- "quests.low_voltage.lbb.desc.2": "Після повного нагрівання &3LBB&r виробляє 800 пари за тик, що після конверсії дає &d400EU/t&r, або 12,5 базових парових турбін. Ця (відносно!) величезна потужність має ціну у вигляді &lвеликої&r кількості пального. &5З огляду на це&r, GUI дозволяє тобі &9знизити потужність&r котла до 25%, що дає 200 пари за тик. Це &d100EU/t&r, або трохи більше 3 базових парових турбін. \n\nМи рекомендуємо відкласти створення цього котла, поки ти не будеш готовий живити свою ЕДП.",
+ "quests.low_voltage.lbb.desc.2": "Після повного нагрівання &3LBB&r виробляє 800 пари за тик, що після конверсії дає &d400EU/t&r, або 12,5 базових парових турбін. Ця (відносно!) величезна потужність має ціну у вигляді &lвеликої&r кількості пального. &5З огляду на це&r, GUI дозволяє тобі &9знизити потужність&r котла до 25 відсотків, що дає 200 пари за тик. Це &d100EU/t&r, або трохи більше 3 базових парових турбін. \n\nМи рекомендуємо відкласти створення цього котла, поки ти не будеш готовий живити свою ЕДП.",
"quests.low_voltage.lbb.desc.3": "У TerraFirmaGreg у тебе є кілька варіантів пального. Ти можеш використовувати шланговий шків, щоб добувати нескінченну &cлаву&r з глибокого підземного озера, або налаштувати ферму дерев, щоб отримувати нескінченні &8вугілля&r та &8креозот&r. Останній варіант — це величезні поверхневі жили &8вугілля&r, які ти можеш добувати за допомогою автоматизованих шахтних машин і перетворювати на кокс, отримуючи значно більше креозоту, ніж із деревного вугілля.",
"quests.low_voltage.lv_polariser.title": "Базовий поляризатор",
"quests.low_voltage.lv_polariser.subtitle": "Поляризатор поляризує!",
@@ -1127,8 +1446,8 @@
"quests.low_voltage.lv_amp_explanation.subtitle": "Ампери та ти: посібник з використання",
"quests.low_voltage.lv_amp_explanation.desc": "Ця лінія завдань слугує швидким путівником по &9GregTech Амперажу&r. Щодо механіки &dНапруги&r, ми розглянемо її, коли ти досягнеш &bMV&r. \n\n&6&lTL;DR:&r Для безпеки узгоджуй межу амперажу твоїх кабелів з максимальною кількістю ампер, яку забезпечують твої енергогенератори. \n\nВсе ще плутаєшся? Переглянь розділ &cGregTech Енергія&r для повного огляду електросистеми GregTech!",
"quests.low_voltage.lv_ore_prospector.title": "Це зламування",
- "quests.low_voltage.lv_ore_prospector.subtitle": "Майбутнє Prospector",
- "quests.low_voltage.lv_ore_prospector.desc": "Prospector — це чудовий інструмент, який допоможе тобі швидко знаходити жили. \n\nЙого GUI інтерактивний. Клацнувши правою кнопкою миші, ти зможеш сканувати руди, які відобразяться на динамічній карті. \n\n&l&3Лор:&r&o У НАШІ часи портативний Prospector був заблокований на &dLuV&f. Дітям зараз значно легше.",
+ "quests.low_voltage.lv_ore_prospector.subtitle": "Майбутнє Розвідника",
+ "quests.low_voltage.lv_ore_prospector.desc": "Розвідник — це чудовий інструмент, який допоможе тобі швидко знаходити жили. \n\nЙого GUI інтерактивний. Клацнувши правою кнопкою миші, ти зможеш сканувати руди, які відобразяться на динамічній карті. \n\n&l&3Лор:&r&o У НАШІ часи портативний Розвідник був заблокований на &dLuV&f. Дітям зараз значно легше.",
"quests.low_voltage.lv_sprayer.title": "Балончик з фарбою",
"quests.low_voltage.lv_sprayer.subtitle": "Час для війни тегів серверів",
"quests.low_voltage.lv_sprayer.desc": "На жаль, це лише &lПорожній&r Балончик з фарбою, який потрібно заповнити Хімічним Барвником перед використанням. \n\n&aБалончики&r не мають жодної функціональності для машин, але можуть бути &bвізуально привабливими та корисними&r! \n\nБудь-яка (або майже будь-яка) Tile-Entity у GregTech (машина, труба, кабель...) може бути &6забарвлена&r в один із 16 кольорів на твій вибір. Це чудово для скріншотів або для розділення різних налаштувань у багатокористувацькій базі. Вони також допомагають розрізняти трубопроводи та кабелі. \n\nЯкщо тримати &aБалончик&r у другій руці, він автоматично забарвлюватиме будь-який блок, який ти розміщуєш.",
@@ -1223,16 +1542,19 @@
"quests.low_voltage.mold_plate.title": "Ливарна форма та Гумові Листи",
"quests.low_voltage.mold_plate.subtitle": "Ще дешевша гума",
"quests.low_voltage.mold_plate.desc": "Припини марнувати час із &6сплавною плавильною піччю&r. Тобі знадобиться багато &6гумових листів&r, а пізніше ти також використовуватимеш їх для інших видів пластмас. \n\nМожливо, ти думаєш, що можна використовувати екструдер для створення гумових листів, але &6твердотільний рідинний формувач&r може набагато більше, \nтоді як екструдер майже не має сенсу до &bMV&r.",
+ "quests.low_voltage.cupronickel_ingot.title": "Злитки мідно-нікелевого сплаву",
+ "quests.low_voltage.cupronickel_ingot.subtitle": "Це сплав",
+ "quests.low_voltage.cupronickel_ingot.desc": "&7Велика частина прогресу в GregTech обертається навколо отримання нових матеріалів,\nякі ти використовуватимеш для покращення своїх машин або розблокування вдосконалених компонентів.&r\n\nПершим сплавом, з яким ти зіткнешся, буде &bмідно-нікелевий&r — початок довгої подорожі.\nЦей матеріал використовується для покращення твоєї &6електричної доменної печі&r — важливого кроку в індустріальному розвитку.\n\nНа щастя, цей перший етап досить простий: базовий &7сплавоплавильник Lv&r впорається із завданням.\nТож навіть якщо рецепт вимагає &b128 мідно-нікелевого&r — не хвилюйся, це простіше, ніж здається!&r\n\nЗгодом їхні аналоги стануть набагато складнішими, тож насолоджуйся простотою, поки вона триває!",
"quests.low_voltage.cupronickel_coil.title": "Купронікелеві котушки",
"quests.low_voltage.cupronickel_coil.subtitle": "Перша нагрівальна спіраль",
- "quests.low_voltage.cupronickel_coil.desc": "Приготуй &a128 Купронікелю&r, &a32 Бронзи&r та &a16 Олов'яного Сплаву&r для створення Нагрівальних Котушок, необхідних для твоєї першої Електричної Доменної Печі. \n\nЦе все ще менше половини (!) вартості всієї ЕДП у сировині. Тобі також знадобиться приблизно стак Інвару та Сталі, тож час копати. \n\nКупронікелеві Котушки дозволять ЕДП виконувати рецепти до &d1,800K&r (без урахування бонусів напруги). Досить гаряче, якщо запитати нас. \n\n&6Цей квест відкриває новий підручник про Котушки у вкладці &lПоради та Хитрощі&r&6 – переглянь його, щоб дізнатися більше!&r",
+ "quests.low_voltage.cupronickel_coil.desc": "Підготуй &a128 мідно-нікелевого&r, &a32 бронзи&r та &a16 олов’яного сплаву&r, щоб створити нагрівальні котушки для своєї першої електричної доменної печі.\n\nЦе все ще менше половини (!) вартості всієї ЕДП у сировині. Тобі також знадобиться приблизно стак інвару та сталі, тож вирушай на видобуток.\n\nМідно-нікелеві котушки дозволять ЕДП виконувати рецепти до &d1 800K&r (без урахування бонусів напруги). Це досить гаряче, якщо нас запитати.\n\n&6Підручник про котушки в вкладці &lЕнергія GregTech&r&6 — зазирни, щоб дізнатися більше!&r",
"quests.low_voltage.lv_ebf.title": "Електрична Доменна Піч",
"quests.low_voltage.lv_ebf.subtitle": "Одна з основних машин GregTech. Ми любимо її великою.",
"quests.low_voltage.lv_ebf.desc.1": "Цей квест пояснює базовий принцип роботи &3Електропечі&r, а квест поруч із ним розповість про механіку багатоблочних компонентів, які тобі також знадобляться. Обов’язково ознайомся з тим квестом.\n\nОтже, &3ЕДП&r — це твій &eперший електричний багатоблок&r! Вітаємо. Вона використовується для обробки матеріалів при високих температурах.\n\nТи познайомишся з ЕДП, щоб виготовляти &aАлюміній&r і перейти до &d&bЕри MV&r. Вона також дозволяє створювати &7Сталь&r швидше, ніж &6Звичайна піч&r, тож ти нарешті можеш демонтувати свою стару кузню з TFC, якщо бажаєш.",
"quests.low_voltage.lv_ebf.desc.2": "Варто пам’ятати, що ЕДП— це справжній велетень. Мінімальна витрата енергії для запуску рецепту становить &9120 EU/t&r! Це трохи менше, ніж потужність 4 &7LV&r Генераторів або Альтернаторів.\n\nМожливо, варто розглянути варіант створення окремої лінії живлення, з окремими Генераторами поруч із ЕДП та буфером батарей. Будь обережний — втрати в кабелях можуть бути суттєвими.",
"quests.low_voltage.multiblock_tech.title": "Техніки багатоблокових структур",
"quests.low_voltage.multiblock_tech.subtitle": "О, ми ж любимо мультиблоки, правда?",
- "quests.low_voltage.multiblock_tech.desc": "Це &6основи&r того, що потрібно для побудови твого першого &bЕДП&r, хоча вона доволі гнучка для налаштувань. Не забудь скористатися &6EMI&r, натиснути &6U&r на контролері та не соромся &6клацати по структурних блоках&r, щоб побачити можливі варіанти.\n\nВажливе зауваження: кожен Енергетичний люк може приймати &a2A&r, тобто на рівні &7LV&r вони можуть обробляти по &a64 EU/t&r. З двома люками твоя &eЕДП&r зможе працювати на &a128 EU/t&r.\n\nЩоб дізнатися більше про цю механіку, переглянь &eРозділ про енергію&r, зокрема секцію &eВитрати енергії&r.\n\nБагатоблоки мають багато цікавих механік, які можуть здаватися складними, але не хвилюйся — тобі не потрібно нічого надто складного на цьому етапі. Усе прийде з досвідом!",
+ "quests.low_voltage.multiblock_tech.desc": "Це &6основи&r того, що потрібно для побудови твого першого &bЕДП&r, хоча вона доволі гнучка для налаштувань. Не забудь скористатися &6EMI&r, натиснути &6U&r на контролері та не соромся &6клацати по структурних блоках&r, щоб побачити можливі варіанти.\n\nВажливе зауваження: кожен Енергетичний люк може приймати &a2A&r, тобто на рівні &7LV&r вони можуть обробляти по &a64 EU/t&r. З двома люками твоя &eЕДП&r зможе працювати на &a128 EU/t&r.\n\nЩоб дізнатися більше про цю механіку, переглянь &eРозділ про енергію GregTech&r, зокрема секцію &eВитрати енергії&r.\n\nБагатоблоки мають багато цікавих механік, які можуть здаватися складними, але не хвилюйся — тобі не потрібно нічого надто складного на цьому етапі. Усе прийде з досвідом!",
"quests.low_voltage.multiblock_tech.task.1": "Вхідна Шина",
"quests.low_voltage.multiblock_tech.task.2": "Вихідна Шина",
"quests.low_voltage.multiblock_tech.task.3": "Вхідний люк",
@@ -1254,9 +1576,9 @@
"quests.medium_voltage.subtitle": "Занурення в нафтохімію та вдосконалення електроніки",
"quests.medium_voltage.mv_machine_hull.title": "Ласкаво просимо до MV!",
"quests.medium_voltage.mv_machine_hull.subtitle": "Більше технологій, більше проблем",
- "quests.medium_voltage.mv_machine_hull.desc.1": "Кожного разу, коли ти переходиш на новий рівень, все може здатися трохи складним. Тобі доведеться створювати багато &eнових машин&r і виробляти &eхімікати&r. \n\\n\\nЯк ти, мабуть, бачив у завданнях, тобі потрібно виконати &2три основні цілі&r перед переходом до &6HV&r. Нумо розберемо їх одну за одною.",
+ "quests.medium_voltage.mv_machine_hull.desc.1": "Кожного разу, коли ти переходиш на новий рівень, все може здатися трохи складним. Тобі доведеться створювати багато &eнових машин&r і виробляти &eхімікати&r. \n\n\nЯк ти, мабуть, бачив у завданнях, тобі потрібно виконати &2три основні цілі&r перед переходом до &6HV&r. Нумо розберемо їх одну за одною.",
"quests.medium_voltage.mv_machine_hull.desc.2": "Спочатку тобі потрібно оновити &dЕДП&r двома новими &bMV Енергетичними Люками&r. Це дозволить йому розганятися та виконувати &6HV рецепти&r. \nЦе оновлення є ключовим для виробництва &eнержавіючої сталі&r, основного матеріалу для &6HV&r, а також &eКанталу&r, який тобі знадобиться для оновлення &dЕДП котушок&r.",
- "quests.medium_voltage.mv_machine_hull.desc.3": "Твоя друга ціль—хоча ти можеш почати з неї першою, якщо хочеш—передбачає занурення в хімію. Твій перший пластик, &eПоліетилен&r, є ключовим для подальшого прогресу. Є два можливі шляхи, які ти можеш обрати, а завдання допоможуть тобі з орієнтацією:\\n\\n- &eПетрохімічний шлях&r: видобуток нафти з ґрунту або нафтоносних пісків. Цей шлях також відкриває виробництво &eДизеля&r для спалювання палива.\\n\\n- &eБіохімічний шлях&r: використання &6Піролізної Печі&r та деревини (ферма дерев на Create працює чудово). Цей метод дає більше &eБензолу&r і відкриває можливість використання &eГазового Генератора&r.\\n\\nКожен шлях має свої плюси та мінуси, але зрештою тобі знадобляться обидва.",
+ "quests.medium_voltage.mv_machine_hull.desc.3": "Твоя друга ціль — хоча можеш почати з неї першою — зануритися в хімію. Перший пластик, &eПоліетилен&r, є ключовим для подальшого прогресу. Є два шляхи, якими можна піти, і квест допоможе тобі зорієнтуватися:\n\n- &eПетрохімічний шлях&r: добування нафти з ґрунту або нафтових пісків. Цей варіант також відкриває виробництво &eДизеля&r для спалювання палива.\n\n- &eБіохімічний шлях&r: використання &6Піролізної печі&r та деревини (ферма дерев на Create працює чудово). Цей метод дає більше &eБензолу&r і відкриває можливість використання &eГазогенератора&r.\n\nКожен шлях має свої переваги й недоліки, але зрештою тобі знадобляться обидва.",
"quests.medium_voltage.mv_machine_hull.desc.4": "Останній крок тут — розблокування &6другої HV Схеми&r. Вона потребує лише &aдвох кроків&r, що робить її швидшою у створенні порівняно з &6першою HV Схемою&r, яка вимагає &cтрьох кроків&r. \n\nЩоб досягти цього, тобі потрібно отримати &dЛазерний Гравер&r, який дозволяє створювати твої перші &dВафлі&r. З ними ти зможеш створити &6HV Схему&r, яку використаєш для побудови &bMV Збирача Схем&r. \n\nЦе не є обов’язковим прямо зараз—ти можеш продовжувати використовувати першу HV Схему для прогресу—але &aце значно полегшить тобі життя&r, якщо зробиш це зараз. Повір нам.",
"quests.medium_voltage.mv_miner.title": "Автоматичне Видобування",
"quests.medium_voltage.mv_miner.subtitle": "Так що вам набридло добувати самому?",
@@ -1306,7 +1628,7 @@
"quests.medium_voltage.pyrolyse.desc.4": "&9&lПримітка:&r&l Рослинний шлях — один із варіантів отримання &9&lЕтилену&r&l, який є необхідним хімічним елементом для прогресу до &6HV&r&l. Інший шлях включає використання Нафти.&r \n\nПіролізна Піч залишається &dнеобов’язковою&r. Однак її створення дуже вигідне — як для отримання Енергії, так і для різних Побічних Продуктів, тому ми настійно рекомендуємо тобі розглянути цей варіант. \n\n&l&3Лор:&r&o У GT5u структура Піролізної Печі була відомою як гігантська коробка з лише 9 котушками всередині. Гравці зазвичай витрачали кілька хвилин на пошук проблеми через відсутність попереднього перегляду EMI.",
"quests.medium_voltage.mv_fluid_rig.title": "Рідинні Бурові Установки",
"quests.medium_voltage.mv_fluid_rig.subtitle": "Рідинні Бурові Установки в CEu!",
- "quests.medium_voltage.mv_fluid_rig.desc.1": "Володіння &3Рідинною Буровою Установкою&r — це значна інвестиція, але вона є &oбезпречно&r найважливішим &6джерелом Нафти&r. \n\nВона качає рідини з-під самого Бедроку. Зверни увагу, що рідини там насправді немає — вони лише імітуються. \n\nРідинні жили зберігаються у &cрегіонах розміром з чанки&r. Кожна жила містить різну рідину, але здебільшого це різні типи Нафти. \n\nТи поки що не можеш проводити розвідку рідинних жил &oпокищо&r — це стане доступним на рівні &6HV&r.",
+ "quests.medium_voltage.mv_fluid_rig.desc.1": "Володіння &3Рідинною Буровою Установкою&r — це значна інвестиція, але вона є &oбезпречно&r найважливішим &6джерелом Нафти&r. \n\nВона качає рідини з-під самої Еорінної породи. Зверни увагу, що рідини там насправді немає — вони лише імітуються. \n\nРідинні жили зберігаються у &cрегіонах розміром з чанки&r. Кожна жила містить різну рідину, але здебільшого це різні типи Нафти. \n\nТи поки що не можеш проводити розвідку рідинних жил &oпокищо&r — це стане доступним на рівні &6HV&r.",
"quests.medium_voltage.mv_fluid_rig.desc.2": "Кожна жила генерується з різною базовою продуктивністю. Зазвичай це від &d150L&r до &d300L за секунду&r. \n\nПри виснаженні рідинні жили поступово вичерпуються. Це призводить до зменшення продуктивності рідини з часом, поки вона не досягне рівня виснаження. У цей момент тобі слід перемістити Установку до іншої жили. \n\n&3Базова Рідинна Бурова Установка&r працюватиме 100 000 операцій (по 1 секунді на операцію) до виснаження. Це достатньо для &6більш ніж 10 000&r відер Нафти. Установки вищого рівня значно збільшують продуктивність, одночасно зменшуючи швидкість виснаження.",
"quests.medium_voltage.mv_fluid_rig.desc.3": "&lЩо ти можеш знайти в &2Верхньому світі&r&l:&r \n\n&9Нафта:&r багатша на &aЛегке Паливо&r, найцінніший варіант. \n&9Легка Нафта:&r багатша на &aРафінований Газ&r, придатний для енергії. \n&9Важка Нафта:&r багатша на &aВажке Паливо&r, яке має більш специфічне застосування. \n&9Сира Нафта:&r багатша на &aНафту&r, найкраще джерело ранніх нафтових продуктів. \n&9Природний Газ:&r дає &aРафінований Газ&r без необхідності дистиляції. \n&9Морська Вода:&r містить &aНатрій&r та &aХлор&r, корисні на пізніших етапах.",
"quests.medium_voltage.mv_fluid_rig.desc.4": "&lЩо ти можеш знайти в &cНезері&r&l:&r \n\n&9Природний Газ:&r дає &aРафінований Газ&r, але з вищим виходом, ніж у жилах Верхнього світу. \n&9Лава:&r сподіваюся, ти знаєш, що це таке. \n\nНа початку тобі, можливо, доведеться пробувати випадкові місця, поки не знайдеш щось корисне. Пам’ятай, що все, що ти качаєш, також можна використовувати для дозаправки твоєї Рідинної Установки.",
@@ -1324,7 +1646,7 @@
"quests.medium_voltage.mv_biomass.title": "Біомаса",
"quests.medium_voltage.mv_biomass.subtitle": "Рослини недостатньо індустріальні!",
"quests.medium_voltage.mv_biomass.desc.1": "Ласкаво просимо на органічний шлях до &dЕтилену&r! Мета тут — отримати &dЕтанол&r і змішати його з &dСірчаною Кислотою&r, щоб створити &dЕтилен&r. \n\nЩоб отримати &dЕтанол&r, тобі потрібно переганяти його з &aБіомаси&r—тож давай розглянемо різні способи її виробництва. \n\nПерший метод простий: поклади &aсаджанці&r у &dПивоварню&r з водою. Недолік? &eЦе повільно&r.",
- "quests.medium_voltage.mv_biomass.desc.2": "Другий метод складніший, але дає набагато кращі результати. Тобі потрібно отримати &aБіо-Шматки&r, які виходять при &aподрібненні Рослинних Куль&r. Зверни увагу, що ти не отримаєш &aдодатковий шанс&r, поки не розблокуєш &6HV Дроблення&r. \n\n&bРослинні Кулі&r можна отримати шляхом: \n- Центрифугування &9Цукрової Тростини&r або &9Буряка&r \n- Центрифугування будь-якої &aдеревини&r, яку можна добувати &9#afc:tappable_logs&r \n- Стискання &aсаджанців&r безпосередньо \n\nНарешті, оброби свої &aБіо-Шматки&r з водою в &dПивоварні&r або скористайся &dПіролізною Піччю&r для &e66% збільшення&r виходу.",
+ "quests.medium_voltage.mv_biomass.desc.2": "Другий метод складніший, але дає набагато кращі результати. Тобі потрібно отримати &aБіо-Шматки&r, які виходять при &aподрібненні Рослинних Куль&r. Зверни увагу, що ти не отримаєш &aдодатковий шанс&r, поки не розблокуєш &6HV Дроблення&r. \n\n&bРослинні Кулі&r можна отримати шляхом: \n- Центрифугування &9Цукрової Тростини&r або &9Буряка&r \n- Центрифугування будь-якої &aдеревини&r, яку можна добувати &9#afc:tappable_logs&r \n- Стискання &aсаджанців&r безпосередньо \n\nНарешті, оброби свої &aБіо-Шматки&r з водою в &dПивоварні&r або скористайся &dПіролізною Піччю&r для &e66 відсотків збільшення&r виходу.",
"quests.medium_voltage.mv_biomass.desc.3": "&l&3Лор:&r&o Ти можеш впізнати Рослинні Кулі з IndustrialCraft2! У IC2 Experimental був досить... незрозумілий спосіб перетворення Біомаси на Біогаз для енергії, який, на жаль, вимагав надто великих інвестицій, щоб бути справді вигідним.",
"quests.medium_voltage.mv_distillery.title": "Дистилярня",
"quests.medium_voltage.mv_distillery.subtitle": "Ілюзія Вільного Вибору",
@@ -1362,7 +1684,7 @@
"quests.medium_voltage.mv_fuel_cracking.title": "Крекінг Палива",
"quests.medium_voltage.mv_fuel_cracking.subtitle": "Крекінг палива та нафти може бути складним...",
"quests.medium_voltage.mv_fuel_cracking.desc.1": "Не панікуй! Ми здебільшого робимо це для отримання вуглеводнів. \n\nЄ багато способів отримати &dЕтилен&r з переробки Нафти. Легко загубитися серед усіх варіантів і рецептів! \n\nНайкращий спосіб — паровий крекінг &aНафти&r у &3Хімічному Реакторі&r. Обов’язково створи &aСильно Парокрековану&r версію для більшого виходу Етилену.",
- "quests.medium_voltage.mv_fuel_cracking.desc.2": "Коли ти досягнеш рівня &6HV&r, ти зможеш виконувати цей рецепт у &3Крекінг-Установці&r з 100% ефективністю. На жаль, рецепти, які ти зараз виконуєш у Хімічному Реакторі, мають втрати &450%&r. \n\n&9Примітка:&r Все це виглядає і відчувається жахливо неефективним — сподіваємося, це стане сильною мотивацією для підвищення рівня! &3Дистиляційна Вежа&r стане величезним покращенням для нафтохімії, але ти ще не зовсім там... Поки що тобі доведеться використовувати &3Дистилярню&r для отримання &dЕтилену&r.",
+ "quests.medium_voltage.mv_fuel_cracking.desc.2": "Коли ти досягнеш рівня &6HV&r, ти зможеш виконувати цей рецепт у &3Крекінг-Установці&r зі 100 відсотковою ефективністю. На жаль, рецепти, які ти зараз виконуєш у Хімічному Реакторі, мають втрати &450 відсотків&r. \n\n&9Примітка:&r Все це виглядає і відчувається жахливо неефективним — сподіваємося, це стане сильною мотивацією для підвищення рівня! &3Дистиляційна Вежа&r стане величезним покращенням для нафтохімії, але ти ще не зовсім там... Поки що тобі доведеться використовувати &3Дистилярню&r для отримання &dЕтилену&r.",
"quests.medium_voltage.mv_ethylene.title": "Етилен",
"quests.medium_voltage.mv_ethylene.subtitle": "Один із багатьох вуглеводнів",
"quests.medium_voltage.mv_ethylene.desc": "Наші найтепліші вітання з досягненням цього етапу! \n\nСпосіб отримання &aЕтилену&r був описаний у попередньому Квесті, залежно від обраного тобою шляху. \n\n&aЕтилен&r незабаром буде використаний у виробництві полімерів. Він також корисний у кількох інших реакціях.",
@@ -1441,7 +1763,7 @@
"quests.medium_voltage.mv_multi_smelter.desc": "На найнижчій потужності (Купронікелеві котушки та &7LV&r Напруга), &dМульти Плавильник&r переплавляє 32 предмети всього за 12 секунд—еквівалентно &926.7 Печам&r або 3.3 Паровим Духовкам! \n\nЯкщо цього недостатньо, стандартні &aоверклоки&r можна застосовувати за умови достатньої напруги. \n\nІ навіть краще—вищі рівні &3Котушок&r збільшують кількість предметів, які можна плавити &dпаралельно&r!",
"quests.medium_voltage.hv_machine_hull.title": "HV Машинний Корпус",
"quests.medium_voltage.hv_machine_hull.subtitle": "Це твій четвертий машинний корпус! Ось це прогрес",
- "quests.medium_voltage.hv_machine_hull.desc": "Ось він—&6HV Машинний Корпус&r! Вітаю з досягненням цього важливого етапу. \n\nТобі довелося керувати &dхімікатами&r, оновити &dEBF&r, змішати &cновий сплав&r та освоїти &aВафлі&r і &aЛазерний Гравер&r. Сподіваємось, твій &aрозуміння GregTech&r стає дедалі глибшим. \n\nВідтепер &eскладність зростатиме&r на кожному рівні, але ти також отримаєш доступ до &aнових машин&r, які спростять попередні процеси та відкриють &9цікаві нові механіки&r. \n\nХоча ти щойно розблокував &6HV Главу&r, пам’ятай, що це лише &aдва&r з основних етапів &bMV Глави&r. \n\nЯкщо ти ще не розблокував &6Другу HV Схему&r, настійно рекомендуємо зробити це перед подальшим просуванням. \n\nІнакше—&aЛаскаво просимо до HV!&r",
+ "quests.medium_voltage.hv_machine_hull.desc": "Ось він—&6HV Машинний Корпус&r! Вітаю з досягненням цього важливого етапу. \n\nТобі довелося керувати &dхімікатами&r, оновити &dЕДП&r, змішати &cновий сплав&r та освоїти &aВафлі&r і &aЛазерний Гравер&r. Сподіваємось, твій &aрозуміння GregTech&r стає дедалі глибшим. \n\nВідтепер &eскладність зростатиме&r на кожному рівні, але ти також отримаєш доступ до &aнових машин&r, які спростять попередні процеси та відкриють &9цікаві нові механіки&r. \n\nХоча ти щойно розблокував &6HV Главу&r, пам’ятай, що це лише &aдва&r з основних етапів &bMV Глави&r. \n\nЯкщо ти ще не розблокував &6Другу HV Схему&r, настійно рекомендуємо зробити це перед подальшим просуванням. \n\nІнакше—&aЛаскаво просимо до HV!&r",
"quests.medium_voltage.mv_stainless.title": "Нержавіюча сталь",
"quests.medium_voltage.mv_stainless.subtitle": "HV у твоїх руках",
"quests.medium_voltage.mv_stainless.desc.1": "Будь-яка сталь, яку ти зустрічаєш у повсякденному житті, найімовірніше є &7Нержавіючою Сталлю&r. Вона надзвичайно стійка до корозії.&r \n\nНержавіюча Сталь — це матеріал для &6HV&r компонентів, як Алюміній для &bMV&r і Сталь для &7LV&r. Вона також використовується у великих кількостях для &3Дистиляційної Вежі&r. \n\nВона потребує &cХрому&r, який здебільшого отримують із &cРубіну&r або &cХроміту&r, та &2Марганцю&r, який добувають із &2Піролюзиту&r та інших руд у його жилі.",
@@ -1455,7 +1777,7 @@
"quests.medium_voltage.mv_kanthal_ingot.title": "Кантал",
"quests.medium_voltage.mv_kanthal_ingot.subtitle": "Цей гарячий",
"quests.medium_voltage.mv_kanthal_ingot.desc.1": "Ох, боже, тут потрібно так багато &cКанталу&r... І що це за &cгарячий злиток&r знову? &cТак, знову!&r \n\nОсь ми й повернулися до механіки, яку ти маєш пам’ятати з &aTerrafirmaCraft&r—не так давно ж це було, правда? \n\n&cГарячі злитки&r будуть &cобпалювати тебе&r, якщо ти носиш їх без &cбудь-якого способу&r захиститися за допомогою Щипців... \n\nІ, на відміну від &aTFC&r, &cвони не охолоджуються природним шляхом&r! Тобі доведеться &aактивно охолоджувати їх&r.",
- "quests.medium_voltage.mv_kanthal_ingot.desc.2": "Щоб зробити це, помісти їх у &dХімічну Ванну&r з &9Водою&r—або ще краще, &9Дистильованою Водою&r для &e50% швидшого&r охолодження. \n\nНастійно рекомендуємо &aавтоматизувати&r цей процес, щоб уникнути носіння гарячих злитків вручну. Використовуй &aтруби&r, щоб відправляти їх безпосередньо з &dЕДП&r до &dПромивника Руди&r. \n\nТакож можна налаштувати &aФільтр Тегів&r для сортування гарячих злитків &7#forge:hot_ingots*&r.",
+ "quests.medium_voltage.mv_kanthal_ingot.desc.2": "Щоб зробити це, помісти їх у &dХімічну Ванну&r з &9Водою&r—або ще краще, &9Дистильованою Водою&r для &e50 відсотків швидшого&r охолодження. \n\nНастійно рекомендуємо &aавтоматизувати&r цей процес, щоб уникнути носіння гарячих злитків вручну. Використовуй &aтруби&r, щоб відправляти їх безпосередньо з &dЕДП&r до &dПромивника Руди&r. \n\nТакож можна налаштувати &aФільтр Тегів&r для сортування гарячих злитків &7#forge:hot_ingots*&r.",
"quests.medium_voltage.mv_assembler.title": "Розширений Асемблер",
"quests.medium_voltage.mv_assembler.subtitle": "Ассенджери, Авемблюйтесь",
"quests.medium_voltage.mv_assembler.desc": "&3Асемблер&r — це основа для кожного рівня; важлива ціль для розблокування нових рецептів і подальшого прогресу в Епоху. Багато хто в спільноті вважає створення Асемблера певного рівня напруги ознакою &oсправжнього&r досягнення цього рівня. \n\nОтже, вітаємо в &bMV&r! \n\n&bMV &3Асемблер&r відкриває доступ до &eТранзисторів&r, &eКонденсаторів&r та &eІндукторів&r, які використовуються для наступних рівнів схем.",
@@ -1539,17 +1861,17 @@
"quests.metal_age.beneath_kaolin.title": "Джерело каоліну: Безодня",
"quests.metal_age.beneath_kaolin.subtitle": "До Глибин",
"quests.metal_age.beneath_kaolin.desc": "Глибоко, ГЛИБОКО під землею, за межами основи світу, ви знайдете Безодню, складну мережу печер, наповнених небезпеками різного роду на кожному кроці. У верхніх зонах ви можете знайти Зелену Оазу — маленький зелений куточок у глибині, де може з'являтися каолінова глина. Однак певний монстр може охороняти її...!\n\nПоки ви тут, ви також можете шукати антрацит — чудове паливо для виробництва сталі.\n\nВиживання у Безодні є складним, тому зверніться до розділу \"Поради TerraFirmaGreg\" цього довідника та польового посібника для отримання додаткової інформації.",
- "quests.metal_age.beneath_kaolin.task": "Пройдіть основний шар породи в Основному світі й досягніть Безодні",
+ "quests.metal_age.beneath_kaolin.task": "Пройдіть корінну породу в Основному світі й досягніть Безодні",
"quests.metal_age.overworld_graphite.title": "Джерело графіту: Основний світ",
"quests.metal_age.overworld_graphite.subtitle": "Тобто, ти маєш на увазі, що я не можу просто покладатися на поверхневі ознаки?",
- "quests.metal_age.overworld_graphite.desc": "Графіт з’являється виключно у вигляді плоских, широких дисків глибоко під землею.\n\nВам доведеться досліджувати печери під землею, щоб спробувати знайти їх! Жили графіту можуть з’являтися в будь-якому типі каменю та також включати вугілля і діаманти, при цьому поруч будуть усі три індикатори. Інструменти, такі як металевий щит, шолом копача, кирка дослідника і підзорна труба, також можуть виявитися дуже корисними!",
+ "quests.metal_age.overworld_graphite.desc": "Графіт з’являється виключно у вигляді плоских, широких дисків глибоко під землею.\n\nДоведеться досліджувати печери, щоб спробувати знайти його! Жили графіту можуть з’являтися в будь-якому типі каменю та також містити вугілля й алмази. Однак через глибину залягання, індикатори, ймовірно, не з’являтимуться на поверхні. Інструменти, такі як металевий щит, каска копача, пропік і підзорна труба, також можуть виявитися дуже корисними!",
"quests.metal_age.beneath_graphite.title": "Джерело графіту: Безодня",
"quests.metal_age.beneath_graphite.subtitle": "До Глибин",
"quests.metal_age.beneath_graphite.desc": "Глибоко, ГЛИБОКО під землею, за межами основи світу, ви знайдете Безодню — складну мережу печер, наповнених небезпеками різного роду на кожному кроці. У Безодні можна знайти величезні, високі жилки графіту, але певний монстр може її охороняти...!\n\nПоки ви тут, ви також можете шукати антрацит — чудове паливо для виробництва сталі.\n\nВиживання у Безодні є складним, тому зверніться до розділу \"Поради TerraFirmaGreg\" у цьому довіднику та польового посібника для отримання додаткової інформації.",
"quests.metal_age.beneath_graphite.task": "Пройдіть шар основної породи в Основному світі й дістаньтеся Безодні",
"quests.metal_age.kaolin_clay.title": "Каолінова глина",
"quests.metal_age.kaolin_clay.subtitle": "Подорож за Каоліном: Нове покоління",
- "quests.metal_age.kaolin_clay.desc": "Як тільки ви знайдете каолінову глину, варто принести стільки, скільки ви зможете перенести! На жаль, лише 20% з неї успішно випалюється у каолінітовий порошок, тому рекомендується випалювати її на місці за допомогою ямних печей, щоб заощадити місце в інвентарі.\n\nПісля того, як ви створите тигель і доменну піч, вам знадобиться не так багато каолінової глини, але все одно варто взяти більше, ніж здається потрібним, щоб уникнути повторної подорожі.\n\nP.S.: Якщо ви знайшли кров’яні лілії, але не знайшли глину, спробуйте копати трохи глибше! Іноді вона з'являється трохи під землею.",
+ "quests.metal_age.kaolin_clay.desc": "Як тільки ви знайдете каолінову глину, варто принести стільки, скільки ви зможете перенести! На жаль, лише 20 відсотків з неї успішно випалюється у каолінітовий порошок, тому рекомендується випалювати її на місці за допомогою ямних печей, щоб заощадити місце в інвентарі.\n\nПісля того, як ви створите тигель і доменну піч, вам знадобиться не так багато каолінової глини, але все одно варто взяти більше, ніж здається потрібним, щоб уникнути повторної подорожі.\n\nP.S.: Якщо ви знайшли кров’яні лілії, але не знайшли глину, спробуйте копати трохи глибше! Іноді вона з'являється трохи під землею.",
"quests.metal_age.graphite.title": "Графіт",
"quests.metal_age.graphite.subtitle": "Олівці не існують",
"quests.metal_age.graphite.desc": "Як тільки ви знайдете графіт, варто принести назад якомога більше! Хоча вам не знадобиться так багато, як каолінової глини.\n\nЖили графіту також багаті на вугілля та діаманти, і вам знадобиться вугілля для виробництва сталі вже скоро.",
@@ -1559,7 +1881,7 @@
"quests.metal_age.fire_clay.desc": "Нагрійте каолінову глину, щоб отримати каолінітовий порошок. Ви можете використовувати горно для індивідуального нагрівання, але випал великих партій у маленьких корчагах в ямній печі може бути швидшим.\n\nЩодо графіту: обробіть руду як зазвичай, а потім знову подрібніть графітовий пил, щоб отримати графітовий порошок.\n\nНарешті, поєднайте 4 графітового порошку, 4 каолінітового порошку та 1 глину, щоб створити вогнетривку глину.",
"quests.metal_age.fire_clay_products.title": "Продукти з Вогнетривкої Глини",
"quests.metal_age.fire_clay_products.subtitle": "Надзвичайно Вогнетривка Глина",
- "quests.metal_age.fire_clay_products.desc": "Як і звичайна глина, вогнетривку глину можна розбивати для створення предметів, які потім потрібно випалювати. Найважливіше, що вогнетривка глина використовується для створення тигля та вогнетривких цеглин, які необхідні для доменної печі.\n\nВи також зможете створити стіл для форм і ливарні канали, що дозволяють відливати метал із тигля в кілька форм одночасно.\n\nНарешті, існують форми для вогнетривких злитків, які мають лише 1% ймовірності зламатися, порівняно з 10% для звичайної глини.",
+ "quests.metal_age.fire_clay_products.desc": "Як і звичайна глина, вогнетривку глину можна розбивати для створення предметів, які потім потрібно випалювати. Найважливіше, що вогнетривка глина використовується для створення тигля та вогнетривких цеглин, які необхідні для доменної печі.\n\nВи також зможете створити стіл для форм і ливарні канали, що дозволяють відливати метал із тигля в кілька форм одночасно.\n\nНарешті, існують форми для вогнетривких злитків, які мають лише 1 відсоток ймовірності зламатися, порівняно з 10 відсотків для звичайної глини.",
"quests.metal_age.crucible.title": "Тигель",
"quests.metal_age.crucible.subtitle": "Плавлення металів як професіонал",
"quests.metal_age.crucible.desc": "Тигель встановлюється на горно. Він має 9 слотів інвентаря та місткість для 4032mB рідини, включаючи інтерфейс для перевірки співвідношення сплавів. Тигель зберігає свій вміст при руйнуванні. Також він може збирати сирий чавун, якщо його розмістити під доменною піччю.\n\nВарто пам’ятати, що тигель БУДЕ намагатися створювати сплав із усього, що є всередині — він не розділяє метали, як плавильня з Tinkers’ Construct, тому краще тримати його чистим, коли ви ним не користуєтеся.",
@@ -1687,7 +2009,7 @@
"quests.ore_proc.macerator_byproduct.task": "Або HV Подрібнювач, або Подрібнювальні HS",
"quests.ore_proc.sodium_persuflate.title": "Занур їх у натрієвий персульфат",
"quests.ore_proc.sodium_persuflate.subtitle": "Не лише для травлення друкованих плат",
- "quests.ore_proc.sodium_persuflate.desc": "Коли ти досягнеш LV, тобі може стати цікаво використовувати &bХімічну ванну&r з &dНатрієвим персульфатом&r для отримання додаткових побічних продуктів. Не всі руди можна обробити таким способом, але ті, що можна, мають приблизно &670%&r шанс побічних продуктів, порівняно з &630%&r у &bПромивній машині&r.\n\nНатрієвий персульфат може бути досить складним для масового виробництва, але якщо тобі потрібно, &9Морська вода&r є чудовою відправною точкою.\n\nЗавдання зліва містить кілька прикладів, які можуть виправдати вкладення.",
+ "quests.ore_proc.sodium_persuflate.desc": "Коли ти досягнеш LV, тобі може стати цікаво використовувати &bХімічну ванну&r з &dНатрієвим персульфатом&r для отримання додаткових побічних продуктів. Не всі руди можна обробити таким способом, але ті, що можна, мають приблизно &670 відсотків&r шанс побічних продуктів, порівняно з &630 відсотків&r у &bПромивній машині&r.\n\nНатрієвий персульфат може бути досить складним для масового виробництва, але якщо тобі потрібно, &9Морська вода&r є чудовою відправною точкою.\n\nЗавдання зліва містить кілька прикладів, які можуть виправдати вкладення.",
"quests.ore_proc.sodium_ores.title": "Приклади обробки натрієвим персульфатом",
"quests.ore_proc.sodium_ores.subtitle": "Корисний засіб для економії часу",
"quests.ore_proc.sodium_ores.desc": "Ось кілька рекомендацій щодо обробки Персульфатом Натрію:\n\n- &6Подрібнений Алюміній&r: для &dРутилу&r (Титан)\n\n- &6Подрібнений Боксит&r: &dГалій&r\n\n- &6Подрібнений Кобальт&r: &dКобальтин&r для &dМиш’яку&r",
@@ -1697,7 +2019,7 @@
"quests.ore_proc.ore_washer.task": "Будь-який Промивач Руди",
"quests.ore_proc.mercury_ores.title": "Занур їх у ртуть",
"quests.ore_proc.mercury_ores.subtitle": "Не занурюй у нього палець",
- "quests.ore_proc.mercury_ores.desc": "Занурення певних руд у &dРтуть&r може дати корисні побічні продукти. Не всі руди можна обробити таким способом, але ті, що можна, матимуть приблизно &670%&r шанс отримати побічні продукти, порівняно з &630%&r у &bПромивній машині&r.\n\n&dРтуть&r можна легко отримати з &cРедстоуну&r або &cКіноварі&r.\n\nЗавдання праворуч містить приклади руд, які добре піддаються обробці ртуттю.",
+ "quests.ore_proc.mercury_ores.desc": "Занурення певних руд у &dРтуть&r може дати корисні побічні продукти. Не всі руди можна обробити таким способом, але ті, що можна, матимуть приблизно &670 відсотків&r шанс отримати побічні продукти, порівняно з &630 відсотків&r у &bПромивній машині&r.\n\n&dРтуть&r можна легко отримати з &cРедстоуну&r або &cКіноварі&r.\n\nЗавдання праворуч містить приклади руд, які добре піддаються обробці ртуттю.",
"quests.ore_proc.mercury.title": "Приклади обробки ртуттю",
"quests.ore_proc.mercury.subtitle": "Час для ванни з рідким металом",
"quests.ore_proc.mercury.desc": "Ось кілька рекомендацій щодо обробки Ртуттю:\n\n- &6Подрібнений Платина&r: &dПаладій&r\n\n- &6Подрібнений Куперит&r: &dПаладій&r\n\n- &6Подрібнений Нікель&r: &dПлатина&r\n\n- &6Подрібнене Золото&r: &dСрібло&r",
@@ -1753,7 +2075,7 @@
"quests.space_survival.flag.task": "Будь-який прапор",
"quests.space_survival.chorus.title": "Фрукт хоруса",
"quests.space_survival.chorus.subtitle": "Це кінець?",
- "quests.space_survival.chorus.desc": "&5Плід Хоруса&r відіграє надзвичайно важливу роль на Місяці — він стане твоїм основним джерелом &3Азоту&r. Щоб почати, знайди Хорус-рослини, запаркури до вершини й зламай &5Квіти Хоруса&r. Ламати рослину знизу не дасть тобі жодної квітки! Далі — вирощуй Квіти Хоруса в Електричній Теплиці, щоб отримати стабільне джерело Плодів Хоруса. Потім оброби їх у Пивоварні та Ферментері — для отримання &aБіомаси&r та &3Азоту&r відповідно. Біомасу також можна переганяти в &7Вуглець&r — для додаткового Ракетного Пального!",
+ "quests.space_survival.chorus.desc": "&5Плід Хорусу&r відіграє доволі важливу роль на Місяці — це буде твоє головне джерело азоту. Щоб розпочати, знайди рослини хорусу, застрибуй на верхівку та зривай &5Квіти хорусу&r. Якщо зламати рослину знизу — квітів не отримаєш! Далі вирощуй квіти хорусу в електричній теплиці, щоб отримати поновлюване джерело плодів хорусу. З них можна виготовити біомасу та азот за допомогою пивоварні та ферментера відповідно. Біомасу також можна переганяти в вуглець — для додаткового ракетного пального!",
"quests.space_survival.rover.title": "Космічний Ровер",
"quests.space_survival.rover.subtitle": "Твій транспорт для втечі",
"quests.space_survival.rover.desc": "Довелося залишити модний реактивний ранець вдома: атмосфери для літаків тут нема, коні не витримують — тож як пересуватись? &bРовер&r — твій вірний транспорт! Він вміщує до двох пасажирів, працює на горючих паливних сумішах (дизель, бензин і ракетне паливо), а ще має власний інвентар і радіо, що відтворює реальні радіостанції!",
@@ -1762,8 +2084,8 @@
"quests.space_survival.solar_panels.desc": "На Місяці дуже мало джерел енергії, зате ці &eСонячні Панелі&r мають чудовий вид на Сонце звідси!\n\nКожна Сонячна Панель тут генерує еквівалент &964 EU/t&r упродовж дня — без пального і без обслуговування. Але на поверхні Землі вона дає лише одну восьму від цієї потужності. Тож бери з собою якомога більше!",
"quests.space_survival.stone_dust_centrifuging.title": "Гелій-3",
"quests.space_survival.stone_dust_centrifuging.subtitle": "Клоунський газ",
- "quests.space_survival.stone_dust_centrifuging.desc.1": "Місяць багатий на &eГелій-3&r — ще один цінний ресурс, але він “захований” у камені! Існує два способи дістати його:\n\n1) Якщо ти ще не налаштовував автоматизацію центрифугування кам’яного пилу — ось короткий вступ: &9Кам’яний Дробар&r виробляє нескінченну кількість сировинного каменю, який &9Подрібнювач&r перетворює на пил, а &9Центрифуга&r — обробляє цей пил.\n\nНа Місяці породи &bАнортощит&r, &bНорит&r і &bФоноліт&r можна таким чином обробляти для нескінченного джерела &eГелію-3&r!",
- "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Викачати з ґрунту за допомогою &9Флюїдної Вишки&r. Цей спосіб простіший, але не дає жодних корисних побічних продуктів.\n\n&eГелій-3&r використовується для кількох речей, найважливіша з яких — виробництво більшої кількості &cповітря для дихання&r у формі &6Геліокс-3&r! Його також можна використати як “добриво” для Хорусових Плодів у Електричній Теплиці, а згодом — як ще одне паливо для Термоядерної Енергетики.",
+ "quests.space_survival.stone_dust_centrifuging.desc.1": "Місяць багатий на &eГелій-3&r — ще один важливий ресурс, але він захований у камені! Є два способи добути його:\n\n1) Якщо ти ще не налаштовував автоматизацію центрифугування кам’яного пилу, ось короткий вступ: каменедробарка може виробляти нескінченну кількість необробленого каменю, який подрібнюється в пил за допомогою дробильника, а потім обробляється в центрифузі.\n\nТут, на Місяці, анортозит, норит і фоноліт можна переробляти в нескінченне джерело гелію-3!",
+ "quests.space_survival.stone_dust_centrifuging.desc.2": "2) Викачати його з ґрунту за допомогою &9Рідинної бурової установки&r. Цей метод простіший, але не дає жодних корисних побічних продуктів.\n\nГелій-3 використовується для кількох речей, найважливіша з яких — виробництво додаткового повітря для дихання через &6Геліокс-3&r! Його також можна використовувати як «добриво» для плодів хорусу в електричній теплиці, а згодом — як ще одне паливо для термоядерної енергетики.",
"quests.space_survival.stone_dust_centrifuging.task": "Будь-яке ",
"quests.space_survival.compressed_gases.title": "Стиснені гази, придатні для дихання",
"quests.space_survival.compressed_gases.subtitle": "Бо чистий кисень — це смертельно небезпечно",
@@ -1775,13 +2097,13 @@
"quests.space_survival.air_distributor.title": "Створення постійної бази",
"quests.space_survival.air_distributor.subtitle": "Затишний будинок",
"quests.space_survival.air_distributor.desc.1": "Ти можеш виживати… але чи хочеш справді &oпроцвітати&r? Якщо маєш на меті створити постійну базу, тобі точно знадобиться &6Розподілювач Повітря&r! Він використовує один із раніше згаданих стиснених газів і “окиснює” велику замкнену зону, дозволяючи зняти шолом, вирощувати культури та ставити джерело води без ризику замерзання.\n\nБудь-який твердий блок підходить для побудови бази, але не забудь про справжній шлюз — інакше весь газ може втекти у &cвихор&r.",
- "quests.space_survival.air_distributor.desc.2": "Окиснена зона підтримує стабільні 15�C — ідеально для вирощування більшості рослин (хоча Електрична Теплиця й не потребує тепла), а рідкий стан води дозволяє її легко електролізувати для отримання &bКисню&r.\n\nМожна також використати блок Діода, щоб передавати енергію через стіни бази, не порушуючи герметичність.",
+ "quests.space_survival.air_distributor.desc.2": "Киснева зона підтримуватиме постійну температуру 15°C для будь-яких культур, які ти захочеш вирощувати (хоча електрична теплиця не проти й інших умов), а рідке джерело води дозволить легко електролізувати її для отримання &bкисню&r. Також можна використати блок діода для передачі енергії крізь стіни, зберігаючи їх герметичними — як у чистій кімнаті.",
"quests.space_survival.oxygen_info.title": "Більше машин для місячної бази",
"quests.space_survival.oxygen_info.subtitle": "Домашній затишок",
- "quests.space_survival.oxygen_info.desc": "Детектор Кисню — проста машина, яка подає сигнал редстоуну, коли перебуває в зоні з киснем.\n\nВентиляційний блок — твердий блок, що пропускає дихальне повітря без створення вихору.\n\nГравітаційний Нормалізатор — здатен змінювати гравітацію в межах замкненого простору, подібно до Розподілювача Повітря, але він досить енерговитратний.",
+ "quests.space_survival.oxygen_info.desc": "Детектор кисню — це проста машина, яка випромінює сигнал редстоуну, коли перебуває в зоні з киснем.\n\nВентиляційний блок — це суцільний блок, який також пропускає придатне для дихання повітря, не створюючи вихору.\n\nГравітаційний нормалізатор може змінювати гравітацію в межах замкненого простору, подібно до розподілювача повітря, але наразі він трохи надто дорогий.",
"quests.space_survival.bedrock_mining.title": "Видобуток корінної породи",
"quests.space_survival.bedrock_mining.subtitle": "Тепер тобі ніколи не бракуватиме міді!",
- "quests.space_survival.bedrock_mining.desc": "Якщо ти колись викачував нафту — &9Жили Корінної Породи&r — це те саме, тільки для руд. А якщо ні? Уяви видобуток як на нафтовій вишці.\n\nЖарти в сторону — ці мультиблоки забезпечують &cнескінченне&r джерело деяких руд протягом усієї гри. Звучить надто добре, щоб бути правдою, правда? Ну, є одне “але”: їх ще треба знайти.\n\nВони розкидані дуже далеко одна від одної й не існують на Землі, тож доведеться організувати транспортування ресурсів на основну базу. (&aПотяги&r — чудове рішення!)\n\nПеревір у JEI, які руди доступні на Місяці, а потім знайди жили за допомогою &6HV Рудного Проспектора&r в режимі &oBedrock Ore Mode&r (шифт + ПКМ)!",
+ "quests.space_survival.bedrock_mining.desc": "Якщо ти коли-небудь качав нафту — &9 у корінні жили&r це аналогічне, але для руд. А якщо ні? Уяви собі процес видобутку нафти.\n\nЖарти вбік — ці багатоблоки можуть забезпечити постійне, &cнескінченне&r джерело деяких руд на решту гри. Звучить надто добре, щоб бути правдою, так? У чому підступ? У пошуку самих жил.\n\nВони розташовані далеко одна від одної та не існують на Землі, тож тобі знадобиться спосіб транспортувати руду назад на основну базу. (&aПотяги&r тут просто чудові!)\n\nПеревір JEI, щоб побачити, які руди доступні на Місяці, а потім знайди жили за допомогою HV-пошуковця руди в режимі &oBedrock Ore Mode&r (шифт + ПКМ)!",
"quests.space_survival.railgun.title": "Міжпланетний рейлган",
"quests.space_survival.railgun.subtitle": "Ендер-скриня? Вперше чую!",
"quests.space_survival.railgun.desc": "Миттєва й безкоштовна транс-просторова передача предметів — це нудно! Тож ми створили унікальну міжпланетну логістичну систему, яка стане набагато цікавішою загадкою для розв’язання!\n\nА точніше — ще створюємо, бо вона &cще не зовсім готова&r в альфа-білді!",
@@ -1823,7 +2145,7 @@
"quests.steam_age.metal_casing.desc": "Це основа більшості простих машин, які ви можете створити за допомогою Create. Перевірте JEI для всіх різних речей, які ви можете скрафтити, зокрема коробки передач та інші способи управління вашими одиницями стресу.\n\nНовачок у Create? Є багато навчальних посібників онлайн про різноманітні механізми, які ви можете створити, і більшість з них також працюватимуть у TFG! (За винятком будь-якого, що стосується генераторів булыжників).",
"quests.steam_age.mechanical_harvester.title": "Механічний збирач врожаю",
"quests.steam_age.mechanical_harvester.subtitle": "Роботизований вибірковий підхід",
- "quests.steam_age.mechanical_harvester.desc": "Занадто ліниво збирати врожай і пересаджувати свої культури? Ці механізми зроблять це за вас! Розмістіть їх на обертовій конструкції й спостерігайте за роботою. Вони не працюють на культурах, посаджених всередині теплиці.\n\nПорада: На рівні породи температура завжди постійна — 15°C, тому це чудове місце для ферми, яка може вирощувати культури протягом усього року!",
+ "quests.steam_age.mechanical_harvester.desc": "Занадто ліниво збирати врожай і пересаджувати свої культури? Ці механізми зроблять це за вас! Розмістіть їх на обертовій конструкції й спостерігайте за роботою. Вони не працюють на культурах, посаджених всередині теплиці.\n\nПорада: На рівні корінної породи температура завжди постійна — 15°C, тому це чудове місце для ферми, яка може вирощувати культури протягом усього року!",
"quests.steam_age.mechanical_saw.title": "Механічна пилка",
"quests.steam_age.mechanical_saw.subtitle": "Ефективне різання деревини, каменю та ваших пальців",
"quests.steam_age.mechanical_saw.desc": "Втомилися рубати дерева? Ці механізми зроблять це за вас! Розмістіть їх на обертовій конструкції й спостерігайте за роботою. На жаль, вам все одно доведеться самостійно пересаджувати саджанці, доки ви не отримаєте доступ до Встановлювача.\n\nМеханічна пилка також може бути використана як каменеріз, забезпечуючи легший доступ до різноманітних видів кам'яної кладки. Використовувати її для нарізання колод на пиломатеріали також більш ефективно!",
@@ -1834,7 +2156,7 @@
"quests.steam_age.item_pipes.subtitle": "Не такі круті, як Кондуїти для Предметів",
"quests.steam_age.item_pipes.desc.1": "&3Труби для Предметів&r — це простий, але ефективний спосіб миттєвого &dпереміщення&r предметів, хоча з обмеженою пропускною здатністю.\n\nТруби вищого рівня забезпечують надзвичайно високу пропускну здатність — рідкісне явище у модифікованому Minecraft!\n\nТруби для Предметів &9не тягнуть&r, але штовхають будь-який предмет, вставлений у них, до підключених інвентарів, пріоритетно &9найближчий інвентар&r.",
"quests.steam_age.item_pipes.desc.2": "Механіка пріоритетів &oдосить складна&r, тому пропустіть, якщо вас це не цікавить:\n\nДля &eЦілі&r розраховується &dЗначення Маршруту&r, яке є сумою всіх \"Значень Маршруту\" окремих Труб до цієї Цілі. Ціль із &cнайнижчим &dЗначенням Маршруту&r буде обрана для Вставки.\n\n&3Обмежувальні Труби&r зазвичай мають найнижчий пріоритет для вставки через їхнє вище Значення Маршруту.",
- "quests.steam_age.item_pipes.desc.3": "Зараз ви можете використовувати їх у поєднанні з &6Жолобами&r і &6Вирвами&r, але також зможете використовувати їх із Модулями Конвеєра, Вихідними Автобусами та Автовиходами машин у НН(LV) епоху.\n\n&9Примітка:&r Труби у стилі GT6 &dактивовані&r. Це означає, що при встановленні Труби підключаються лише до блоку, до якого їх було встановлено. Щоб відкрити більше з’єднань, використовуйте ваш &5Гайковий Ключ&r на сітці.\n\nОтримайте &eбудь-які&r із запропонованих Труб для Предметів, щоб виконати це завдання.",
+ "quests.steam_age.item_pipes.desc.3": "Зараз ви можете використовувати їх у поєднанні з &6Жолобами&r і &6Вирвами&r, але також зможете використовувати їх із Модулями Конвеєра, Вихідними Автобусами та Автовиходами машин у LV епоху.\n\n&9Примітка:&r Труби у стилі GT6 &dактивовані&r. Це означає, що при встановленні Труби підключаються лише до блоку, до якого їх було встановлено. Щоб відкрити більше з’єднань, використовуйте ваш &5Гайковий Ключ&r на сітці.\n\nОтримайте &eбудь-які&r із запропонованих Труб для Предметів, щоб виконати це завдання.",
"quests.steam_age.item_pipes.desc.4": "&l&3Лор:&r&o Оооо, ТАК! Труби для Предметів були в GregTech 5, і з якоїсь причини їх не включили в GTCE, тому доводилося використовувати інші моди для транспортування предметів. Хто взагалі так робить!? Жарти в сторону, ми сподіваємося, вам сподобається повернення Труб для Предметів у GregTech!",
"quests.steam_age.steel_greate.title": "Сталевий Рівень Greate",
"quests.steam_age.steel_greate.subtitle": "Greate настільки гарний, що вони створили Greate 2.",
@@ -1924,7 +2246,7 @@
"quests.steam_age.crushing_wheel.desc": "Вони виконують ті ж самі функції, що й інші машини для дроблення, описані раніше в розділі, але працюють швидше та обробляють великі обсяги. Вони досить схожі на Парову Дробарку.",
"quests.steam_age.centrifuge.title": "Механічна центрифуга",
"quests.steam_age.centrifuge.subtitle": "Світ, що Обертається",
- "quests.steam_age.centrifuge.desc": "Переробка руди завжди буде важливою частиною цього модпаку, і ця машина є ще одним (необов’язковим) її елементом. Дотримуючись іншого шляху переробки руди (перевірте вкладку Схема Переробки Руди у JEI), ви можете використовувати цю центрифугу для отримання додаткових побічних продуктів із вашої руди! Наступне покращення для переробки руди з'явиться лише з НН(LV) Термальною Центрифугою, тому чи варта ця інвестиція залежить від вас.",
+ "quests.steam_age.centrifuge.desc": "Переробка руди завжди буде важливою частиною цього модпаку, і ця машина є ще одним (необов’язковим) її елементом. Дотримуючись іншого шляху переробки руди (перевірте вкладку Схема Переробки Руди у JEI), ви можете використовувати цю центрифугу для отримання додаткових побічних продуктів із вашої руди! Наступне покращення для переробки руди з'явиться лише з LV Термальною Центрифугою, тому чи варта ця інвестиція залежить від вас.",
"quests.steam_age.steam_engine.title": "Парова Машина",
"quests.steam_age.steam_engine.subtitle": "Час для справжньої сили пару",
"quests.steam_age.steam_engine.desc": "Водяні колеса та вітряки вже не справляються? Яка ж це парова епоха без справжнього парового двигуна! Кожен паровий двигун може видавати цілих 256 ОД (Одиниць Потужності), надаючи тобі значно більше енергії для експериментів.\n\nПалаючі Пальники можна створити, не виходячи з дому, а за допомогою Механічної Руки їх можна автоматично заправляти твердим паливом або рідким паливом у відрі (наприклад, креозотом). Також для перегріву можна використовувати Вугільні Самоцвіти, Антрацит і Кокс.",
@@ -1957,31 +2279,31 @@
"quests.steam_age.vacuum_chamber.desc": "Ця машина є фінальним етапом у виготовленні ваших перших Вакуумних Трубок. Розмістіть її над Басейном, подайте трохи енергії та переконайтеся, що машина налаштована на режим Вакуумування.\n\nБонусом є те, що ця машина також може зварювати злитки й пластини, а ще розплавляти клей і гуму, якщо її нагрівати за допомогою Вугільного Горна або Жаровні Blaze.",
"quests.steam_age.vacuum_tubes.title": "Електроніка #3: Вакуумні Трубки",
"quests.steam_age.vacuum_tubes.subtitle": "Складніший компонент для схем",
- "quests.steam_age.vacuum_tubes.desc": "Створення Вакуумних Трубок може змусити вас замислитись про своє існування. Зараз вони дуже дорогі, але незабаром стануть дешевшими—це загальна філософія GregTech!\n\nВакуумні Трубки технічно є вашою першою Ультра Низьковольтною (&8ULV&r) Схемою! Вітаю! Звідси ви можете або перейти до створення НН(LV) Схем, або провести ще трохи часу в Епосі Пару, виготовляючи інші машини з тільки-но створених Вакуумних Трубок.",
+ "quests.steam_age.vacuum_tubes.desc": "Створення Вакуумних Трубок може змусити вас замислитись про своє існування. Зараз вони дуже дорогі, але незабаром стануть дешевшими—це загальна філософія GregTech!\n\nВакуумні Трубки технічно є вашою першою Ультра Низьковольтною (&8ULV&r) Схемою! Вітаю! Звідси ви можете або перейти до створення LV Схем, або провести ще трохи часу в Епосі Пару, виготовляючи інші машини з тільки-но створених Вакуумних Трубок.",
"quests.steam_age.resistors.title": "Електроніка #1: Резистори",
"quests.steam_age.resistors.subtitle": "Більш... резистивний... компонент для схем",
- "quests.steam_age.resistors.desc": "Резистори є компонентами, які будуть використані для створення вашої першої Схеми.\n\nНе буде нерозумним надати пріоритет рецептам, що використовують &aТонкі Дроти&r, адже вони допоможуть вам заощадити більше матеріалів у довгостроковій перспективі.\n\nДроти можуть бути дорогими прямо зараз, але вони стануть набагато дешевшими, якщо ви створите &3Машину для Намотування&r нижче або &3Дротовий Верстат&r в &7НН(LV)&r.",
+ "quests.steam_age.resistors.desc": "Резистори є компонентами, які будуть використані для створення вашої першої Схеми.\n\nНе буде нерозумним надати пріоритет рецептам, що використовують &aТонкі Дроти&r, адже вони допоможуть вам заощадити більше матеріалів у довгостроковій перспективі.\n\nДроти можуть бути дорогими прямо зараз, але вони стануть набагато дешевшими, якщо ви створите &3Машину для Намотування&r нижче або &3Дротовий Верстат&r в &7LV&r.",
"quests.steam_age.coiling_machine.title": "Машина для Намотування",
- "quests.steam_age.coiling_machine.subtitle": "Дротовий Верстат НН(LV), прикріплений до половини Згинального Верстата НН(LV)!",
- "quests.steam_age.coiling_machine.desc": "&3Машина для Намотування&r подібна до Дротового Верстата НН(LV), хоча їй бракує можливості прямо виводити різні розміри дротів. З усім тим, це дуже вартісна інвестиція, яка зробить ваші дроти значно дешевшими.\n\nЦя машина також може виготовляти дешевші пружини!",
+ "quests.steam_age.coiling_machine.subtitle": "Дротовий Верстат LV, прикріплений до половини Згинального Верстата LV!",
+ "quests.steam_age.coiling_machine.desc": "&3Машина для Намотування&r подібна до Дротового Верстата LV, хоча їй бракує можливості прямо виводити різні розміри дротів. З усім тим, це дуже вартісна інвестиція, яка зробить ваші дроти значно дешевшими.\n\nЦя машина також може виготовляти дешевші пружини!",
"quests.steam_age.curving_press.title": "Гнучкий Прес",
- "quests.steam_age.curving_press.subtitle": "Таке ж нішеве, як НН(LV) Екструдер",
- "quests.steam_age.curving_press.desc": "&3Гнучкий Прес&r може виконувати всі ті самі рецепти, що й НН(LV) Екструдер. На жаль, обидва вони не дуже функціональні, адже екструдер стає корисним лише на рівні СН(MV). Однак, якщо вам потрібно створювати багато голівок інструментів масово, ця машина впорається з цим завданням.",
+ "quests.steam_age.curving_press.subtitle": "Таке ж нішеве, як LV Екструдер",
+ "quests.steam_age.curving_press.desc": "&3Гнучкий Прес&r може виконувати всі ті самі рецепти, що й LV Екструдер. На жаль, обидва вони не дуже функціональні, адже екструдер стає корисним лише на рівні MV. Однак, якщо вам потрібно створювати багато голівок інструментів масово, ця машина впорається з цим завданням.",
"quests.steam_age.vibrating_table.title": "Вібраційний Стіл",
- "quests.steam_age.vibrating_table.subtitle": "Ідентично до НН(LV) Сортувальника",
+ "quests.steam_age.vibrating_table.subtitle": "Ідентично до LV Сортувальника",
"quests.steam_age.vibrating_table.desc": "&3Вібраційний Стіл&r може обробляти руду дорогоцінного каміння (включаючи вугілля) іншим способом, забезпечуючи набагато більший вихід, ніж будь-що інше, до чого ви маєте доступ на даний момент. Бонусом є те, що він також може обробляти будь-які гравійні родовища, які у вас ще залишилися. Ніякого більше промивання!",
"quests.steam_age.lathe.title": "Токарний Верстат",
- "quests.steam_age.lathe.subtitle": "Ви не повірите, з якою НН(LV) машиною це однаково!",
+ "quests.steam_age.lathe.subtitle": "Ви не повірите, з якою LV машиною це однаково",
"quests.steam_age.lathe.desc": "&3Токарний Верстат&r може автоматично перетворювати один злиток на два стрижні, а один болт на гвинти. Якщо ви плануєте виготовляти їх у великій кількості (а так і буде), ця машина стане гарною інвестицією.",
"quests.steam_age.steel_saw.title": "Сталева Механічна Пилка",
- "quests.steam_age.steel_saw.subtitle": "Кам'яна Пилка та НН(LV) Різак в одному!",
+ "quests.steam_age.steel_saw.subtitle": "Кам'яна Пилка та LV Різак в одному!",
"quests.steam_age.steel_saw.desc": "Це вдосконалення для вашої базової механічної пилки, яке також може обробляти деякі металеві рецепти — наприклад, перетворювати стрижні на чотири болти або різати блоки на пластини. Для всіх цих рецептів потрібна рідина, але наразі можна просто використовувати воду.\n\nТрохи алюмінію для кобальтової латуні можна отримати як побічний продукт обробки руди! Заглянь у відповідну главу завдання для детальнішої інформації.",
"quests.steam_age.rolling_mill.title": "Вальцювальний Станок",
- "quests.steam_age.rolling_mill.subtitle": "Друга половина НН(LV) Згинального Верстата",
+ "quests.steam_age.rolling_mill.subtitle": "Друга половина LV Згинального Верстата",
"quests.steam_age.rolling_mill.desc.1": "З усіх машин парової епохи, які ви могли б створити, &3Вальцювальний Станок&r є одним з найкращих, з простої причини: він виготовляє одинарні пластини з одинарних злитків. Бонусом є те, що він також може виготовляти тонкі листи дешевше, ніж вручну!",
- "quests.steam_age.rolling_mill.desc.2": "&l&3Лор:&r &oЦя машина існувала в старіших версіях TFG, але вона виготовляла стрижні замість пластин, і вашим найкращим варіантом виготовлення пластин до появи НН(LV) Згинального Верстата був варіант з шансом невдачі у 20%!&r",
+ "quests.steam_age.rolling_mill.desc.2": "&l&3Лор:&r &oЦя машина існувала в старіших версіях TFG, але вона виготовляла стрижні замість пластин, і вашим найкращим варіантом виготовлення пластин до появи LV Згинального Верстата був варіант з шансом невдачі у 20 відсотків!&r",
"quests.steam_age.steel_mixer.title": "Сталевий Механічний Міксер",
- "quests.steam_age.steel_mixer.subtitle": "Попередній НН(LV) Міксер",
+ "quests.steam_age.steel_mixer.subtitle": "Попередній LV Міксер",
"quests.steam_age.steel_mixer.desc": "&3Сталевий Механічний Міксер&r — це друга найкраща машина парової епохи, яку ви можете створити. Він може змішувати ваші кольорові сталеві пилки набагато ефективніше, ніж Тигель! Крім того, він підтримує велику кількість інших рецептів, включаючи деякі, які вимагають газів... краще про це не замислюйтесь.\n\nДля рецептів, що вимагають нагрівання, ви можете використовувати або Вугільний Горн, або Палаючий Пальник, а Механічна Рука може автоматично заправляти будь-який з них.",
"quests.steam_age.potin.title": "Продавець Сплавів Потіна...",
"quests.steam_age.potin.subtitle": "...Я йду в бій, і мені потрібен лише ваш найкращий Потін.",
@@ -1993,18 +2315,18 @@
"quests.steam_age.miner.desc.2": "Парова Шахтарка, з іншого боку, видобуває лише рудні блоки й замінює їх бруківкою, залишаючи решту ґрунту недоторканою. Вона може видобувати руду в (малому) радіусі, що означає, що її потрібно переміщати рідше, ніж механічну шахтарку, але вона також набагато повільніша.",
"quests.steam_age.paper.title": "Папір",
"quests.steam_age.paper.subtitle": "Не з цукрової тростини",
- "quests.steam_age.paper.desc": "Якщо ви ще не зробили жодного паперу, є три різні способи отримати його без електрики:\n\n1) Створити пергамент зі шкіри, пемзи та яйця.\n\n2) Сплести разом папірус.\n\n3) Виготовити папір із твердої деревини через тривалий процес.\n\nПізніше ви зможете перетворювати деревну масу безпосередньо в папір за допомогою НН(LV) Хімічної Ванни.",
+ "quests.steam_age.paper.desc": "Якщо ви ще не зробили жодного паперу, є три різні способи отримати його без електрики:\n\n1) Створити пергамент зі шкіри, пемзи та яйця.\n\n2) Сплести разом папірус.\n\n3) Виготовити папір із твердої деревини через тривалий процес.\n\nПізніше ви зможете перетворювати деревну масу безпосередньо в папір за допомогою LV Хімічної Ванни.",
"quests.steam_age.lv_circuit.title": "Ваш перший схемний компонент!",
"quests.steam_age.lv_circuit.subtitle": "Світанок нової епохи",
- "quests.steam_age.lv_circuit.desc": "Рецепт для цього може виглядати лякаюче на перший погляд, але якщо ви провели достатньо часу в епоху пари, усе повинно бути легко автоматизованим. Ви будете виготовляти їх у великих кількостях протягом певного часу, але ваші наступні електричні машини допоможуть зробити їх ще дешевшими, поки ви не дістанете Ассемблер Схем наприкінці НН(LV).",
+ "quests.steam_age.lv_circuit.desc": "Рецепт для цього може виглядати лякаюче на перший погляд, але якщо ви провели достатньо часу в епоху пари, усе повинно бути легко автоматизованим. Ви будете виготовляти їх у великих кількостях протягом певного часу, але ваші наступні електричні машини допоможуть зробити їх ще дешевшими, поки ви не дістанете Ассемблер Схем наприкінці LV.",
"quests.steam_age.what_next.title": "Що далі?",
"quests.steam_age.what_next.subtitle": "Знаєте, окрім \"ще більше GregTech\"",
- "quests.steam_age.what_next.desc": "Якщо ви поспішили дістатися сюди, ми рекомендуємо спершу зосередитися на таких машинах, як НН(LV) Згинальний Верстат, Дротовий Верстат або Міксер. \nІнакше, якщо ви вже створили кінетичні машини, ми пропонуємо звернути увагу на Асемблер, Дуго плавильну Піч, Хімічний Реактор або Поляризатор.",
+ "quests.steam_age.what_next.desc": "Якщо ви поспішили дістатися сюди, ми рекомендуємо спершу зосередитися на таких машинах, як LV Згинальний Верстат, Дротовий Верстат або Міксер. \nІнакше, якщо ви вже створили кінетичні машини, ми пропонуємо звернути увагу на Асемблер, Дуго плавильну Піч, Хімічний Реактор або Поляризатор.",
"quests.steam_age.alternator.title": "Альтернатори",
"quests.steam_age.alternator.subtitle": "Перетворення напруги в енергію",
- "quests.steam_age.alternator.desc.1": "Якщо у вас велике налаштування епохи пари, ви, ймовірно, не захочете одразу все списати, щоб повернутися до кількох котлів і НН(LV) Парових Турбін. Натомість &3Альтернатор&r буде конвертувати SU з ваших парових двигунів в електрику. Кожен паровий двигун + альтернатор повинен давати 1A НН(LV)! На жаль, альтернатори конвертують напругу у відмінну від GregTech систему електрики, тому вам знадобиться Енергетичний Конвертер, щоб перетворити її у придатну для використання НН(LV) енергію.",
- "quests.steam_age.alternator.desc.2": "Приклад парового двигуна, що виробляє 8 ампер НН(LV)!",
- "quests.steam_age.packager.title": "Create Logistics",
+ "quests.steam_age.alternator.desc.1": "Якщо у вас велике налаштування епохи пари, ви, ймовірно, не захочете одразу все списати, щоб повернутися до кількох котлів і LV Парових Турбін. Натомість &3Альтернатор&r буде конвертувати SU з ваших парових двигунів в електрику. Кожен паровий двигун + альтернатор повинен давати 1A LV! На жаль, альтернатори конвертують напругу у відмінну від GregTech систему електрики, тому вам знадобиться Енергетичний Конвертер, щоб перетворити її у придатну для використання LV енергію.",
+ "quests.steam_age.alternator.desc.2": "Приклад парового двигуна, що виробляє 8 ампер LV!\n",
+ "quests.steam_age.packager.title": "Логістика Create",
"quests.steam_age.packager.subtitle": "«У нас уже є AE2 вдома»",
"quests.steam_age.packager.desc": "Твій хаос зі скринь уже виходить з-під контролю? Тепер у тебе є доступ до логістичної системи Create! Заглянь у розділ &3Create Logistics&r, щоб дізнатися, з чого почати.",
"quests.steam_age.basic_mech_press.title": "Базовий механічний прес",
@@ -2013,18 +2335,18 @@
"quests.steam_age.steel_mech_press.title": "Сталевий механічний прес",
"quests.steam_age.steel_mech_press.subtitle": "Майже ковальський молот",
"quests.steam_age.steel_mech_press.desc.1": "Ковальський молото на парі високого тиску вже не за горами — він може робити майже все те, що й ця машина. Але якщо вам конче потрібні рецепти автоматичного зварювання вищого рівня — це ваш шанс.\n\nЯкщо ви не знайомі з ковальським молотом, то і він, і сталевий механічний прес можуть дробити руди (без побічних продуктів), перетворювати камінь у булижник, потім у гравій, а далі в пісок, а також розбивати цеглу. Однак лише ковальський молоток може запропонувати &3дешевший рецепт металевих пластин&r...",
- "quests.steam_age.steel_mech_press.desc.2": "&l&3Лор:&r&o Механічний прес з мода Create колись був ключовим елементом прогресу в пізній паровій епосі до версії 0.9 TerraFirmaGreg, адже він виробляв пластини за ще вигіднішим співвідношенням 5 до 4. Проте його реалізація насправді означала: «20% часу ви не отримуєте нічого», що змусило багатьох гравців заявити, як сильно вони люблять азартні ігри під час його використання.",
+ "quests.steam_age.steel_mech_press.desc.2": "&l&3Лор:&r&o Механічний прес з мода Create колись був ключовим елементом прогресу в пізній паровій епосі до версії 0.9 TerraFirmaGreg, адже він виробляв пластини за ще вигіднішим співвідношенням 5 до 4. Проте його реалізація насправді означала: «20 відсотків часу ви не отримуєте нічого», що змусило багатьох гравців заявити, як сильно вони люблять азартні ігри під час його використання.",
"quests.stone_age": "Кам’яна доба",
"quests.stone_age.subtitle": "Скромний початок",
- "quests.stone_age.foods.title": "Голодний?",
- "quests.stone_age.foods.subtitle": "Де моя легка їжа?",
+ "quests.stone_age.foods.title": "Зголоднів?",
+ "quests.stone_age.foods.subtitle": "Де моя проста їжа?",
"quests.stone_age.foods.desc": "У TerraFirmaGreg світ є жорстоким місцем, і одним із найважливіших аспектів виживання є здатність добувати їжу. Більшість їжі сама по собі має низьку поживну цінність, тоді як інші можуть бути смертельно небезпечними, якщо їх не приготувати. Ваш голод представлений зеленою смужкою поруч із вашим здоров'ям.\n\nПочніть із здобуття будь-якої форми їжі.",
"quests.stone_age.nutrition.title": "Механіка: Харчування",
"quests.stone_age.nutrition.subtitle": "\"Що ти маєш на увазі, що я не можу просто їсти стейк?",
"quests.stone_age.nutrition.desc": "Кожен основний продукт у TerraFirmaGreg має поживну цінність, і ці поживні речовини розподіляються на 5 різних категорій: &lЗерно&r, &lФрукти&r, &lОвочі&r, &lБілки&r та &lМолочні продукти&r.\n\nХоча ви могли б їсти лише один вид сирого поживного компонента, наприклад білки, ваше загальне здоров'я буде погіршуватися. Збалансований раціон дозволяє мати набагато більшу максимальну кількість здоров'я. Кожні 100 HP відповідають одному серцю.\n\nОзнайомтеся з розділом польового посібника \"Їжа та Вода\" для отримання повної інформації.",
"quests.stone_age.cook_meat.title": "Основи Кулінарії",
- "quests.stone_age.cook_meat.subtitle": "Ви ж не хочете померти, ївши сире м'ясо, правда?",
- "quests.stone_age.cook_meat.desc": "Приготування сирого м'яса — це важливий етап для отримання білка: воно не тільки збільшить термін придатності м'яса, але й відкриє ще більше поживних речовин для вашого вимогливого організму.\n\nНайпростіший спосіб приготувати м'ясо — використати Вогнище. Ознайомтеся із завданням нижче, щоб дізнатися, як його створити.",
+ "quests.stone_age.cook_meat.subtitle": "Ви ж не бажаєте померти, ївши сире м'ясо, дійсно?",
+ "quests.stone_age.cook_meat.desc": "Приготування сирого м'яса — це важливий етап для отримання білка: воно не тільки збільшить термін придатності м'яса, але й відкриє ще більше поживних речовин для вашого вимогливого організму.\n\nНайпростіший спосіб приготувати м'ясо — використати багаття. Ознайомтеся із завданням нижче, щоб дізнатися, як його створити.",
"quests.stone_age.soup_time.title": "Супи",
"quests.stone_age.soup_time.subtitle": "В якому магазині ви були?",
"quests.stone_age.soup_time.desc": "Зробивши горщик та кілька мисок із глини, ви зможете створювати супи!\n\nСупи — це один із перших і найлегших способів приготування складніших страв. На відміну від простого поїдання окремих інгредієнтів, вони забезпечують набагато більшу ситність і дозволяють споживати одразу кілька поживних речовин!",
@@ -2038,33 +2360,33 @@
"quests.stone_age.garlic_bread.desc": "Порада: завдання у квесті приймає БУДЬ-ЯКИЙ часниковий хліб, він не обов'язково має бути свіжим.",
"quests.stone_age.garlic_bread.task": "1024 шматочки часникового хліба",
"quests.stone_age.find_potable_water.title": "Спраглі?",
- "quests.stone_age.find_potable_water.subtitle": "Не забудьте пити воду!",
- "quests.stone_age.find_potable_water.desc": "Спрага представлена синьою смугою над шкалою голоду. Ви можете і справді помрете від зневоднення, якщо не будете підтримувати показник спраги заповненим! Найлегший спосіб напитися — це пити з природних ставків у дикій місцевості, клацнувши правою кнопкою миші на них із порожньою рукою.\nЩоб завершити це завдання, вам потрібно випити придатне джерело води, може бути звичайна або річкова вода. Можливо, вам доведеться пити кілька разів, щоб завдання правильно завершилось.\n\nТут вам не потрібно турбуватися про очищення води, хоча солона вода тільки зробить вас більш спраглими.",
- "quests.stone_age.find_potable_water.task": "Пийте з джерела води рукою. (Не солона або гаряча)",
+ "quests.stone_age.find_potable_water.subtitle": "Не забувайте пити воду!",
+ "quests.stone_age.find_potable_water.desc": "Спрага представлена синьою смугою під шкалою голоду. Ви можете і справді помрете від зневоднення, якщо не будете підтримувати показник спраги заповненим! Найлегший спосіб напитися — це пити з природних ставків у дикій місцевості, клацнувши правою кнопкою миші на них із порожньою рукою.\nЩоб завершити це завдання, вам потрібно випити придатне джерело води це може бути звичайна або річкова вода. Можливо, вам доведеться пити кілька разів, щоб завдання правильно виконалось.\n\nТут вам не потрібно турбуватися про очищення води, хоча солона вода тільки зробить вас більш спраглими.",
+ "quests.stone_age.find_potable_water.task": "Пийте воду з джерел рукою. (Не солону або гарячу)",
"quests.stone_age.hydration.title": "Механіка: Гідратація",
"quests.stone_age.hydration.subtitle": "Ще одна смуга, яку потрібно тримати заповненою...",
- "quests.stone_age.hydration.desc": "Вода є важливим ресурсом, не лише для підтримання гідратації! Рекомендується облаштовувати базу поруч із прісним озером чи річкою, щоб мати легкий доступ до води. Інші предмети також можуть втамовувати спрагу, наприклад, певні типи їжі чи напоїв.\n\nОднак вода не завжди буде доступною під час досліджень, тому ось кілька способів переносити напої з собою. Під час пиття з контейнера споживається 100mB рідини.",
- "quests.stone_age.leather_flask.title": "Шкіряна фляга",
- "quests.stone_age.leather_flask.subtitle": "Старий Вірний",
- "quests.stone_age.leather_flask.desc": "Шкіряна фляга, ймовірно, є другим за простотою рішенням для перенесення води після керамічного глека. Вона може вміщувати 500mB, або ж вистачить на п’ять ковтків.\n\nШкіряна фляга отримує пошкодження під час використання, але, коли вона ламається, її можна відремонтувати, якщо у вас є під рукою шкіра. Міхури можна отримати від великих диких тварин.",
+ "quests.stone_age.hydration.desc": "Вода є важливим ресурсом, не лише для підтримання гідратації! Раджу облаштовувати базу поруч із прісним озером чи річкою, щоб мати легкий доступ до води. Інші предмети також можуть втамовувати спрагу, наприклад, певні типи їжі чи напоїв.\n\nОднак вода не завжди буде доступною під час досліджень, тому ось кілька способів переносити напої з собою. Під час пиття з контейнера споживається 100mB рідини.",
+ "quests.stone_age.leather_flask.title": "Шкіряний бурдюк",
+ "quests.stone_age.leather_flask.subtitle": "Старий та вірний",
+ "quests.stone_age.leather_flask.desc": "Бурдюк, ймовірно, є другим за простотою рішенням для перенесення води після керамічного глечика. Вона може вмістити 500mB, або ж вистачить на п’ять ковтків.\n\nБурдюк отримує пошкодження під час використання, але, коли вона ламається, її можна відремонтувати, якщо у вас є під рукою шкіра або січовий міхур, міхур можна здобути вбивством великих диких тварин.",
"quests.stone_age.iron_flask.title": "Залізна фляга",
- "quests.stone_age.iron_flask.subtitle": "Тепер це стане корисним надовго",
- "quests.stone_age.iron_flask.desc": "Залізна фляга є вдосконаленням шкіряної фляги. Вона має набагато більшу міцність, ніж шкіряна фляга, і здатна вмістити достатньо рідини для 20 ковтків.",
+ "quests.stone_age.iron_flask.subtitle": "Тепер це буде корисним на довгий час",
+ "quests.stone_age.iron_flask.desc": "Залізна фляга є вдосконаленням бурдюку. Вона має набагато більшу міцність, ніж бурдюк, та здатна вмістити достатньо води, аж на 20 ковтків.",
"quests.stone_age.water_bucket.title": "Відро з водою",
"quests.stone_age.water_bucket.subtitle": "Не так просто отримати, як здається",
"quests.stone_age.water_bucket.desc": "Переносити джерело води — це простий спосіб ніколи не залишитися без неї, але це трохи громіздко.\n\nНа жаль, дерев'яні відра не можна використовувати для пиття води, оскільки вони не переміщують блоки джерел, тому спроба розмістити її у світі створить лише дуже маленьку калюжу.",
"quests.stone_age.glass_bottles.title": "Скляні пляшки",
- "quests.stone_age.glass_bottles.subtitle": "Не так круто, як шкіряна фляга",
+ "quests.stone_age.glass_bottles.subtitle": "Не так круто, як бурдюк",
"quests.stone_age.glass_bottles.desc": "Скляні пляшки є такими ж ефективними, як шкіряна фляга, вони вміщують 500mB води. Однак виготовлення скляних пляшок буде можливим тільки пізніше, коли ви здобудете здатність формувати латунь.",
"quests.stone_age.water_jug.title": "Керамічний глек",
- "quests.stone_age.water_jug.subtitle": "Відносно простий доступ до води",
+ "quests.stone_age.water_jug.subtitle": "Відносно звичайний доступ до води",
"quests.stone_age.water_jug.desc": "Керамічний глек — це найперший рідинний контейнер, який ви можете створити, але він може вміщувати лише 100mB, тому вам доведеться наповнювати його після кожного ковтка.\n\nГлек досить крихкий і має випадковий шанс зламатися, коли ви з нього п'єте!",
"quests.stone_age.temperature.title": "Погода",
"quests.stone_age.temperature.subtitle": "Погода на сьогодні? Біль.",
"quests.stone_age.temperature.desc": "Новий світ починається на початку літа, кожен місяць триває 8 днів. Зміна сезонів приносить зміну температури, що впливатиме на врожай, фруктові дерева, кущі... і на вас!\n\nТемпература тіла — це те, що потрібно контролювати та підтримувати на стабільному рівні. Малий трикутник між вашим здоров'ям і голодом показує вашу поточну температуру та її тенденцію. Утримуйте кнопку Shift, щоб побачити точні цифри — ліве число показує ваш рівень вологості, а праве число — температуру.",
"quests.stone_age.temperature.task": "Існувати",
"quests.stone_age.insulation.title": "Механіка: Температура тіла",
- "quests.stone_age.insulation.subtitle": "Обережно з гіпо та гіпертермією.",
+ "quests.stone_age.insulation.subtitle": "Обережно з Гіпотермією та Гіпертермією",
"quests.stone_age.insulation.desc": "Багато факторів у світі впливають на вашу температуру тіла, від прямого сонячного світла до промокання чи стояння біля вогню. Вам потрібно підтримувати температуру в діапазоні від 0 до 30°C, щоб уникнути отримання шкоди, про що свідчить кольоровий візуальний ефект.\n\nІснує багато способів зменшити вплив навколишньої температури та підтримувати стабільний рівень температури тіла, і носіння &lОдягу&r є одним із найефективніших. Ви можете носити одяг як у своїх звичайних слотах спорядження, так і в слотах curios.",
"quests.stone_age.primitive_insulation.title": "Примітивна ізоляція",
"quests.stone_age.primitive_insulation.subtitle": "Печерний шик",
@@ -2082,8 +2404,8 @@
"quests.stone_age.burlap_clothes.subtitle": "Для випадків, коли спека починає впливати на вас",
"quests.stone_age.burlap_clothes.desc": "Джутова тканина виготовляється з волокон джуту. Джут може рости в більшості теплих кліматів за умови, що задовольняються його потреби в температурі та зволоженні.\n\nОдяг із джуту ідеально підходить для спекотного літа або інших гарячих середовищ, але ми поговоримо про це пізніше.",
"quests.stone_age.silk_clothes.title": "Шовковий одяг",
- "quests.stone_age.silk_clothes.subtitle": "На жаль, без шовковичних червів!",
- "quests.stone_age.silk_clothes.desc": "Шовк виготовляється з павучої нитки, яку досить важко зібрати у великих кількостях, якщо не вирушати у глибокі райони.\n\nШовковий одяг є чудовим вибором для надзвичайно гарячих умов, таких як пустелі або нижні рівні Безодні.",
+ "quests.stone_age.silk_clothes.subtitle": "На жаль, без шовкопрядів!",
+ "quests.stone_age.silk_clothes.desc": "Шовк виготовляється з павучої нитки, яку досить важко зібрати у великих кількостях, якщо не вирушати у глибокі місця.\n\nШовковий одяг є чудовим вибором для надзвичайно гарячих умов, таких як пустелі або у безодні.",
"quests.stone_age.clothes.title": "Одяг",
"quests.stone_age.clothes.subtitle": "Вишукано!",
"quests.stone_age.clothes.desc": "Носіння одягу — це простий спосіб справлятися з екстремальними температурами. Теплий одяг, як-от вовняний або ізольований шкіряний, прекрасно підходить для холодних середовищ, тоді як шовковий або джутовий — ідеальні для жаркого клімату.",
@@ -2108,7 +2430,7 @@
"quests.stone_age.gather_logs.title": "Збирайте колоди",
"quests.stone_age.gather_logs.subtitle": "Дерево падає!",
"quests.stone_age.gather_logs.desc": "Завдяки вашій новій кам'яній сокирі ви зможете зрубувати дерева. Ламаючи основу дерева, ви спричините падіння всього дерева, у результаті чого отримаєте колоди, палички та саджанці.\n\nЗберіть щонайменше 10 колод — 8 із них будуть використані для земляної печі, а інші дві — для вогнища.",
- "quests.stone_age.firepit.title": "Вогнище",
+ "quests.stone_age.firepit.title": "Багаття",
"quests.stone_age.firepit.subtitle": "Наближається ніч",
"quests.stone_age.firepit.desc.1": "Тепер, коли у вас є колоди, настав час побудувати ваше перше вогнище! Хоча монстри не з'являються на поверхні вночі, нічні хижаки будуть прокидатися й полювати навколо.\n\nСпочатку вам потрібно створити засіб для розпалювання вогню — інструмент, що дозволяє вам запалювати вогнище.",
"quests.stone_age.firepit.desc.2": "Щоб створити вогнище, киньте щонайменше одну колоду та до 3 паличок на землю, а потім запаліть блок під ними, клацаючи правою кнопкою миші й утримуючи засіб для розпалювання. Ви також можете додати трохи соломи, щоб зробити процес легшим.\n\nВогнище не тільки є джерелом світла і тепла, але також може використовуватися для запалювання факелів і приготування сирого м’яса. Ви можете підтримувати вогнище запаленим, взаємодіючи з ним і додаючи колоди через інтерфейс. Якщо вогонь згасає, просто додайте ще колоди й знову запаліть його за допомогою засобу для розпалювання",
@@ -2303,7 +2625,7 @@
"quests.tfg_tips.glassblowing_tools.desc": "Щоб працювати з &dСклом&r, тобі знадобиться різноманітний набір інструментів. \n\n&3Лопатка&r: Виконує вирівнювання, головним чином використовується для створення &dСкляних Панелей&r та &dЛампових Скелець.&r \n&3- Алмазна Пила&r: Окрім того, що є обов’язковою для виготовлення скляних виробів, вона також може використовуватися для підбирання &dСкла&r та &cКристалічних Бруньок&r у світі, подібно до ефекту &bШовкового Дотику!&r \n&3Щипці&r: Використовуються для затискання скла, переважно для контейнерів, таких як &dСкляні Пляшки.&r \n&3Вовняна Тканина&r: Використовується для прокатки скла, необхідна для &dЛінз&r та &dБанок.&r",
"quests.tfg_tips.glass_blocks.title": "Скляні блоки",
"quests.tfg_tips.glass_blocks.subtitle": "Здобудь собі трохи вікон.",
- "quests.tfg_tips.glass_blocks.desc": "Залежно від типу піску, використаного для &aСкляної Суміші&r, твоє фінальне &dСкло&r матиме різні кольори. \nПереглянь розділ &2Польового Посібника&r про &3Склодувне ремесло&r, щоб дізнатися інші способи створення специфічних кольорів. \nПізніше ти зможеш використовувати хімікати &3GregTech&r для більш простого фарбування скла. \n\n&3&lПорада:&r&o Якщо тобі потрібно багато Скляних Блоків і ти маєш доступ до &bСплавного Плавильника&f, ефективніше створювати &dСкляні Панелі&f, &bподрібнювати&f їх, перетворювати на &dПил&r, а потім використовувати &aФорму для Блоків&f, оскільки одна партія може створити до 16 Малих Пилів за раз!",
+ "quests.tfg_tips.glass_blocks.desc": "Залежно від типу піску, використаного для &aСкляної Суміші&r, твоє фінальне &dСкло&r матиме різні кольори. \nПереглянь розділ &2Польового Посібника&r про &3Склодувне ремесло&r, щоб дізнатися інші способи створення специфічних кольорів. Пізніше ти зможеш використовувати хімікати &3GregTech&r для більш простого фарбування скла. \n\n&3&lПорада:&r&o Якщо тобі потрібно багато Скляних Блоків і ти маєш доступ до &bСплавного Плавильника&f, ефективніше створювати &dСкляні Панелі&f, &bподрібнювати&f їх, перетворювати на &dПил&r, а потім використовувати &aФорму для Блоків&f, оскільки одна партія може створити до 16 Малих Пилів за раз!",
"quests.tfg_tips.lamps.title": "Ліхтарі",
"quests.tfg_tips.lamps.subtitle": "Це гарні.",
"quests.tfg_tips.lamps.desc": "Як і в звичайному Minecraft, &dЛампи&r можна підвішувати до стелі за допомогою ланцюгів або розміщувати на верхній частині блоків. &dЛампи&r споживають різні види палива, щоб залишатися освітленими. Деякі види палива можуть горіти &4необмежено.&r \n\n&3&lПорада:&r&o Заповнені лампи можна розмістити в &6задньому&r слоті &cCurios Menu&r \nдля забезпечення динамічного освітлення без використання рук. Це може не працювати, якщо у тебе ввімкнені шейдери.",
@@ -2512,6 +2834,15 @@
"quests.tfg_tips.photo_frame.title": "Фоторамка",
"quests.tfg_tips.photo_frame.subtitle": "Для найвражаючих знімків",
"quests.tfg_tips.photo_frame.desc": "&dФоторамка&r може використовуватися для зображення знімків. На відміну від Рамок для предметів, Фоторамки можуть бути розміром 1x1, 2x2 або 3x3, що дозволяє тобі демонструвати особливо красиві фотографії на твоїй базі!",
+ "quests.tfg_tips.harpoon.title": "Гарпун",
+ "quests.tfg_tips.harpoon.subtitle": "Запасний вихід",
+ "quests.tfg_tips.harpoon.desc": "&dГарпун&r схожий на гак, але завжди летить строго вгору і не підлягає покращенню. Проте ти все одно можеш розгойдуватися на ньому!",
+ "quests.tfg_tips.coil.title": "Канатна дорога",
+ "quests.tfg_tips.coil.subtitle": "Wheeeeee!",
+ "quests.tfg_tips.coil.desc": "Якщо ти клацнеш Пкм по двох &dПарканах&r з &3Котушкою&r, створиться канатна дорога! Побудуй її над собою, а потім вистріли Гарпуном у паркан, щоб почати шмувити.\n\nКлацни по Котушці порожньою рукою, щоб змінити натяг лінії. Кожна Котушка — одностороння, напрямок видно за «стрілками» на самій лінії, тож для двосторонньої канатної дороги знадобиться дві котушки.\n\nКотушки можна ставити й на інші блоки для декору, але для роботи канатної дороги вони мають бути саме на парканах.",
+ "quests.tfg_tips.self_defense.title": "Самооборона",
+ "quests.tfg_tips.self_defense.subtitle": "У тебе зомбі на газоні?",
+ "quests.tfg_tips.self_defense.desc": "Постав &3Пастку з ручкою&r поруч із натискною плитою — і вона повністю знерухомить будь-яку тварину (або монстра!), що на неї наступить. Ідеально для упіймання хитрої лісової істоти або захисту дому.\n\n&3Колючий дріт&r — це пасивний елемент, який просто завдає шкоди всьому, що проходить крізь нього.",
"quests.tfg_tips.arborfirmacraft.title": "ArborFirmaCraft",
"quests.tfg_tips.arborfirmacraft.subtitle": "Збирання життєвої крові дерев",
"quests.tfg_tips.arborfirmacraft.desc": "&2ArborFirmaCraft&r — це мод, що додає безліч нових дерев у &3TFG&r: деякі є варіантами існуючих дерев TFC, таких як &dСтародавній Капок&r, а інші — абсолютно нові, наприклад, &aБаобаб&r та &aГевея.&r Деякі текстури дощок і колод цих дерев можуть нагадувати кольори ванільних дерев... \n\nУ цьому розділі розглянемо &bЗбір Соку&r. \n\nЯк бонус, всі породи дерев &2ArborFirmaCraft&r сумісні з &3FirmaLife&r та &3Firma:Civ&r — ми подбали про це!",
@@ -2602,7 +2933,7 @@
"quests.tfg_tips.scarlet_biplane.title": "Червоний біплан",
"quests.tfg_tips.scarlet_biplane.subtitle": "Що за видовищe",
"quests.tfg_tips.scarlet_biplane.desc": "&3Червоний біплан&r — це фінальне оновлення для &bЛітаків&r, що вимагає &6HV&r компонентів. \n\nВін містить &b27 слотів інвентарю&r, &a4 слоти для покращень&r, &c2 слоти для зброї&r, а також &4слот для прискорення&r, як і звичайний біплан. \n\nХоча він дорогий, &3Червоний біплан&r компенсує це підвищеною міцністю, збільшеною максимальною швидкістю та загальним стилем.",
- "quests.tfg_tips.aluminium_hopper.title": "Алюміневий Бункер",
+ "quests.tfg_tips.aluminium_hopper.title": "Алюмінієва воронка",
"quests.tfg_tips.aluminium_hopper.subtitle": "Такий легкий, що плаває на воді!",
"quests.tfg_tips.aluminium_hopper.desc": "&3Алюмінієвий Хопер&r — це одне з двох фінальних покращень для &bЛітаків&r, яке потребує компонентів &6HV&r рівня.\n\nВін має &b16 Слотів Інвентарю&r, &a4 Слоти для Покращень&r, &c2 Слоти для Зброї&r, 3 місця для сидіння, а також &4Слот для Підсилювача&r — як і стандартний біплан.\n\nПопри високу вартість, &3Алюмінієвий Хопер&r компенсує це наявністю трьох місць та можливістю приземлення на воду.",
"quests.tfg_tips.firmaciv.title": "Firma: Civilization",
@@ -2620,7 +2951,7 @@
"quests.tfg_tips.create_kayak.title": "Заверши створення каяка",
"quests.tfg_tips.create_kayak.subtitle": "Щасливого каякінгу!",
"quests.tfg_tips.create_kayak.desc": "З &dКаяком&r у руках ти можеш насолоджуватися швидкими поодинокими подорожами по воді. Обов’язково створи &bВесло для каяка&r (каное-весло не підійде!), щоб рухатися ще швидше!",
- "quests.tfg_tips.beneathxfirmaciv.title": "Застереження щодо Безодні та Firma:Civ",
+ "quests.tfg_tips.beneathxfirmaciv.title": "Застереження щодо Підзем'я та Firma:Civ",
"quests.tfg_tips.beneathxfirmaciv.subtitle": "Прочитай це, інакше можеш пошкодувати",
"quests.tfg_tips.beneathxfirmaciv.desc": "Хоча ти можеш створювати &dКаноє, Веслові човни&r та &dШлюпки&r з &dБагряних&r та &3Спотворених стовбурів&r, човни, зроблені з цих вогнестійких колод, &4НЕ&r стійкі до лави! \n\nЯкщо спробуєш перетнути лавове озеро на них, ти &lпотонеш&r і загинеш жахливою смертю!",
"quests.tfg_tips.canoe_materials.title": "Каное",
@@ -2789,7 +3120,7 @@
"quests.tfg_tips.cellar_blocks.desc": "&bПолички для їжі&r можна використовувати для зберігання практично будь-якої їжі. &aВішалки&r підходять для зберігання &aМ'яса&r та &aЧаснику.&r Їжа, збережена таким чином, отримує потужну властивість консервації, яка перевершує &Корчагу.&r",
"quests.tfg_tips.beneath.title": "Безодня",
"quests.tfg_tips.beneath.subtitle": "Подорож до центру землі",
- "quests.tfg_tips.beneath.desc": "Глибоко, ГЛИБОКО під землею, за &dБедроком&r, ти знайдеш &4Безодню&r — складну мережу величезних печер, наповнених небезпеками та дивною флорою і фауною. Хоча &4Безодня&r є повністю необов’язковим, воно містить багато ресурсів, а також деякі покращення для комфорту.",
+ "quests.tfg_tips.beneath.desc": "Глибоко, ГЛИБОКО під землею, за &dКорінної породою&r, ти знайдеш &4Безодню&r — складну мережу величезних печер, наповнених небезпеками та дивною флорою і фауною. Хоча &4Безодня&r є повністю необов’язковим, воно містить багато ресурсів, а також деякі покращення для комфорту.",
"quests.tfg_tips.beneath_prep.title": "Підготовка",
"quests.tfg_tips.beneath_prep.subtitle": "Безодня ворожа, будь готовий",
"quests.tfg_tips.beneath_prep.desc": "&4Безодня&r — це дуже ворожий простір. Через її значну глибину середня температура завжди &cперевищує 15°C&r і підвищується, чим глибше ти спускаєшся. Не кажучи вже про кількість ворожих істот, що заповнюють ці печери. \nПов’язані з цим завдання допоможуть тобі підготуватися до пригоди.",
@@ -2807,16 +3138,16 @@
"quests.tfg_tips.juicer.desc": "&3Соковижималка&r — це спеціальний предмет, який може витягати приховану вологу з &aФруктів&r та &aГрибів&r, перетворюючи її на питну &dВоду.&r \n\nВода зустрічається лише у верхніх шарах &4Безодні&r. Чим глибше ти спускаєшся, тим вона стає більш рідкісною. Однак &aГриби&r дуже поширені в &4Безодні&r, тож від спраги ти, сподіваюся, не загинеш!",
"quests.tfg_tips.how_to_go_beneath.title": "Як піти у Безодню",
"quests.tfg_tips.how_to_go_beneath.subtitle": "Обсидіан не потрібен",
- "quests.tfg_tips.how_to_go_beneath.desc": "Щоб потрапити в &4Безодню&r, тобі потрібно постояти на &bБедроку&r кілька секунд, після чого ти будеш &oтелепортаований&r вниз. \n\n&3&lПорада:&r&o Обов’язково викопай достатньо простору над бедроком, де ти стоятимеш, щоб при поверненні в Верхній світ гра не відправила тебе в випадкову печеру, поки вона шукає достатньо повітряних блоків.",
- "quests.tfg_tips.how_to_go_beneath.task.1": "Досягни та стань на вершину Бедроку",
+ "quests.tfg_tips.how_to_go_beneath.desc": "Щоб потрапити до &4Безодні&r, потрібно постояти кілька секунд на &bКорінній породі&r в Поверхні — після цього тебе &oтелепортує&r вниз.\n\n&3&lПорада:&r&o Твої координати X і Z залишаться незмінними, тож можеш опинитися всередині каменю. Але тобі дадуть простір 3x3x3, тож не забудь взяти опори для прокладання тунелю!",
+ "quests.tfg_tips.how_to_go_beneath.task.1": "Досягни та стань на вершину Корінної породи",
"quests.tfg_tips.how_to_go_beneath.task.2": "Відвідай Безодню",
"quests.tfg_tips.reach_the_beneath.title": "Ласкаво просимо в Глибини",
"quests.tfg_tips.reach_the_beneath.subtitle": "Також відома як Безодня",
- "quests.tfg_tips.reach_the_beneath.desc": "Як тільки ти потрапиш у &4Безодню&r, тобі варто створити &cпутову точку&r на карті, щоб не загубити шлях назад. \n\nНа відміну від стандартного Нижнього світу, тут немає множника відстані 8x, тож не використовуй його для швидких подорожей у Верхньому світі!",
+ "quests.tfg_tips.reach_the_beneath.desc": "Як тільки ти потрапиш у &4Безодню&r, тобі варто створити &cпутову точку&r на карті, щоб не загубити шлях назад. \n\nНа відміну від стандартного Незеру, тут немає множника відстані 8x, тож не використовуй його для швидких подорожей у Верхньому світі!",
"quests.tfg_tips.reach_the_beneath.task": "Будь у Безодні",
"quests.tfg_tips.fuck_go_back.title": "Як втекти з Безодні",
"quests.tfg_tips.fuck_go_back.subtitle": "Мамо, прийди, забери мене, мені страшно.",
- "quests.tfg_tips.fuck_go_back.desc": "Щоб втекти з &4Безодні&r, тобі потрібно досягти верхніх рівнів печерної системи, поблизу &dСтелі з бедроку.&r Якщо залишитися нерухомим на кілька секунд біля даху, ти будеш перенесений назад у &bВерхній світ&r, саме на те місце, звідки ти потрапив у Безодню.",
+ "quests.tfg_tips.fuck_go_back.desc": "Щоб втекти з &4Безодні&r, тобі потрібно досягти верхніх рівнів печерної системи, поблизу &dСтелі з Корінної породи.&r Якщо залишитися нерухомим на кілька секунд біля даху, ти будеш перенесений назад у &bВерхній світ&r, саме на те місце, звідки ти потрапив у Безодню.",
"quests.tfg_tips.piglin_bartering.title": "Торгівля з Піґлінами",
"quests.tfg_tips.piglin_bartering.subtitle": "Мабуть, ми не одні",
"quests.tfg_tips.piglin_bartering.desc": "Допитливі мешканці &4Безодні&r мають предмети для обміну... Торгуй золотом з ними, щоб отримати корисні ресурси, такі як невеликі кількості &aМеталів&r або &aШкіри.&r \nПереглянь &2Польовий путівник&r, щоб дізнатися більше про бартерні угоди.",
@@ -2850,5 +3181,9 @@
"quests.tfg_tips.tools_tips.markings.task": "Будь-які #ags_modernmarkings:markings",
"quests.tfg_tips.tools_tips.cryodesiccation.title": "Кріодесикація",
"quests.tfg_tips.tools_tips.cryodesiccation.subtitle": "Фабрика не має часу на “смак”.",
- "quests.tfg_tips.tools_tips.cryodesiccation.desc": "&l&bКріодесикація&r&r — це процес зневоднення їжі за дуже низьких температур. Їжа з ознакою \"Кріодесикована\" зберігається значно довше, ніж при інших методах консервації."
+ "quests.tfg_tips.tools_tips.cryodesiccation.desc": "&l&bКріодесикація&r&r — це процес зневоднення їжі за дуже низьких температур. Їжа з ознакою \"Кріодесикована\" зберігається значно довше, ніж при інших методах консервації.",
+ "quests.tfg_tips.tools_tips.harvest_basket.title": "Кошики для врожаю",
+ "quests.tfg_tips.tools_tips.harvest_basket.subtitle": "Для змагальних пирогів пекарів.",
+ "quests.tfg_tips.tools_tips.harvest_basket.task": "Будь-який #tfg:harvester",
+ "quests.tfg_tips.tools_tips.harvest_basket.desc": "&l&2Кошики для врожаю&r&r — новий інструмент, створений спеціально для &5TFG&r! Ці кошики дозволяють збирати цілі дерева та кущі з фруктами одним клацанням ПКМ! Звичайний &6Кошик для врожаю&r має базову міцність &n128&r. А от &3Алюмінієвий кошик&r не отримує жодних пошкоджень при використанні."
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_aluminium_plated_steel.json b/kubejs/assets/tfg/models/block/casings/machine_casing_aluminium_plated_steel.json
new file mode 100644
index 000000000..c33df66f4
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/casings/machine_casing_aluminium_plated_steel.json
@@ -0,0 +1 @@
+{"parent":"minecraft:block/cube_all","textures":{"all":"tfg:block/casings/machine_casing_aluminium_plated_steel"}}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json
new file mode 100644
index 000000000..9aec638bb
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json
@@ -0,0 +1,90 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:electric_greenhouse",
+ "texture_overrides": {
+ "all": "gtceu:block/casings/steam/steel/side"
+ },
+ "variants": {
+ "is_formed=false,recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive"
+ }
+ }
+ },
+ "is_formed=false,recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive"
+ }
+ }
+ },
+ "is_formed=false,recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive"
+ }
+ }
+ },
+ "is_formed=false,recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive"
+ }
+ }
+ },
+ "is_formed=true,recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_emissive"
+ }
+ }
+ },
+ "is_formed=true,recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_paused_emissive"
+ }
+ }
+ },
+ "is_formed=true,recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive"
+ }
+ }
+ },
+ "is_formed=true,recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/steam/steel/side",
+ "overlay_front": "gtceu:block/multiblock/implosion_compressor/overlay_front_active",
+ "overlay_front_emissive": "gtceu:block/multiblock/implosion_compressor/overlay_front_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ev_aqueous_accumulator.json b/kubejs/assets/tfg/models/block/machines/ev_aqueous_accumulator.json
new file mode 100644
index 000000000..3a213a8f4
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ev_aqueous_accumulator.json
@@ -0,0 +1,51 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_aqueous_accumulator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ev_food_oven.json b/kubejs/assets/tfg/models/block/machines/ev_food_oven.json
new file mode 100644
index 000000000..46b38f201
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ev_food_oven.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_food_oven",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ev_food_processor.json b/kubejs/assets/tfg/models/block/machines/ev_food_processor.json
new file mode 100644
index 000000000..dc802782a
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ev_food_processor.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_food_processor",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ev_food_refrigerator.json b/kubejs/assets/tfg/models/block/machines/ev_food_refrigerator.json
new file mode 100644
index 000000000..f3c3970f4
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ev_food_refrigerator.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_food_refrigerator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ev_gas_pressurizer.json b/kubejs/assets/tfg/models/block/machines/ev_gas_pressurizer.json
new file mode 100644
index 000000000..7bee75f92
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ev_gas_pressurizer.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_gas_pressurizer",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/ev",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/hv_aqueous_accumulator.json b/kubejs/assets/tfg/models/block/machines/hv_aqueous_accumulator.json
new file mode 100644
index 000000000..dcdbcf5e5
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/hv_aqueous_accumulator.json
@@ -0,0 +1,51 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_aqueous_accumulator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "tfg:block/casings/voltage/hv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/hv_food_oven.json b/kubejs/assets/tfg/models/block/machines/hv_food_oven.json
new file mode 100644
index 000000000..24b8a36a9
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/hv_food_oven.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_food_oven",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/hv_food_processor.json b/kubejs/assets/tfg/models/block/machines/hv_food_processor.json
new file mode 100644
index 000000000..a51bb3e34
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/hv_food_processor.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_food_processor",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/hv_food_refrigerator.json b/kubejs/assets/tfg/models/block/machines/hv_food_refrigerator.json
new file mode 100644
index 000000000..2e39e892b
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/hv_food_refrigerator.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_food_refrigerator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/hv_gas_pressurizer.json b/kubejs/assets/tfg/models/block/machines/hv_gas_pressurizer.json
new file mode 100644
index 000000000..560b933fe
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/hv_gas_pressurizer.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_gas_pressurizer",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/hv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/interplanetary_item_launcher.json b/kubejs/assets/tfg/models/block/machines/interplanetary_item_launcher.json
new file mode 100644
index 000000000..8acad0be1
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/interplanetary_item_launcher.json
@@ -0,0 +1,30 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:interplanetary_item_launcher",
+ "texture_overrides": {
+ "all": "gtceu:block/casings/solid/machine_casing_clean_stainless_steel"
+ },
+ "variants": {
+ "is_formed=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/solid/machine_casing_clean_stainless_steel",
+ "overlay_front": "tfg:block/machines/interplanetary_item_launcher/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/interplanetary_item_launcher/overlay_front_emissive"
+ }
+ }
+ },
+ "is_formed=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/solid/machine_casing_clean_stainless_steel",
+ "overlay_front": "tfg:block/machines/interplanetary_item_launcher/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/interplanetary_item_launcher/overlay_front_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/interplanetary_item_receiver.json b/kubejs/assets/tfg/models/block/machines/interplanetary_item_receiver.json
new file mode 100644
index 000000000..5b0368022
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/interplanetary_item_receiver.json
@@ -0,0 +1,30 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:interplanetary_item_receiver",
+ "texture_overrides": {
+ "all": "tfg:block/casings/machine_casing_aluminium_plated_steel"
+ },
+ "variants": {
+ "is_formed=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "tfg:block/casings/machine_casing_aluminium_plated_steel",
+ "overlay_front": "tfg:block/machines/interplanetary_item_receiver/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/interplanetary_item_receiver/overlay_front_emissive"
+ }
+ }
+ },
+ "is_formed=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "tfg:block/casings/machine_casing_aluminium_plated_steel",
+ "overlay_front": "tfg:block/machines/interplanetary_item_receiver/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/interplanetary_item_receiver/overlay_front_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/interplanetary_logistics_monitor.json b/kubejs/assets/tfg/models/block/machines/interplanetary_logistics_monitor.json
new file mode 100644
index 000000000..00a6e0aa1
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/interplanetary_logistics_monitor.json
@@ -0,0 +1,22 @@
+{
+ "parent": "minecraft:block/block",
+ "dynamic_renders": [
+ {
+ "type": "gtceu:quantum_chest_item"
+ }
+ ],
+ "loader": "gtceu:machine",
+ "machine": "tfg:interplanetary_logistics_monitor",
+ "variants": {
+ "": {
+ "model": {
+ "parent": "tfg:block/machines/monitor",
+ "textures": {
+ "all": "tfg:block/casings/machine_casing_inert_ptfe",
+ "overlay_front": "tfg:block/machines/interplanetary_logistics_monitor/overlay_front",
+ "overlay_front_active_emissive": "tfg:block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/lv_aqueous_accumulator.json b/kubejs/assets/tfg/models/block/machines/lv_aqueous_accumulator.json
new file mode 100644
index 000000000..a67a421af
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/lv_aqueous_accumulator.json
@@ -0,0 +1,51 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:lv_aqueous_accumulator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "tfg:block/casings/voltage/lv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/lv_food_oven.json b/kubejs/assets/tfg/models/block/machines/lv_food_oven.json
new file mode 100644
index 000000000..24ac7eb72
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/lv_food_oven.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:lv_food_oven",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/lv_food_processor.json b/kubejs/assets/tfg/models/block/machines/lv_food_processor.json
new file mode 100644
index 000000000..71d2f4e89
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/lv_food_processor.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:lv_food_processor",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/lv_gas_pressurizer.json b/kubejs/assets/tfg/models/block/machines/lv_gas_pressurizer.json
new file mode 100644
index 000000000..04de2d89a
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/lv_gas_pressurizer.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:lv_gas_pressurizer",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/lv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/monitor.json b/kubejs/assets/tfg/models/block/machines/monitor.json
new file mode 100644
index 000000000..255db787e
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/monitor.json
@@ -0,0 +1,233 @@
+{
+ "parent": "gtceu:block/cube/tinted/bottom_top",
+ "textures": {
+ "overlay_front": "#overlay_front",
+ "overlay_front_active_emissive": "#overlay_front_active_emissive",
+ "particle": "#all"
+ },
+ "elements": [
+ {
+ "name": "body",
+ "from": [0, 0, 3],
+ "to": [16, 16, 16],
+ "faces": {
+ "north": {"uv": [0, 0, 16, 16], "texture": "#all"},
+ "east": {"uv": [0, 0, 13, 16], "texture": "#all"},
+ "south": {"uv": [0, 0, 16, 16], "texture": "#all"},
+ "west": {"uv": [3, 0, 16, 16], "texture": "#all"},
+ "up": {"uv": [13, 16, 0, 0], "rotation": 90, "texture": "#all"},
+ "down": {"uv": [0, 0, 16, 13], "texture": "#all"}
+ }
+ },
+ {
+ "name": "handle1",
+ "from": [0, 0, 0],
+ "to": [2, 16, 3],
+ "faces": {
+ "north": {"uv": [14, 0, 16, 16], "texture": "#all"},
+ "east": {"uv": [13, 1, 16, 15], "texture": "#all"},
+ "south": {"uv": [2.5, 8, 3, 12], "texture": "#all"},
+ "west": {"uv": [0, 0, 3, 16], "texture": "#all"},
+ "up": {"uv": [16, 2, 13, 0], "rotation": 90, "texture": "#all"},
+ "down": {"uv": [0, 13, 2, 16], "texture": "#all"}
+ }
+ },
+ {
+ "name": "handle2",
+ "from": [2, 0, 0],
+ "to": [14, 1, 3],
+ "faces": {
+ "north": {"uv": [2, 15, 14, 16], "texture": "#all"},
+ "east": {"uv": [2.5, 8, 2.75, 12], "texture": "#all"},
+ "south": {"uv": [2.5, 8, 3, 12], "texture": "#all"},
+ "west": {"uv": [2.5, 8, 2.75, 12], "texture": "#all"},
+ "up": {"uv": [2, 16, 14, 13], "texture": "#all"},
+ "down": {"uv": [14, 13, 2, 16], "texture": "#all"}
+ }
+ },
+ {
+ "name": "handle3",
+ "from": [2, 15, 0],
+ "to": [14, 16, 3],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, 15, 0]},
+ "faces": {
+ "north": {"uv": [2, 0, 14, 1], "texture": "#all"},
+ "east": {"uv": [2.5, 8, 2.75, 12], "texture": "#all"},
+ "south": {"uv": [2.5, 8, 3, 12], "texture": "#all"},
+ "west": {"uv": [2.5, 8, 2.75, 12], "texture": "#all"},
+ "up": {"uv": [16, 14, 13, 2], "rotation": 90, "texture": "#all"},
+ "down": {"uv": [2, 3, 14, 0], "texture": "#all"}
+ }
+ },
+ {
+ "name": "handle4",
+ "from": [14, 0, 0],
+ "to": [16, 16, 3],
+ "faces": {
+ "north": {"uv": [0, 0, 2, 16], "texture": "#all"},
+ "east": {"uv": [13, 0, 16, 16], "texture": "#all"},
+ "south": {"uv": [2.5, 8, 3, 12], "texture": "#all"},
+ "west": {"uv": [0, 1, 3, 15], "texture": "#all"},
+ "up": {"uv": [13, 14, 16, 16], "rotation": 270, "texture": "#all"},
+ "down": {"uv": [14, 13, 16, 16], "texture": "#all"}
+ }
+ },
+ {
+ "name": "screen",
+ "from": [2.5, 6.7, 1.5],
+ "to": [13.5, 14.7, 2.5],
+ "rotation": {"angle": 0, "axis": "x", "origin": [-0.5, -0.3, -0.5]},
+ "faces": {
+ "north": {"uv": [0, 0, 11, 8], "texture": "#overlay_front"},
+ "east": {"uv": [0, 0, 1, 8], "texture": "#overlay_front"},
+ "south": {"uv": [11, 0, 0, 8], "texture": "#overlay_front"},
+ "west": {"uv": [10, 0, 11, 8], "texture": "#overlay_front"},
+ "up": {"uv": [0, 0, 11, 1], "texture": "#overlay_front"},
+ "down": {"uv": [11, 7, 0, 8], "texture": "#overlay_front"}
+ }
+ },
+ {
+ "name": "screen_active",
+ "from": [2.5, 6.702, 1.498],
+ "to": [13.5, 14.702, 1.498],
+ "rotation": {"angle": 0, "axis": "x", "origin": [-0.5, -0.298, -0.502]},
+ "faces": {
+ "north": {"uv": [0, 0, 11, 8], "texture": "#overlay_front_active_emissive"},
+ "east": {"uv": [0, 0, 1, 8], "texture": "#overlay_front_active_emissive"},
+ "south": {"uv": [11, 0, 0, 8], "texture": "#overlay_front_active_emissive"},
+ "west": {"uv": [10, 0, 11, 8], "texture": "#overlay_front_active_emissive"},
+ "up": {"uv": [0, 0, 11, 1], "texture": "#overlay_front_active_emissive"},
+ "down": {"uv": [11, 7, 0, 8], "texture": "#overlay_front_active_emissive"}
+ }
+ },
+ {
+ "name": "keyboard",
+ "from": [2.5, -1.9, -1.1],
+ "to": [13.5, 0.1, 2.9],
+ "rotation": {"angle": -22.5, "axis": "x", "origin": [-0.5, 2.1, -8.1]},
+ "faces": {
+ "north": {"uv": [11, 14, 0, 12], "rotation": 180, "texture": "#overlay_front"},
+ "east": {"uv": [13, 8, 11, 12], "rotation": 270, "texture": "#overlay_front"},
+ "south": {"uv": [11, 12, 0, 14], "texture": "#overlay_front"},
+ "west": {"uv": [11, 8, 13, 12], "rotation": 90, "texture": "#overlay_front"},
+ "up": {"uv": [0, 8, 11, 12], "rotation": 180, "texture": "#overlay_front"},
+ "down": {"uv": [0, 8, 11, 12], "texture": "#overlay_front"}
+ }
+ },
+ {
+ "name": "button1",
+ "from": [2.3, 4.3, 2.5],
+ "to": [4.7, 6.7, 2.5],
+ "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 6.5, 0]},
+ "faces": {
+ "north": {"uv": [11, 3, 14, 6], "texture": "#overlay_front"},
+ "east": {"uv": [0, 0, 0, 1.5], "texture": "#overlay_front"},
+ "south": {"uv": [0, 30.5, 1.5, 32], "texture": "#overlay_front"},
+ "west": {"uv": [0, 0, 0, 1.5], "texture": "#overlay_front"},
+ "up": {"uv": [1.5, 0, 0, 0], "texture": "#overlay_front"},
+ "down": {"uv": [1.5, 0, 0, 0], "texture": "#overlay_front"}
+ }
+ },
+ {
+ "name": "button2",
+ "from": [2.3, 4.3, 2.9],
+ "to": [4.7, 6.7, 2.9],
+ "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 6.5, 0.4]},
+ "faces": {
+ "north": {"uv": [11, 0, 14, 3], "texture": "#overlay_front"},
+ "east": {"uv": [0, 0, 0, 1.5], "texture": "#overlay_front"},
+ "south": {"uv": [0, 30.5, 1.5, 32], "texture": "#overlay_front"},
+ "west": {"uv": [0, 0, 0, 1.5], "texture": "#overlay_front"},
+ "up": {"uv": [1.5, 0, 0, 0], "texture": "#overlay_front"},
+ "down": {"uv": [1.5, 0, 0, 0], "texture": "#overlay_front"}
+ }
+ },
+ {
+ "name": "button3",
+ "from": [2.5, 4.5, 2.4],
+ "to": [4.5, 6.5, 2.4],
+ "rotation": {"angle": 0, "axis": "y", "origin": [2.5, 6.5, 0]},
+ "faces": {
+ "north": {"uv": [11, 6, 13, 8], "texture": "#overlay_front"},
+ "east": {"uv": [0, 0, 0, 1], "texture": "#overlay_front"},
+ "south": {"uv": [0, 31, 1, 32], "texture": "#overlay_front"},
+ "west": {"uv": [0, 0, 0, 1], "texture": "#overlay_front"},
+ "up": {"uv": [1, 0, 0, 0], "texture": "#overlay_front"},
+ "down": {"uv": [1, 0, 0, 0], "texture": "#overlay_front"}
+ }
+ },
+ {
+ "name": "wire1",
+ "from": [6.5, 4.2, 3],
+ "to": [9.5, 5.2, 3],
+ "rotation": {"angle": -45, "axis": "x", "origin": [7.5, 4.2, 3]},
+ "faces": {
+ "north": {"uv": [13, 6, 16, 7], "texture": "#overlay_front"},
+ "east": {"uv": [0, 0, 0, 1], "texture": "#overlay_front"},
+ "south": {"uv": [0, 0, 3, 1], "texture": "#overlay_front"},
+ "west": {"uv": [0, 0, 0, 1], "texture": "#overlay_front"},
+ "up": {"uv": [0, 0, 3, 0], "texture": "#overlay_front"},
+ "down": {"uv": [0, 0, 3, 0], "texture": "#overlay_front"}
+ }
+ },
+ {
+ "name": "wire2",
+ "from": [6.5, 4.90711, 2.29289],
+ "to": [9.5, 6.90711, 2.29289],
+ "rotation": {"angle": 0, "axis": "x", "origin": [7.5, 4.90711, 2.29289]},
+ "faces": {
+ "north": {"uv": [13, 6, 16, 8], "texture": "#overlay_front"},
+ "east": {"uv": [0, 0, 0, 2], "texture": "#overlay_front"},
+ "south": {"uv": [0, 0, 3, 2], "texture": "#overlay_front"},
+ "west": {"uv": [0, 0, 0, 2], "texture": "#overlay_front"},
+ "up": {"uv": [0, 0, 3, 0], "texture": "#overlay_front"},
+ "down": {"uv": [0, 0, 3, 0], "texture": "#overlay_front"}
+ }
+ }
+ ],
+ "display": {
+ "thirdperson_righthand": {
+ "rotation": [75, 45, 0],
+ "translation": [0, 2.5, 0],
+ "scale": [0.375, 0.375, 0.375]
+ },
+ "thirdperson_lefthand": {
+ "rotation": [75, 45, 0],
+ "translation": [0, 2.5, 0],
+ "scale": [0.375, 0.375, 0.375]
+ },
+ "firstperson_righthand": {
+ "rotation": [0, -180, 0],
+ "scale": [0.4, 0.4, 0.4]
+ },
+ "firstperson_lefthand": {
+ "rotation": [0, -180, 0],
+ "scale": [0.4, 0.4, 0.4]
+ },
+ "ground": {
+ "translation": [0, 3, 0],
+ "scale": [0.25, 0.25, 0.25]
+ },
+ "gui": {
+ "rotation": [30, -135, 0],
+ "scale": [0.625, 0.625, 0.625]
+ },
+ "fixed": {
+ "scale": [0.5, 0.5, 0.5]
+ }
+ },
+ "groups": [
+ {
+ "name": "frame",
+ "origin": [8, 8, 8],
+ "color": 0,
+ "children": [0, 1, 2, 3, 4]
+ },
+ {
+ "name": "displays",
+ "origin": [-0.5, 1, -3],
+ "color": 0,
+ "children": [5, 6, 7, 8, 9, 10, 11, 12]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/mv_aqueous_accumulator.json b/kubejs/assets/tfg/models/block/machines/mv_aqueous_accumulator.json
new file mode 100644
index 000000000..4952580d1
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/mv_aqueous_accumulator.json
@@ -0,0 +1,51 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_aqueous_accumulator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "tfg:block/casings/voltage/mv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_front": "tfg:block/machines/aqueous_accumulator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/aqueous_accumulator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/aqueous_accumulator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/aqueous_accumulator/overlay_side_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/mv_food_oven.json b/kubejs/assets/tfg/models/block/machines/mv_food_oven.json
new file mode 100644
index 000000000..02e8fae7d
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/mv_food_oven.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_food_oven",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_oven/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_oven/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_oven/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_oven/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_oven/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_oven/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_oven/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_oven/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/mv_food_processor.json b/kubejs/assets/tfg/models/block/machines/mv_food_processor.json
new file mode 100644
index 000000000..46b2f6628
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/mv_food_processor.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_food_processor",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_processor/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_processor/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_processor/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_processor/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_processor/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_processor/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_processor/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_processor/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/mv_food_refrigerator.json b/kubejs/assets/tfg/models/block/machines/mv_food_refrigerator.json
new file mode 100644
index 000000000..f612ca9a4
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/mv_food_refrigerator.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_food_refrigerator",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/food_refrigerator/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/food_refrigerator/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/food_refrigerator/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/food_refrigerator/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/food_refrigerator/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/food_refrigerator/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/food_refrigerator/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/food_refrigerator/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/mv_gas_pressurizer.json b/kubejs/assets/tfg/models/block/machines/mv_gas_pressurizer.json
new file mode 100644
index 000000000..a2e9e3370
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/mv_gas_pressurizer.json
@@ -0,0 +1,67 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_gas_pressurizer",
+ "variants": {
+ "recipe_logic_status=idle": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=suspend": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=waiting": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ },
+ "recipe_logic_status=working": {
+ "model": {
+ "parent": "gtceu:block/casings/voltage/mv",
+ "textures": {
+ "overlay_back": "tfg:block/machines/gas_pressurizer/overlay_back_active",
+ "overlay_back_emissive": "tfg:block/machines/gas_pressurizer/overlay_back_active_emissive",
+ "overlay_front": "tfg:block/machines/gas_pressurizer/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/gas_pressurizer/overlay_front_active_emissive",
+ "overlay_side": "tfg:block/machines/gas_pressurizer/overlay_side_active",
+ "overlay_side_emissive": "tfg:block/machines/gas_pressurizer/overlay_side_active_emissive",
+ "overlay_top": "tfg:block/machines/gas_pressurizer/overlay_top_active",
+ "overlay_top_emissive": "tfg:block/machines/gas_pressurizer/overlay_top_active_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/ev_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/ev_railgun_item_loader_in.json
new file mode 100644
index 000000000..2f611d5f9
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/ev_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ev/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ev/side",
+ "top": "gtceu:block/casings/voltage/ev/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ev/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ev/side",
+ "top": "gtceu:block/casings/voltage/ev/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/ev_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/ev_railgun_item_loader_out.json
new file mode 100644
index 000000000..e546d6788
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/ev_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ev_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ev/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ev/side",
+ "top": "gtceu:block/casings/voltage/ev/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ev/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ev/side",
+ "top": "gtceu:block/casings/voltage/ev/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/hv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/hv_railgun_item_loader_in.json
new file mode 100644
index 000000000..92ba32b39
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/hv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/hv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/hv/side",
+ "top": "gtceu:block/casings/voltage/hv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/hv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/hv/side",
+ "top": "gtceu:block/casings/voltage/hv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/hv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/hv_railgun_item_loader_out.json
new file mode 100644
index 000000000..7eba644b4
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/hv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:hv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/hv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/hv/side",
+ "top": "gtceu:block/casings/voltage/hv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/hv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/hv/side",
+ "top": "gtceu:block/casings/voltage/hv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/iv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/iv_railgun_item_loader_in.json
new file mode 100644
index 000000000..8d30fba8d
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/iv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:iv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/iv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/iv/side",
+ "top": "gtceu:block/casings/voltage/iv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/iv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/iv/side",
+ "top": "gtceu:block/casings/voltage/iv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/iv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/iv_railgun_item_loader_out.json
new file mode 100644
index 000000000..d99b9827d
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/iv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:iv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/iv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/iv/side",
+ "top": "gtceu:block/casings/voltage/iv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/iv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/iv/side",
+ "top": "gtceu:block/casings/voltage/iv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/luv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/luv_railgun_item_loader_in.json
new file mode 100644
index 000000000..945a409d1
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/luv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:luv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/luv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/luv/side",
+ "top": "gtceu:block/casings/voltage/luv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/luv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/luv/side",
+ "top": "gtceu:block/casings/voltage/luv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/luv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/luv_railgun_item_loader_out.json
new file mode 100644
index 000000000..1efb8a06d
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/luv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:luv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/luv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/luv/side",
+ "top": "gtceu:block/casings/voltage/luv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/luv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/luv/side",
+ "top": "gtceu:block/casings/voltage/luv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/lv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/lv_railgun_item_loader_in.json
new file mode 100644
index 000000000..8dfa0ca8b
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/lv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:lv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/lv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/lv/side",
+ "top": "gtceu:block/casings/voltage/lv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/lv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/lv/side",
+ "top": "gtceu:block/casings/voltage/lv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/lv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/lv_railgun_item_loader_out.json
new file mode 100644
index 000000000..449bed9c9
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/lv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:lv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/lv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/lv/side",
+ "top": "gtceu:block/casings/voltage/lv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/lv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/lv/side",
+ "top": "gtceu:block/casings/voltage/lv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/mv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/mv_railgun_item_loader_in.json
new file mode 100644
index 000000000..50b52dd78
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/mv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/mv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/mv/side",
+ "top": "gtceu:block/casings/voltage/mv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/mv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/mv/side",
+ "top": "gtceu:block/casings/voltage/mv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/mv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/mv_railgun_item_loader_out.json
new file mode 100644
index 000000000..aa0e43a42
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/mv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:mv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/mv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/mv/side",
+ "top": "gtceu:block/casings/voltage/mv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/mv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/mv/side",
+ "top": "gtceu:block/casings/voltage/mv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/uhv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/uhv_railgun_item_loader_in.json
new file mode 100644
index 000000000..b275ee7a4
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/uhv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:uhv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uhv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uhv/side",
+ "top": "gtceu:block/casings/voltage/uhv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uhv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uhv/side",
+ "top": "gtceu:block/casings/voltage/uhv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/uhv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/uhv_railgun_item_loader_out.json
new file mode 100644
index 000000000..f2a5d57e9
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/uhv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:uhv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uhv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uhv/side",
+ "top": "gtceu:block/casings/voltage/uhv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uhv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uhv/side",
+ "top": "gtceu:block/casings/voltage/uhv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/ulv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/ulv_railgun_item_loader_in.json
new file mode 100644
index 000000000..7f00f2a11
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/ulv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ulv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ulv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ulv/side",
+ "top": "gtceu:block/casings/voltage/ulv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ulv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ulv/side",
+ "top": "gtceu:block/casings/voltage/ulv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/ulv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/ulv_railgun_item_loader_out.json
new file mode 100644
index 000000000..f5b0e836f
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/ulv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:ulv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ulv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ulv/side",
+ "top": "gtceu:block/casings/voltage/ulv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/ulv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/ulv/side",
+ "top": "gtceu:block/casings/voltage/ulv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/uv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/uv_railgun_item_loader_in.json
new file mode 100644
index 000000000..f60532f00
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/uv_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:uv_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uv/side",
+ "top": "gtceu:block/casings/voltage/uv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uv/side",
+ "top": "gtceu:block/casings/voltage/uv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/uv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/uv_railgun_item_loader_out.json
new file mode 100644
index 000000000..903464aff
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/uv_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:uv_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uv/side",
+ "top": "gtceu:block/casings/voltage/uv/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/uv/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/uv/side",
+ "top": "gtceu:block/casings/voltage/uv/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/zpm_railgun_item_loader_in.json b/kubejs/assets/tfg/models/block/machines/ports/zpm_railgun_item_loader_in.json
new file mode 100644
index 000000000..c5b4011d7
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/zpm_railgun_item_loader_in.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:zpm_railgun_item_loader_in",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/zpm/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/zpm/side",
+ "top": "gtceu:block/casings/voltage/zpm/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/zpm/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_in_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/zpm/side",
+ "top": "gtceu:block/casings/voltage/zpm/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/ports/zpm_railgun_item_loader_out.json b/kubejs/assets/tfg/models/block/machines/ports/zpm_railgun_item_loader_out.json
new file mode 100644
index 000000000..3b7ccc5a0
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/ports/zpm_railgun_item_loader_out.json
@@ -0,0 +1,36 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:zpm_railgun_item_loader_out",
+ "replaceable_textures": [
+ "bottom",
+ "top",
+ "side"
+ ],
+ "variants": {
+ "is_painted=false": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/zpm/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/zpm/side",
+ "top": "gtceu:block/casings/voltage/zpm/top"
+ }
+ }
+ },
+ "is_painted=true": {
+ "model": {
+ "parent": "gtceu:block/machine/template/part/hatch_machine_emissive_color_ring",
+ "textures": {
+ "bottom": "gtceu:block/casings/voltage/zpm/bottom",
+ "overlay": "gtceu:block/overlay/machine/overlay_pipe_out_emissive",
+ "overlay_emissive": "gtceu:block/overlay/machine/overlay_item_hatch",
+ "side": "gtceu:block/casings/voltage/zpm/side",
+ "top": "gtceu:block/casings/voltage/zpm/top"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/block/machines/railgun_ammo_loader.json b/kubejs/assets/tfg/models/block/machines/railgun_ammo_loader.json
new file mode 100644
index 000000000..36c9c3b2b
--- /dev/null
+++ b/kubejs/assets/tfg/models/block/machines/railgun_ammo_loader.json
@@ -0,0 +1,20 @@
+{
+ "parent": "minecraft:block/block",
+ "loader": "gtceu:machine",
+ "machine": "tfg:railgun_ammo_loader",
+ "replaceable_textures": [
+ "all"
+ ],
+ "variants": {
+ "": {
+ "model": {
+ "parent": "gtceu:block/machine/template/cube_all/sided",
+ "textures": {
+ "all": "gtceu:block/casings/voltage/mv/side",
+ "overlay_front": "tfg:block/machines/railgun_ammo_loader/overlay_front_active",
+ "overlay_front_emissive": "tfg:block/machines/railgun_ammo_loader/overlay_front_emissive"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/aes_compressed_wool.json b/kubejs/assets/tfg/models/item/aes_compressed_wool.json
index bc97a0aea..06e9c9dce 100644
--- a/kubejs/assets/tfg/models/item/aes_compressed_wool.json
+++ b/kubejs/assets/tfg/models/item/aes_compressed_wool.json
@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
- "layer0": "tfg:item/aes_compressed_wool"
+ "layer0": "tfg:item/t2_rocket/aes_compressed_wool"
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/aes_insulation_roll.json b/kubejs/assets/tfg/models/item/aes_insulation_roll.json
index 34631a112..be928b0b0 100644
--- a/kubejs/assets/tfg/models/item/aes_insulation_roll.json
+++ b/kubejs/assets/tfg/models/item/aes_insulation_roll.json
@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
- "layer0": "tfg:item/aes_insulation_roll"
+ "layer0": "tfg:item/t2_rocket/aes_insulation_roll"
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/aes_insulation_sheet.json b/kubejs/assets/tfg/models/item/aes_insulation_sheet.json
index c7c19c8db..a434dd5ec 100644
--- a/kubejs/assets/tfg/models/item/aes_insulation_sheet.json
+++ b/kubejs/assets/tfg/models/item/aes_insulation_sheet.json
@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
- "layer0": "tfg:item/aes_insulation_sheet"
+ "layer0": "tfg:item/t2_rocket/aes_insulation_sheet"
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/aes_polyurethane.json b/kubejs/assets/tfg/models/item/aes_polyurethane.json
new file mode 100644
index 000000000..092360dea
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/aes_polyurethane.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/aes_polyurethane"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/aes_wool.json b/kubejs/assets/tfg/models/item/aes_wool.json
index f37e1abed..51333ee88 100644
--- a/kubejs/assets/tfg/models/item/aes_wool.json
+++ b/kubejs/assets/tfg/models/item/aes_wool.json
@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
- "layer0": "tfg:item/aes_wool"
+ "layer0": "tfg:item/t2_rocket/aes_wool"
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/better_space_suit_fabric.json b/kubejs/assets/tfg/models/item/better_space_suit_fabric.json
new file mode 100644
index 000000000..cbffac1fb
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/better_space_suit_fabric.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/better_space_suit_fabric"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/electric_greenhouse.json b/kubejs/assets/tfg/models/item/electric_greenhouse.json
new file mode 100644
index 000000000..ac707342a
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/electric_greenhouse.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/electric_greenhouse"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/elite_power_thruster.json b/kubejs/assets/tfg/models/item/elite_power_thruster.json
new file mode 100644
index 000000000..7100cd2d8
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/elite_power_thruster.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/elite_power_thruster"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_aqueous_accumulator.json b/kubejs/assets/tfg/models/item/ev_aqueous_accumulator.json
new file mode 100644
index 000000000..5d6b40db8
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_aqueous_accumulator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ev_aqueous_accumulator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_food_oven.json b/kubejs/assets/tfg/models/item/ev_food_oven.json
new file mode 100644
index 000000000..ee84b41b6
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_food_oven.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ev_food_oven"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_food_processor.json b/kubejs/assets/tfg/models/item/ev_food_processor.json
new file mode 100644
index 000000000..264a0fd80
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_food_processor.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ev_food_processor"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_food_refrigerator.json b/kubejs/assets/tfg/models/item/ev_food_refrigerator.json
new file mode 100644
index 000000000..9565200e2
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_food_refrigerator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ev_food_refrigerator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_gas_pressurizer.json b/kubejs/assets/tfg/models/item/ev_gas_pressurizer.json
new file mode 100644
index 000000000..d11321cc6
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_gas_pressurizer.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ev_gas_pressurizer"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/ev_railgun_item_loader_in.json
new file mode 100644
index 000000000..c7e9ea5df
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/ev_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ev_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/ev_railgun_item_loader_out.json
new file mode 100644
index 000000000..9438691ad
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ev_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/ev_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_aqueous_accumulator.json b/kubejs/assets/tfg/models/item/hv_aqueous_accumulator.json
new file mode 100644
index 000000000..dddbd12e5
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_aqueous_accumulator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/hv_aqueous_accumulator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_food_oven.json b/kubejs/assets/tfg/models/item/hv_food_oven.json
new file mode 100644
index 000000000..77fc5f0b9
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_food_oven.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/hv_food_oven"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_food_processor.json b/kubejs/assets/tfg/models/item/hv_food_processor.json
new file mode 100644
index 000000000..d4f8b72de
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_food_processor.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/hv_food_processor"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_food_refrigerator.json b/kubejs/assets/tfg/models/item/hv_food_refrigerator.json
new file mode 100644
index 000000000..87c44e81d
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_food_refrigerator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/hv_food_refrigerator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_gas_pressurizer.json b/kubejs/assets/tfg/models/item/hv_gas_pressurizer.json
new file mode 100644
index 000000000..b60f4cb00
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_gas_pressurizer.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/hv_gas_pressurizer"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/hv_railgun_item_loader_in.json
new file mode 100644
index 000000000..ae16ea48c
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/hv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/hv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/hv_railgun_item_loader_out.json
new file mode 100644
index 000000000..5a0c627b7
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/hv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/hv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/interplanetary_item_launcher.json b/kubejs/assets/tfg/models/item/interplanetary_item_launcher.json
new file mode 100644
index 000000000..61b8bec3a
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/interplanetary_item_launcher.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/interplanetary_item_launcher"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/interplanetary_item_receiver.json b/kubejs/assets/tfg/models/item/interplanetary_item_receiver.json
new file mode 100644
index 000000000..742ff97a3
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/interplanetary_item_receiver.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/interplanetary_item_receiver"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/interplanetary_logistics_monitor.json b/kubejs/assets/tfg/models/item/interplanetary_logistics_monitor.json
new file mode 100644
index 000000000..125c7b2a4
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/interplanetary_logistics_monitor.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/interplanetary_logistics_monitor"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/iv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/iv_railgun_item_loader_in.json
new file mode 100644
index 000000000..3b6b19089
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/iv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/iv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/iv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/iv_railgun_item_loader_out.json
new file mode 100644
index 000000000..4c7648f37
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/iv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/iv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/luv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/luv_railgun_item_loader_in.json
new file mode 100644
index 000000000..df0f2bef2
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/luv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/luv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/luv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/luv_railgun_item_loader_out.json
new file mode 100644
index 000000000..f0139fdae
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/luv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/luv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/lv_aqueous_accumulator.json b/kubejs/assets/tfg/models/item/lv_aqueous_accumulator.json
new file mode 100644
index 000000000..c799a7611
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/lv_aqueous_accumulator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/lv_aqueous_accumulator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/lv_food_oven.json b/kubejs/assets/tfg/models/item/lv_food_oven.json
new file mode 100644
index 000000000..e892a6cda
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/lv_food_oven.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/lv_food_oven"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/lv_food_processor.json b/kubejs/assets/tfg/models/item/lv_food_processor.json
new file mode 100644
index 000000000..9bb0c1721
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/lv_food_processor.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/lv_food_processor"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/lv_gas_pressurizer.json b/kubejs/assets/tfg/models/item/lv_gas_pressurizer.json
new file mode 100644
index 000000000..ba74ba5ff
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/lv_gas_pressurizer.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/lv_gas_pressurizer"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/lv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/lv_railgun_item_loader_in.json
new file mode 100644
index 000000000..5dfe69ecd
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/lv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/lv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/lv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/lv_railgun_item_loader_out.json
new file mode 100644
index 000000000..59d789aa4
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/lv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/lv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/machine_casing_aluminium_plated_steel.json b/kubejs/assets/tfg/models/item/machine_casing_aluminium_plated_steel.json
new file mode 100644
index 000000000..34ca5c463
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/machine_casing_aluminium_plated_steel.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/casings/machine_casing_aluminium_plated_steel"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mli_shielding.json b/kubejs/assets/tfg/models/item/mli_shielding.json
new file mode 100644
index 000000000..03c363233
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mli_shielding.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/mli_shielding"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_aqueous_accumulator.json b/kubejs/assets/tfg/models/item/mv_aqueous_accumulator.json
new file mode 100644
index 000000000..79fe5ceb6
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_aqueous_accumulator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/mv_aqueous_accumulator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_food_oven.json b/kubejs/assets/tfg/models/item/mv_food_oven.json
new file mode 100644
index 000000000..2918a1988
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_food_oven.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/mv_food_oven"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_food_processor.json b/kubejs/assets/tfg/models/item/mv_food_processor.json
new file mode 100644
index 000000000..d5cf7ddf4
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_food_processor.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/mv_food_processor"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_food_refrigerator.json b/kubejs/assets/tfg/models/item/mv_food_refrigerator.json
new file mode 100644
index 000000000..102270351
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_food_refrigerator.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/mv_food_refrigerator"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_gas_pressurizer.json b/kubejs/assets/tfg/models/item/mv_gas_pressurizer.json
new file mode 100644
index 000000000..96749074d
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_gas_pressurizer.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/mv_gas_pressurizer"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/mv_railgun_item_loader_in.json
new file mode 100644
index 000000000..106a14bc3
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/mv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/mv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/mv_railgun_item_loader_out.json
new file mode 100644
index 000000000..d592c0dc0
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/mv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/mv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/railgun_ammo_loader.json b/kubejs/assets/tfg/models/item/railgun_ammo_loader.json
new file mode 100644
index 000000000..4449cc5d9
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/railgun_ammo_loader.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/railgun_ammo_loader"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/railgun_ammo_shell.json b/kubejs/assets/tfg/models/item/railgun_ammo_shell.json
new file mode 100644
index 000000000..6728715b8
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/railgun_ammo_shell.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/railgun_ammo_shell"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/rocket_cone_t2.json b/kubejs/assets/tfg/models/item/rocket_cone_t2.json
index ec0983ebc..80a1f998e 100644
--- a/kubejs/assets/tfg/models/item/rocket_cone_t2.json
+++ b/kubejs/assets/tfg/models/item/rocket_cone_t2.json
@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
- "layer0": "tfg:item/rocket_cone_t2"
+ "layer0": "tfg:item/t2_rocket/rocket_cone_t2"
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/rocket_cone_t3.json b/kubejs/assets/tfg/models/item/rocket_cone_t3.json
new file mode 100644
index 000000000..277d977ac
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/rocket_cone_t3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/rocket_cone_t3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/rocket_fin_t2.json b/kubejs/assets/tfg/models/item/rocket_fin_t2.json
index d8b03592e..8a0c8703a 100644
--- a/kubejs/assets/tfg/models/item/rocket_fin_t2.json
+++ b/kubejs/assets/tfg/models/item/rocket_fin_t2.json
@@ -1,6 +1,6 @@
{
"parent": "item/generated",
"textures": {
- "layer0": "tfg:item/rocket_fin_t2"
+ "layer0": "tfg:item/t2_rocket/rocket_fin_t2"
}
}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/rocket_fin_t3.json b/kubejs/assets/tfg/models/item/rocket_fin_t3.json
new file mode 100644
index 000000000..ffeacfe5b
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/rocket_fin_t3.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/rocket_fin_t3"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/semiheavy_ammoniacal_water_bucket.json b/kubejs/assets/tfg/models/item/semiheavy_ammoniacal_water_bucket.json
new file mode 100644
index 000000000..054214365
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/semiheavy_ammoniacal_water_bucket.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/semiheavy_ammoniacal_water_bucket"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/silica_aerogel.json b/kubejs/assets/tfg/models/item/silica_aerogel.json
new file mode 100644
index 000000000..27555ea07
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/silica_aerogel.json
@@ -0,0 +1,6 @@
+{
+ "parent": "item/generated",
+ "textures": {
+ "layer0": "tfg:item/t3_rocket/silica_aerogel"
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/uhv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/uhv_railgun_item_loader_in.json
new file mode 100644
index 000000000..4f36ea159
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/uhv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/uhv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/uhv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/uhv_railgun_item_loader_out.json
new file mode 100644
index 000000000..e1f86af7d
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/uhv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/uhv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ulv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/ulv_railgun_item_loader_in.json
new file mode 100644
index 000000000..f714bf6c6
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ulv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/ulv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/ulv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/ulv_railgun_item_loader_out.json
new file mode 100644
index 000000000..f282d1b18
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/ulv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/ulv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/uv_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/uv_railgun_item_loader_in.json
new file mode 100644
index 000000000..a8ccb9ce8
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/uv_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/uv_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/uv_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/uv_railgun_item_loader_out.json
new file mode 100644
index 000000000..4df8f87ef
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/uv_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/uv_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/zpm_railgun_item_loader_in.json b/kubejs/assets/tfg/models/item/zpm_railgun_item_loader_in.json
new file mode 100644
index 000000000..04912a934
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/zpm_railgun_item_loader_in.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/zpm_railgun_item_loader_in"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/models/item/zpm_railgun_item_loader_out.json b/kubejs/assets/tfg/models/item/zpm_railgun_item_loader_out.json
new file mode 100644
index 000000000..6cc40b5b6
--- /dev/null
+++ b/kubejs/assets/tfg/models/item/zpm_railgun_item_loader_out.json
@@ -0,0 +1,3 @@
+{
+ "parent": "tfg:block/machines/ports/zpm_railgun_item_loader_out"
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_ctm_n.png
new file mode 100644
index 000000000..0607f2805
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_ctm_s.png
new file mode 100644
index 000000000..eb35c4e13
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_n.png b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_n.png
new file mode 100644
index 000000000..abe2386c6
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_s.png b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_s.png
new file mode 100644
index 000000000..36cc68e08
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/electromagnetic_accelerator_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel.png
new file mode 100644
index 000000000..840453e89
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel.png.mcmeta
new file mode 100644
index 000000000..8d02bb7ff
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "ldlib": {
+ "connection": "tfg:block/casings/machine_casing_aluminium_plated_steel_ctm"
+ }
+}
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm.png
new file mode 100644
index 000000000..510d4e2eb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm_n.png
new file mode 100644
index 000000000..66dbed6c4
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm_s.png
new file mode 100644
index 000000000..f6db48c04
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_n.png
new file mode 100644
index 000000000..c83302ebb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_s.png
new file mode 100644
index 000000000..393082537
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_aluminium_plated_steel_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_ctm_n.png
new file mode 100644
index 000000000..f5614301f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_ctm_s.png
new file mode 100644
index 000000000..4201b31e3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_n.png
new file mode 100644
index 000000000..880eccd98
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_s.png
new file mode 100644
index 000000000..6f0fd0158
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_blue_solar_panel_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh.psd b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh.psd
new file mode 100644
index 000000000..99e7d9710
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh.psd differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_ctm_n.png
new file mode 100644
index 000000000..f8948f058
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_ctm_s.png
new file mode 100644
index 000000000..4b3694661
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_n.png
new file mode 100644
index 000000000..a316def56
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_s.png
new file mode 100644
index 000000000..53323c702
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_clean_stainless_steel_desh_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_ctm_n.png
new file mode 100644
index 000000000..5b71200a5
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_ctm_s.png
new file mode 100644
index 000000000..0aaf5ef9c
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_n.png
new file mode 100644
index 000000000..504283719
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_s.png
new file mode 100644
index 000000000..4564be10a
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_desh_ptfe_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_ctm_n.png
new file mode 100644
index 000000000..f5614301f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_ctm_s.png
new file mode 100644
index 000000000..4201b31e3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_n.png
new file mode 100644
index 000000000..880eccd98
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_s.png
new file mode 100644
index 000000000..6f0fd0158
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_green_solar_panel_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_inert_ptfe.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_inert_ptfe.png
new file mode 100644
index 000000000..4d2922cd6
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_inert_ptfe.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_ctm_n.png
new file mode 100644
index 000000000..8a9c249e6
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_ctm_s.png
new file mode 100644
index 000000000..0aaf5ef9c
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_n.png
new file mode 100644
index 000000000..9c4a3ed40
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_s.png
new file mode 100644
index 000000000..4564be10a
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_iron_desh_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png
new file mode 100644
index 000000000..d0ae5f6d2
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta
new file mode 100644
index 000000000..65c0383d1
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "ldlib": {
+ "connection": "tfg:block/casings/machine_casing_mars_ctm"
+ }
+}
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm.png
new file mode 100644
index 000000000..e909e3533
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm_n.png
new file mode 100644
index 000000000..f8414b9dc
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm_s.png
new file mode 100644
index 000000000..f398f1cca
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_n.png
new file mode 100644
index 000000000..a903fe0fb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_s.png
new file mode 100644
index 000000000..4914d0d9f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_mars_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_ctm_n.png
new file mode 100644
index 000000000..df125fbda
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_ctm_s.png
new file mode 100644
index 000000000..5a33fa384
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_n.png
new file mode 100644
index 000000000..d02c49873
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_s.png
new file mode 100644
index 000000000..82b352d12
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_ptfe_desh_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_ctm_n.png
new file mode 100644
index 000000000..f5614301f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_ctm_s.png
new file mode 100644
index 000000000..4201b31e3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_n.png
new file mode 100644
index 000000000..880eccd98
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_s.png
new file mode 100644
index 000000000..6f0fd0158
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_red_solar_panel_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png
new file mode 100644
index 000000000..da4af96c0
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta
new file mode 100644
index 000000000..56d55b4dd
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "ldlib": {
+ "connection": "tfg:block/casings/machine_casing_stainless_evaporation_ctm"
+ }
+}
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm.png
new file mode 100644
index 000000000..91321a59f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm_n.png
new file mode 100644
index 000000000..f8414b9dc
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm_s.png
new file mode 100644
index 000000000..f398f1cca
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_n.png
new file mode 100644
index 000000000..a903fe0fb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_s.png
new file mode 100644
index 000000000..4914d0d9f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_evaporation_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_ctm_n.png
new file mode 100644
index 000000000..f8414b9dc
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_ctm_s.png
new file mode 100644
index 000000000..f398f1cca
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_n.png
new file mode 100644
index 000000000..a903fe0fb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_s.png
new file mode 100644
index 000000000..4914d0d9f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_stainless_steel_desh_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_ctm_n.png
new file mode 100644
index 000000000..97a36df34
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_ctm_s.png
new file mode 100644
index 000000000..b1bb89129
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_n.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_n.png
new file mode 100644
index 000000000..bfae94909
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_s.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_s.png
new file mode 100644
index 000000000..1aa5f6a66
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_large_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_ctm_n.png
new file mode 100644
index 000000000..6c1eb75bc
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_ctm_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_ctm_s.png
new file mode 100644
index 000000000..b1bb89129
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_ctm_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_n.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_n.png
new file mode 100644
index 000000000..f79b9d4cb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_s.png b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_s.png
new file mode 100644
index 000000000..1aa5f6a66
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/superconductor_coil_small_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/lunar_roots_layer_0_emissive.png b/kubejs/assets/tfg/textures/block/lunar_roots_e.png
similarity index 100%
rename from kubejs/assets/tfg/textures/block/lunar_roots_layer_0_emissive.png
rename to kubejs/assets/tfg/textures/block/lunar_roots_e.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_active_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_emissive.png
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_front_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side_active.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side_active.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/aqueous_accumulator/overlay_side_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_emissive.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_emissive.png
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_n.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_n.png
new file mode 100644
index 000000000..13b56bdde
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_s.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_s.png
new file mode 100644
index 000000000..55708b9fa
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_active_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_emissive.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_emissive.png
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_n.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_n.png
new file mode 100644
index 000000000..13b56bdde
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_s.png b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_s.png
new file mode 100644
index 000000000..55708b9fa
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/aqueous_accumulator/overlay_side_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back.png
new file mode 100644
index 000000000..144904dfa
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active.png
new file mode 100644
index 000000000..144904dfa
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_emissive.png
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_n.png
new file mode 100644
index 000000000..b0d7e8970
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_s.png
new file mode 100644
index 000000000..88f1a6b25
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_n.png
new file mode 100644
index 000000000..b0d7e8970
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_s.png
new file mode 100644
index 000000000..88f1a6b25
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_back_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_front_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..9524b073e
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..c8db7ef4c
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_n.png
new file mode 100644
index 000000000..9524b073e
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_s.png
new file mode 100644
index 000000000..c8db7ef4c
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_n.png
new file mode 100644
index 000000000..9524b073e
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_s.png
new file mode 100644
index 000000000..c8db7ef4c
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_front_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_side.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_side.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_side_active.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_side_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_side_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_side_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_n.png
new file mode 100644
index 000000000..c20c80739
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_s.png
new file mode 100644
index 000000000..419adec8b
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_n.png
new file mode 100644
index 000000000..c20c80739
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_s.png
new file mode 100644
index 000000000..419adec8b
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_side_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_oven/overlay_top_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive_n.png
new file mode 100644
index 000000000..7590502b0
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive_s.png
new file mode 100644
index 000000000..802fab3d3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_n.png
new file mode 100644
index 000000000..7590502b0
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_s.png
new file mode 100644
index 000000000..802fab3d3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_n.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_n.png
new file mode 100644
index 000000000..7590502b0
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_s.png b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_s.png
new file mode 100644
index 000000000..4d424320e
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_oven/overlay_top_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_back_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive_n.png
new file mode 100644
index 000000000..8448d976f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive_s.png
new file mode 100644
index 000000000..d38b2a777
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_n.png
new file mode 100644
index 000000000..8448d976f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_s.png
new file mode 100644
index 000000000..d38b2a777
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_n.png
new file mode 100644
index 000000000..8448d976f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_s.png
new file mode 100644
index 000000000..d38b2a777
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_back_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_front_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_side_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive_n.png
new file mode 100644
index 000000000..8448d976f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive_s.png
new file mode 100644
index 000000000..d38b2a777
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_n.png
new file mode 100644
index 000000000..8448d976f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_s.png
new file mode 100644
index 000000000..d38b2a777
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_n.png
new file mode 100644
index 000000000..8448d976f
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_s.png
new file mode 100644
index 000000000..d38b2a777
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_side_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_processor/overlay_top_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive_n.png
new file mode 100644
index 000000000..ec4f8d218
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive_s.png
new file mode 100644
index 000000000..54f0a47bd
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_n.png
new file mode 100644
index 000000000..ec4f8d218
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_s.png
new file mode 100644
index 000000000..54f0a47bd
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_n.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_n.png
new file mode 100644
index 000000000..ec4f8d218
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_s.png b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_s.png
new file mode 100644
index 000000000..54f0a47bd
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_processor/overlay_top_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active.png.mcmeta
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive_n.png
new file mode 100644
index 000000000..12f99da82
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive_s.png
new file mode 100644
index 000000000..0e119a148
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_n.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_n.png
new file mode 100644
index 000000000..12f99da82
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_s.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_s.png
new file mode 100644
index 000000000..0e119a148
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_active_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_emissive.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_emissive.png
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_emissive.png.mcmeta
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_back_emissive.png.mcmeta
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_emissive.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_n.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_n.png
new file mode 100644
index 000000000..12f99da82
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_s.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_s.png
new file mode 100644
index 000000000..0e119a148
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_back_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_front.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front.png
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_active.png
new file mode 100644
index 000000000..5b02c2583
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_active.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_active_emissive.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_bottom.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_active_emissive.png
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_emissive.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_n.png
new file mode 100644
index 000000000..66c3eb1c3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_s.png
new file mode 100644
index 000000000..b5227f457
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_front_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_side.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side.png
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_active.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_active.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_active_emissive.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_emissive.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_n.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_n.png
new file mode 100644
index 000000000..492fa6423
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_s.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_s.png
new file mode 100644
index 000000000..787dc6433
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_side_s.png differ
diff --git a/kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_top.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top.png
similarity index 100%
rename from kubejs/assets/gtceu/textures/block/machines/food_refrigerator/overlay_top.png
rename to kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top.png
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_active.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_active.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_active_emissive.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_emissive.png
new file mode 100644
index 000000000..f02154247
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_n.png b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_n.png
new file mode 100644
index 000000000..09e2b4616
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/food_refrigerator/overlay_top_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back.png
new file mode 100644
index 000000000..392333c10
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active.png
new file mode 100644
index 000000000..06d92b1bb
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive.png
new file mode 100644
index 000000000..e20e42d8d
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive_n.png
new file mode 100644
index 000000000..6464ac791
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive_s.png
new file mode 100644
index 000000000..e158affe8
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_n.png
new file mode 100644
index 000000000..6464ac791
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_s.png
new file mode 100644
index 000000000..e158affe8
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_n.png
new file mode 100644
index 000000000..6464ac791
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_s.png
new file mode 100644
index 000000000..e158affe8
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_back_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front.png
new file mode 100644
index 000000000..1760a37df
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active.png
new file mode 100644
index 000000000..1aa5799e8
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive.png
new file mode 100644
index 000000000..57b2d0c22
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_front_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side.png
new file mode 100644
index 000000000..5999dcaf7
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active.png
new file mode 100644
index 000000000..f2ce2ec57
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_n.png
new file mode 100644
index 000000000..fca8b7067
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_s.png
new file mode 100644
index 000000000..d9feeef43
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_side_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top.png
new file mode 100644
index 000000000..418a77a9a
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top.psd b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top.psd
new file mode 100644
index 000000000..a7aa7a0ae
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top.psd differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active.png
new file mode 100644
index 000000000..418a77a9a
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_n.png
new file mode 100644
index 000000000..ec4f8d218
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_s.png
new file mode 100644
index 000000000..54f0a47bd
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_n.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_n.png
new file mode 100644
index 000000000..ec4f8d218
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_s.png b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_s.png
new file mode 100644
index 000000000..54f0a47bd
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/gas_pressurizer/overlay_top_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front.png
new file mode 100644
index 000000000..2a87aa4c3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active.png
new file mode 100644
index 000000000..f55f615de
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive.png
new file mode 100644
index 000000000..f55f615de
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..5e6f62889
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..9f3a7a174
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_n.png
new file mode 100644
index 000000000..5e6f62889
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_s.png
new file mode 100644
index 000000000..9f3a7a174
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_n.png
new file mode 100644
index 000000000..5e6f62889
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_s.png
new file mode 100644
index 000000000..9f3a7a174
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_launcher/overlay_front_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front.png
new file mode 100644
index 000000000..0809bf444
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front.psd b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front.psd
new file mode 100644
index 000000000..a23cb576c
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front.psd differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active.png
new file mode 100644
index 000000000..b410181f7
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive.png
new file mode 100644
index 000000000..b410181f7
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..5e6f62889
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..9f3a7a174
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_n.png
new file mode 100644
index 000000000..5e6f62889
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_s.png
new file mode 100644
index 000000000..9f3a7a174
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_n.png
new file mode 100644
index 000000000..5e6f62889
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_s.png
new file mode 100644
index 000000000..9f3a7a174
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_item_receiver/overlay_front_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front.png
new file mode 100644
index 000000000..7166836e2
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active.png
new file mode 100644
index 000000000..6b947e27d
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive.png
new file mode 100644
index 000000000..ddfc8aefe
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_active_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_emissive.png
new file mode 100644
index 000000000..c20a1c981
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/interplanetary_logistics_monitor/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front.png
new file mode 100644
index 000000000..a3ca91add
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active.png
new file mode 100644
index 000000000..a3ca91add
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive.png
new file mode 100644
index 000000000..e82594e8e
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive_n.png
new file mode 100644
index 000000000..bcf35758b
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive_s.png
new file mode 100644
index 000000000..ff8dc93db
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_n.png
new file mode 100644
index 000000000..bcf35758b
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_s.png
new file mode 100644
index 000000000..ff8dc93db
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_active_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive.png
new file mode 100644
index 000000000..e82594e8e
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive.png.mcmeta
new file mode 100644
index 000000000..92cc62352
--- /dev/null
+++ b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive.png.mcmeta
@@ -0,0 +1,5 @@
+{
+ "animation":{
+ "frametime": 1
+ }
+}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive_n.png
new file mode 100644
index 000000000..bcf35758b
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive_s.png
new file mode 100644
index 000000000..ff8dc93db
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_emissive_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_n.png
new file mode 100644
index 000000000..bcf35758b
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_n.png differ
diff --git a/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_s.png
new file mode 100644
index 000000000..ff8dc93db
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/railgun_ammo_loader/overlay_front_s.png differ
diff --git a/kubejs/assets/tfg/textures/block/metal/smooth/invar.png b/kubejs/assets/tfg/textures/block/metal/smooth/invar.png
new file mode 100644
index 000000000..c02da8eb1
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/metal/smooth/invar.png differ
diff --git a/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_flow.png b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_flow.png
new file mode 100644
index 000000000..c05015d09
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_flow.png differ
diff --git a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_flow.png.mcmeta b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_flow.png.mcmeta
similarity index 56%
rename from kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_flow.png.mcmeta
rename to kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_flow.png.mcmeta
index 0645f48c6..8e55e43ba 100644
--- a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_flow.png.mcmeta
+++ b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_flow.png.mcmeta
@@ -1,5 +1,5 @@
{
"animation": {
- "frametime": 2
+ "frametime": 3
}
}
diff --git a/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_still.png b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_still.png
new file mode 100644
index 000000000..c19ac8bf3
Binary files /dev/null and b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_still.png differ
diff --git a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_still.png.mcmeta b/kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_still.png.mcmeta
similarity index 100%
rename from kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_still.png.mcmeta
rename to kubejs/assets/tfg/textures/block/planets/venus/geyser_slurry_still.png.mcmeta
diff --git a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_flow.png b/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_flow.png
deleted file mode 100644
index 3378326fe..000000000
Binary files a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_flow.png and /dev/null differ
diff --git a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_still.png b/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_still.png
deleted file mode 100644
index 99f283c5f..000000000
Binary files a/kubejs/assets/tfg/textures/block/planets/venus/super_heated_slurry_still.png and /dev/null differ
diff --git a/kubejs/assets/tfg/textures/item/aes_insulation_sheet.png b/kubejs/assets/tfg/textures/item/aes_insulation_sheet.png
deleted file mode 100644
index 6145f3518..000000000
Binary files a/kubejs/assets/tfg/textures/item/aes_insulation_sheet.png and /dev/null differ
diff --git a/kubejs/assets/tfg/textures/item/etching_diamond_tip.png b/kubejs/assets/tfg/textures/item/etching_diamond_tip.png
new file mode 100644
index 000000000..665e4158a
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/etching_diamond_tip.png differ
diff --git a/kubejs/assets/tfg/textures/item/photo_cell_t1.png b/kubejs/assets/tfg/textures/item/photo_cell_t1.png
new file mode 100644
index 000000000..1cb401b3a
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/photo_cell_t1.png differ
diff --git a/kubejs/assets/tfg/textures/item/railgun_ammo_shell.png b/kubejs/assets/tfg/textures/item/railgun_ammo_shell.png
new file mode 100644
index 000000000..6922c78c7
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/railgun_ammo_shell.png differ
diff --git a/kubejs/assets/tfg/textures/item/railgun_ammo_shell.png.mcmeta b/kubejs/assets/tfg/textures/item/railgun_ammo_shell.png.mcmeta
new file mode 100644
index 000000000..6c16e0574
--- /dev/null
+++ b/kubejs/assets/tfg/textures/item/railgun_ammo_shell.png.mcmeta
@@ -0,0 +1 @@
+{"animation": {"frametime": 2, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/item/semiheavy_ammoniacal_water_bucket.png b/kubejs/assets/tfg/textures/item/semiheavy_ammoniacal_water_bucket.png
new file mode 100644
index 000000000..2fff0624e
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/semiheavy_ammoniacal_water_bucket.png differ
diff --git a/kubejs/assets/tfg/textures/item/aes_compressed_wool.png b/kubejs/assets/tfg/textures/item/t2_rocket/aes_compressed_wool.png
similarity index 100%
rename from kubejs/assets/tfg/textures/item/aes_compressed_wool.png
rename to kubejs/assets/tfg/textures/item/t2_rocket/aes_compressed_wool.png
diff --git a/kubejs/assets/tfg/textures/item/aes_insulation_roll.png b/kubejs/assets/tfg/textures/item/t2_rocket/aes_insulation_roll.png
similarity index 100%
rename from kubejs/assets/tfg/textures/item/aes_insulation_roll.png
rename to kubejs/assets/tfg/textures/item/t2_rocket/aes_insulation_roll.png
diff --git a/kubejs/assets/tfg/textures/item/t2_rocket/aes_insulation_sheet.png b/kubejs/assets/tfg/textures/item/t2_rocket/aes_insulation_sheet.png
new file mode 100644
index 000000000..8aed04336
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t2_rocket/aes_insulation_sheet.png differ
diff --git a/kubejs/assets/tfg/textures/item/aes_wool.png b/kubejs/assets/tfg/textures/item/t2_rocket/aes_wool.png
similarity index 100%
rename from kubejs/assets/tfg/textures/item/aes_wool.png
rename to kubejs/assets/tfg/textures/item/t2_rocket/aes_wool.png
diff --git a/kubejs/assets/tfg/textures/item/rocket_cone_t2.png b/kubejs/assets/tfg/textures/item/t2_rocket/rocket_cone_t2.png
similarity index 100%
rename from kubejs/assets/tfg/textures/item/rocket_cone_t2.png
rename to kubejs/assets/tfg/textures/item/t2_rocket/rocket_cone_t2.png
diff --git a/kubejs/assets/tfg/textures/item/rocket_fin_t2.png b/kubejs/assets/tfg/textures/item/t2_rocket/rocket_fin_t2.png
similarity index 100%
rename from kubejs/assets/tfg/textures/item/rocket_fin_t2.png
rename to kubejs/assets/tfg/textures/item/t2_rocket/rocket_fin_t2.png
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/aes_polyurethane.png b/kubejs/assets/tfg/textures/item/t3_rocket/aes_polyurethane.png
new file mode 100644
index 000000000..823fa2dd1
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/aes_polyurethane.png differ
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/better_space_suit_fabric.png b/kubejs/assets/tfg/textures/item/t3_rocket/better_space_suit_fabric.png
new file mode 100644
index 000000000..0d958cd23
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/better_space_suit_fabric.png differ
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/elite_power_thruster.png b/kubejs/assets/tfg/textures/item/t3_rocket/elite_power_thruster.png
new file mode 100644
index 000000000..af7b7a29d
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/elite_power_thruster.png differ
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/mli_shielding.png b/kubejs/assets/tfg/textures/item/t3_rocket/mli_shielding.png
new file mode 100644
index 000000000..8180e1d69
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/mli_shielding.png differ
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/rocket_cone_t3.png b/kubejs/assets/tfg/textures/item/t3_rocket/rocket_cone_t3.png
new file mode 100644
index 000000000..3f805bec5
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/rocket_cone_t3.png differ
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/rocket_fin_t3.png b/kubejs/assets/tfg/textures/item/t3_rocket/rocket_fin_t3.png
new file mode 100644
index 000000000..65b3940d7
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/rocket_fin_t3.png differ
diff --git a/kubejs/assets/tfg/textures/item/t3_rocket/silica_aerogel.png b/kubejs/assets/tfg/textures/item/t3_rocket/silica_aerogel.png
new file mode 100644
index 000000000..8c61912fd
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/t3_rocket/silica_aerogel.png differ
diff --git a/kubejs/assets/tfg/textures/item/universal_compost_browns.png b/kubejs/assets/tfg/textures/item/universal_compost_browns.png
new file mode 100644
index 000000000..cf33489b8
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/universal_compost_browns.png differ
diff --git a/kubejs/assets/tfg/textures/item/universal_compost_browns.png.mcmeta b/kubejs/assets/tfg/textures/item/universal_compost_browns.png.mcmeta
new file mode 100644
index 000000000..6c16e0574
--- /dev/null
+++ b/kubejs/assets/tfg/textures/item/universal_compost_browns.png.mcmeta
@@ -0,0 +1 @@
+{"animation": {"frametime": 2, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}}
\ No newline at end of file
diff --git a/kubejs/assets/tfg/textures/item/universal_compost_greens.png b/kubejs/assets/tfg/textures/item/universal_compost_greens.png
new file mode 100644
index 000000000..f5fa2f13e
Binary files /dev/null and b/kubejs/assets/tfg/textures/item/universal_compost_greens.png differ
diff --git a/kubejs/assets/tfg/textures/item/universal_compost_greens.png.mcmeta b/kubejs/assets/tfg/textures/item/universal_compost_greens.png.mcmeta
new file mode 100644
index 000000000..6c16e0574
--- /dev/null
+++ b/kubejs/assets/tfg/textures/item/universal_compost_greens.png.mcmeta
@@ -0,0 +1 @@
+{"animation": {"frametime": 2, "frames": [{"index": 0, "time":40}, 1, 2, 3, 4, 5, 6, 7, 8, 9]}}
\ No newline at end of file
diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js
index cb78244b9..e180ed8eb 100644
--- a/kubejs/client_scripts/main_client_script.js
+++ b/kubejs/client_scripts/main_client_script.js
@@ -1,4 +1,3 @@
-ItemEvents.tooltip(evt =>
-{
+ItemEvents.tooltip(evt => {
registerTooltips(evt);
})
diff --git a/kubejs/client_scripts/tooltips.js b/kubejs/client_scripts/tooltips.js
index 33a90df9b..507207135 100644
--- a/kubejs/client_scripts/tooltips.js
+++ b/kubejs/client_scripts/tooltips.js
@@ -1,7 +1,6 @@
"use strict";
-const registerTooltips = (event) =>
-{
+const registerTooltips = (event) => {
event.addAdvanced(['gtceu:lv_macerator', 'gtceu:mv_macerator', 'gtceu:hp_steam_macerator'], (item, advanced, text) => {
text.add(1, [text.of('§7Only outputs the first slot shown in EMI/JEI until HV.')])
})
@@ -55,7 +54,7 @@ const registerTooltips = (event) =>
text.add(2, text.of('§7Insulation: +9'))
text.add(3, text.of('§7Wear the full set to be §eHeatproof§7 from ambient temperatures.'))
})
- event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:avanced_nanomuscle_chestplate'], (item, advanced, text) => {
+ event.addAdvanced(['gtceu:nanomuscle_helmet', 'gtceu:nanomuscle_chestplate', 'gtceu:nanomuscle_leggings', 'gtceu:nanomuscle_boots', 'gtceu:advanced_nanomuscle_chestplate'], (item, advanced, text) => {
text.add(1, text.of('§7Warmth: 0')),
text.add(2, text.of('§7Insulation: +10'))
text.add(3, text.of('§7Wear the full set to be §eFully Insulated§7 from ambient temperatures.'))
@@ -114,7 +113,19 @@ const registerTooltips = (event) =>
// Solar Panel
event.addAdvanced(['ad_astra:solar_panel'], (item, advanced, text) => {
- text.add(1, text.of('Produces §664 Eu/t§r on the §6moon§r during the §6day§r'))
+ text.add(1, text.of('Produces §6256 FE/t§r (64 EU/t) on the §6moon§r during the §6day§r'))
+ })
+
+ event.addAdvanced(['gtceu:large_solar_panel'], (item, advanced, text) => {
+ text.add(1, text.of('Massive structure producing from §61024 to 4096 EU/t§r on the §6moon§r during the §6day§r'))
+ })
+
+ event.addAdvanced(['gtceu:large_solar_panel_tier2'], (item, advanced, text) => {
+ text.add(1, text.of('Massive structure producing from §64096 to 16384 EU/t§r on the §6moon§r during the §6day§r'))
+ })
+
+ event.addAdvanced(['gtceu:large_solar_panel_tier3'], (item, advanced, text) => {
+ text.add(1, text.of('Massive structure producing from §616384 to 65536 EU/t§r on the §6moon§r during the §6day§r'))
})
// MEGA Deprecated 0.10
diff --git a/kubejs/data/ad_astra/dimension/mars.json b/kubejs/data/ad_astra/dimension/mars.json
index 1f9ff41ac..b99de52cf 100644
--- a/kubejs/data/ad_astra/dimension/mars.json
+++ b/kubejs/data/ad_astra/dimension/mars.json
@@ -1,5 +1,5 @@
{
- "type": "ad_astra:mars",
+ "type": "tfg:mars",
"generator": {
"type": "kubejs_tfc:wrapped",
"event_key": "mars",
diff --git a/kubejs/data/ad_astra/dimension/venus.json b/kubejs/data/ad_astra/dimension/venus.json
index de25ba301..2600b4020 100644
--- a/kubejs/data/ad_astra/dimension/venus.json
+++ b/kubejs/data/ad_astra/dimension/venus.json
@@ -1,5 +1,5 @@
{
- "type": "ad_astra:venus",
+ "type": "tfg:venus",
"generator": {
"type": "minecraft:noise",
"settings": "tfg:venus_noise",
diff --git a/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json b/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json
index fb9caffac..6d66d009e 100644
--- a/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json
+++ b/kubejs/data/tfc/tfc/drinkables/aged_corn_whiskey.json
@@ -1,13 +1,13 @@
-{
- "__comment__": "This file was automatically created by mcresources",
- "ingredient": "tfcagedalcohol:aged_corn_whiskey",
- "thirst": 15,
- "intoxication": 2000,
- "effects": [
- {
- "type": "minecraft:haste",
- "duration": 6400,
- "amplifier": 0
- }
- ]
+{
+ "__comment__": "This file was automatically created by mcresources",
+ "ingredient": "tfcagedalcohol:aged_corn_whiskey",
+ "thirst": 15,
+ "intoxication": 2000,
+ "effects": [
+ {
+ "type": "minecraft:haste",
+ "duration": 6400,
+ "amplifier": 0
+ }
+ ]
}
\ No newline at end of file
diff --git a/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json b/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json
index bbf9420fc..964129e67 100644
--- a/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json
+++ b/kubejs/data/tfc/tfc/drinkables/aged_rye_whiskey.json
@@ -1,13 +1,13 @@
-{
- "__comment__": "This file was automatically created by mcresources",
- "ingredient": "tfcagedalcohol:aged_rye_whiskey",
- "thirst": 15,
- "intoxication": 2000,
- "effects": [
- {
- "type": "minecraft:haste",
- "duration": 6400,
- "amplifier": 0
- }
- ]
+{
+ "__comment__": "This file was automatically created by mcresources",
+ "ingredient": "tfcagedalcohol:aged_rye_whiskey",
+ "thirst": 15,
+ "intoxication": 2000,
+ "effects": [
+ {
+ "type": "minecraft:haste",
+ "duration": 6400,
+ "amplifier": 0
+ }
+ ]
}
\ No newline at end of file
diff --git a/kubejs/data/tfg/dimension_type/mars.json b/kubejs/data/tfg/dimension_type/mars.json
index 77b975cc5..a87932a6b 100644
--- a/kubejs/data/tfg/dimension_type/mars.json
+++ b/kubejs/data/tfg/dimension_type/mars.json
@@ -9,7 +9,7 @@
"height": 384,
"infiniburn": "#minecraft:infiniburn_overworld",
"logical_height": 384,
- "min_y": -64,
+ "min_y": -32,
"monster_spawn_block_light_limit": 0,
"monster_spawn_light_level": {
"type": "minecraft:uniform",
diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json
index 555239dc9..3b4e30d34 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/amber_hills.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,27 +45,67 @@
"#tfg:mars_veins",
[],
"#tfg:mars_small_rock_features",
- [
-
- ],
- [
- "tfg:mars/hardening"
- ]
+ "#tfg:mars_amber_vegetal_decoration",
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json
index ffce07547..69f3c3828 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/amber_plains.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,30 +45,73 @@
"#tfg:mars_veins",
[],
"#tfg:mars_small_rock_features",
- [
- "tfg:mars/surface/aeronos_patch",
- "tfg:mars/surface/strophar_patch",
- "tfg:mars/surface/aeronos_huge",
- "tfg:mars/surface/strophar_huge"
- ],
- [
- "tfg:mars/hardening"
- ]
+ "#tfg:mars_amber_vegetal_decoration",
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:goober",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json
index 0be7126ab..9afd3ba7b 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_deep_desert.json
@@ -23,7 +23,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -42,16 +42,11 @@
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
- }
+
},
"spawners": {
"ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json
index 0be7126ab..d3ddec0ec 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dune_edge.json
@@ -23,7 +23,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -42,15 +42,21 @@
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
@@ -59,7 +65,12 @@
"creature": [],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json
index 0be7126ab..9afd3ba7b 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_dunes.json
@@ -23,7 +23,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -42,16 +42,11 @@
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
- }
+
},
"spawners": {
"ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json
index 555239dc9..c080f5c7d 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_mountains.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -48,24 +48,60 @@
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "species:wraptor",
+ "maxCount": 2,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 4,
+ "minCount": 2,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_oasis.json b/kubejs/data/tfg/worldgen/biome/mars/martian_oasis.json
index 3dca99a4a..bf04464b2 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_oasis.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_oasis.json
@@ -23,7 +23,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,15 +45,21 @@
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
@@ -62,7 +68,30 @@
"creature": [],
"misc": [],
"monster": [
-
+ {
+ "type": "species:quake",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 20
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 20
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 50
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json
index 5078d11a8..3602f9b61 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_river.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_river.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -47,24 +47,66 @@
"#tfg:mars_small_rock_features",
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 2,
+ "minCount": 1,
+ "weight": 75
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 2,
+ "minCount": 1,
+ "weight": 75
+ },
+ {
+ "type": "species:goober",
+ "maxCount": 2,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/martian_riverbed.json b/kubejs/data/tfg/worldgen/biome/mars/martian_riverbed.json
index 555239dc9..539d295bf 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/martian_riverbed.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/martian_riverbed.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -48,24 +48,66 @@
[
],
- [
- "tfg:mars/hardening"
- ]
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 50
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 2,
+ "minCount": 1,
+ "weight": 50
+ },
+ {
+ "type": "species:goober",
+ "maxCount": 2,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json
index 555239dc9..1b1349e99 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_hills.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,27 +45,67 @@
"#tfg:mars_veins",
[],
"#tfg:mars_small_rock_features",
- [
-
- ],
- [
- "tfg:mars/hardening"
- ]
+ "#tfg:mars_rusticus_vegetal_decoration",
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json
index ffce07547..255b16834 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/rusticus_plains.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,30 +45,73 @@
"#tfg:mars_veins",
[],
"#tfg:mars_small_rock_features",
- [
- "tfg:mars/surface/aeronos_patch",
- "tfg:mars/surface/strophar_patch",
- "tfg:mars/surface/aeronos_huge",
- "tfg:mars/surface/strophar_huge"
- ],
- [
- "tfg:mars/hardening"
- ]
+ "#tfg:mars_rusticus_vegetal_decoration",
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:goober",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json
index 555239dc9..f20015576 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_hills.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,27 +45,67 @@
"#tfg:mars_veins",
[],
"#tfg:mars_small_rock_features",
- [
-
- ],
- [
- "tfg:mars/hardening"
- ]
+ "#tfg:mars_sangnum_vegetal_decoration",
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json
index ffce07547..6d445d586 100644
--- a/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json
+++ b/kubejs/data/tfg/worldgen/biome/mars/sangnum_plains.json
@@ -26,7 +26,7 @@
},
"features": [
[],
- "#tfg:mars_craters",
+ [],
[
"tfg:earth/geode/amethyst",
"tfg:earth/geode/barite",
@@ -45,30 +45,73 @@
"#tfg:mars_veins",
[],
"#tfg:mars_small_rock_features",
- [
- "tfg:mars/surface/aeronos_patch",
- "tfg:mars/surface/strophar_patch",
- "tfg:mars/surface/aeronos_huge",
- "tfg:mars/surface/strophar_huge"
- ],
- [
- "tfg:mars/hardening"
- ]
+ "#tfg:mars_sangnum_vegetal_decoration",
+ []
],
"has_precipitation": false,
"spawn_costs": {
- "ad_astra:martian_raptor": {
- "charge": 0.2,
- "energy_budget": 0.015
+ "endermanoverhaul:crimson_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:warped_forest_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
+ },
+ "endermanoverhaul:badlands_enderman": {
+ "energy_budget": 0.15,
+ "charge": 0.7
}
},
"spawners": {
"ambient": [],
"axolotls": [],
- "creature": [],
+ "creature": [
+ {
+ "type": "minecraft:sniffer",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:wraptor",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:goober",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "species:springling",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
+ ],
"misc": [],
"monster": [
-
+ {
+ "type": "endermanoverhaul:crimson_forest_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:warped_forest_enderman",
+ "maxCount": 3,
+ "minCount": 1,
+ "weight": 100
+ },
+ {
+ "type": "endermanoverhaul:badlands_enderman",
+ "maxCount": 1,
+ "minCount": 1,
+ "weight": 100
+ }
],
"underground_water_creature": [],
"water_ambient": [],
diff --git a/kubejs/data/tfg/worldgen/biome/venus/venus_fractured_lands.json b/kubejs/data/tfg/worldgen/biome/venus/venus_fractured_lands.json
index d9157a93e..965eb2a07 100644
--- a/kubejs/data/tfg/worldgen/biome/venus/venus_fractured_lands.json
+++ b/kubejs/data/tfg/worldgen/biome/venus/venus_fractured_lands.json
@@ -24,5 +24,7 @@
"spawners": {},
"starts": [],
"carvers": {},
- "features": []
+ "features": [
+ "#tfg:venus_fractured_lands_terrain_features"
+ ]
}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeridium.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeridium.json
new file mode 100644
index 000000000..e933d24f0
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeridium.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:aeridium"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 24,
+ "xz_spread": 10,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeronos_patch.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeronos_patch.json
index 90e55a32c..7a49ca69d 100644
--- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeronos_patch.json
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/aeronos_patch.json
@@ -17,8 +17,18 @@
{
"type": "minecraft:block_predicate_filter",
"predicate": {
- "type": "minecraft:matching_blocks",
- "blocks": "minecraft:air"
+ "type": "minecraft:all_of",
+ "predicates": [
+ {
+ "type": "minecraft:matching_blocks",
+ "blocks": "minecraft:air"
+ },
+ {
+ "type": "minecraft:matching_block_tag",
+ "offset": [ 0, -1, 0 ],
+ "tag": "tfg:mars_soil"
+ }
+ ]
}
}
]
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/amber_grass.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/amber_grass.json
new file mode 100644
index 000000000..8021c5609
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/amber_grass.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:amber_grass"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 64,
+ "xz_spread": 16,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/bolux_mushroom.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/bolux_mushroom.json
new file mode 100644
index 000000000..2099cb38f
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/bolux_mushroom.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:bolux_mushroom_wild"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 8,
+ "xz_spread": 10,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/cave_grass.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/cave_grass.json
new file mode 100644
index 000000000..4a1dbdd36
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/cave_grass.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:cave_grass"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 36,
+ "xz_spread": 16,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/clawfern.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/clawfern.json
new file mode 100644
index 000000000..5ca0f4db3
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/clawfern.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:clawfern"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 24,
+ "xz_spread": 10,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json
new file mode 100644
index 000000000..6251d7a73
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flamaea.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:flamaea"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 16,
+ "xz_spread": 16,
+ "y_spread": 2
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flammalix.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flammalix.json
new file mode 100644
index 000000000..7b5ba6122
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/flammalix.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:flammalix"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 8,
+ "xz_spread": 10,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/globulagus.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/globulagus.json
new file mode 100644
index 000000000..8c8b0c7d1
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/globulagus.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:globulagus"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 24,
+ "xz_spread": 16,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lamellarium.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lamellarium.json
new file mode 100644
index 000000000..c95be5c13
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lamellarium.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:lamellarium"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 24,
+ "xz_spread": 16,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lutebus.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lutebus.json
new file mode 100644
index 000000000..dff170913
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/lutebus.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:lutebus"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 16,
+ "xz_spread": 10,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/orango.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/orango.json
new file mode 100644
index 000000000..fb3f51fd4
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/orango.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:orango"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 16,
+ "xz_spread": 16,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/ruscus.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/ruscus.json
new file mode 100644
index 000000000..b2ae5e0ca
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/ruscus.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:ruscus"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 48,
+ "xz_spread": 16,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_amaranita_mushroom.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_amaranita_mushroom.json
new file mode 100644
index 000000000..61bae0e72
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/small_amaranita_mushroom.json
@@ -0,0 +1,40 @@
+{
+ "type": "minecraft:random_patch",
+ "config": {
+ "feature": {
+ "feature": {
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "betterend:small_amaranita_mushroom"
+ }
+ }
+ }
+ },
+ "placement": [
+ {
+ "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:mars_soil"
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "tries": 8,
+ "xz_spread": 10,
+ "y_spread": 3
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/strophar_patch.json b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/strophar_patch.json
index daf0e4c97..9ebda4926 100644
--- a/kubejs/data/tfg/worldgen/configured_feature/mars/surface/strophar_patch.json
+++ b/kubejs/data/tfg/worldgen/configured_feature/mars/surface/strophar_patch.json
@@ -17,8 +17,18 @@
{
"type": "minecraft:block_predicate_filter",
"predicate": {
- "type": "minecraft:matching_blocks",
- "blocks": "minecraft:air"
+ "type": "minecraft:all_of",
+ "predicates": [
+ {
+ "type": "minecraft:matching_blocks",
+ "blocks": "minecraft:air"
+ },
+ {
+ "type": "minecraft:matching_block_tag",
+ "offset": [ 0, -1, 0 ],
+ "tag": "tfg:mars_soil"
+ }
+ ]
}
}
]
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json
index 89720a68e..02371764e 100644
--- a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/hot_spring_delta.json
@@ -2,7 +2,7 @@
"type": "minecraft:delta_feature",
"config": {
"contents": {
- "Name": "tfg:super_heated_slurry"
+ "Name": "tfg:geyser_slurry"
},
"rim": {
"Name": "tfg:rock/raw/geyserite"
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_gravel.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_gravel.json
new file mode 100644
index 000000000..a3b3eee8d
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_gravel.json
@@ -0,0 +1,35 @@
+{
+ "type": "minecraft:disk",
+ "config": {
+ "half_height": 4,
+ "radius": {
+ "type": "minecraft:uniform",
+ "value": {
+ "min_inclusive": 4,
+ "max_inclusive": 8
+ }
+ },
+ "state_provider": {
+ "fallback": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "tfc:rock/gravel/basalt"
+ }
+ },
+ "rules": []
+ },
+ "target": {
+ "type": "minecraft:matching_blocks",
+ "blocks": [
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_stone.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_stone.json
new file mode 100644
index 000000000..77e579c34
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_basalt_stone.json
@@ -0,0 +1,37 @@
+{
+ "type": "minecraft:disk",
+ "config": {
+ "half_height": 3,
+ "radius": {
+ "type": "minecraft:uniform",
+ "value": {
+ "min_inclusive": 4,
+ "max_inclusive": 6
+ }
+ },
+ "state_provider": {
+ "fallback": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "tfc:rock/hardened/basalt"
+ }
+ },
+ "rules": []
+ },
+ "target": {
+ "type": "minecraft:matching_blocks",
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_geyserite.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_geyserite.json
new file mode 100644
index 000000000..d94dfd3a0
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_geyserite.json
@@ -0,0 +1,38 @@
+{
+ "type": "minecraft:disk",
+ "config": {
+ "half_height": 2,
+ "radius": {
+ "type": "minecraft:uniform",
+ "value": {
+ "min_inclusive": 3,
+ "max_inclusive": 4
+ }
+ },
+ "state_provider": {
+ "fallback": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "tfg:rock/raw/geyserite"
+ }
+ },
+ "rules": []
+ },
+ "target": {
+ "type": "minecraft:matching_blocks",
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_orange_sand.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_orange_sand.json
new file mode 100644
index 000000000..bccc8591a
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_orange_sand.json
@@ -0,0 +1,39 @@
+{
+ "type": "minecraft:disk",
+ "config": {
+ "half_height": 1,
+ "radius": {
+ "type": "minecraft:uniform",
+ "value": {
+ "min_inclusive": 2,
+ "max_inclusive": 3
+ }
+ },
+ "state_provider": {
+ "fallback": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "tfg:sand/fluorapatite/orange"
+ }
+ },
+ "rules": []
+ },
+ "target": {
+ "type": "minecraft:matching_blocks",
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_yellow_sand.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_yellow_sand.json
new file mode 100644
index 000000000..a90ceb638
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lake_yellow_sand.json
@@ -0,0 +1,34 @@
+{
+ "type": "minecraft:disk",
+ "config": {
+ "half_height": 0,
+ "radius": 1,
+ "state_provider": {
+ "fallback": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "tfg:sand/fluorapatite/yellow"
+ }
+ },
+ "rules": []
+ },
+ "target": {
+ "type": "minecraft:matching_blocks",
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json
new file mode 100644
index 000000000..95f453f44
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lakes.json
@@ -0,0 +1,14 @@
+{
+ "type": "minecraft:simple_block",
+ "config": {
+ "to_place": {
+ "type": "minecraft:simple_state_provider",
+ "state": {
+ "Name": "tfg:geyser_slurry",
+ "Properties": {
+ "level": "0"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json
new file mode 100644
index 000000000..8ab7a0126
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/configured_feature/venus/terrain/lava_delta.json
@@ -0,0 +1,25 @@
+{
+ "type": "minecraft:delta_feature",
+ "config": {
+ "contents": {
+ "Name": "minecraft:lava"
+ },
+ "rim": {
+ "Name": "tfc:rock/hardened/basalt"
+ },
+ "rim_size": {
+ "type": "minecraft:uniform",
+ "value": {
+ "max_inclusive": 2,
+ "min_inclusive": 1
+ }
+ },
+ "size": {
+ "type": "minecraft:uniform",
+ "value": {
+ "max_inclusive": 16,
+ "min_inclusive": 4
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/density_function/mars/caves/noodle.json b/kubejs/data/tfg/worldgen/density_function/mars/caves/noodle.json
new file mode 100644
index 000000000..2096de60a
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/density_function/mars/caves/noodle.json
@@ -0,0 +1,94 @@
+{
+ "type": "minecraft:range_choice",
+ "input": {
+ "type": "minecraft:interpolated",
+ "argument": {
+ "type": "minecraft:range_choice",
+ "input": "minecraft:y",
+ "max_exclusive": 321.0,
+ "min_inclusive": -28.0,
+ "when_in_range": {
+ "type": "minecraft:noise",
+ "noise": "minecraft:noodle",
+ "xz_scale": 1.0,
+ "y_scale": 1.0
+ },
+ "when_out_of_range": -1.0
+ }
+ },
+ "max_exclusive": 0.0,
+ "min_inclusive": -1000000.0,
+ "when_in_range": 64.0,
+ "when_out_of_range": {
+ "type": "minecraft:add",
+ "argument1": {
+ "type": "minecraft:interpolated",
+ "argument": {
+ "type": "minecraft:range_choice",
+ "input": "minecraft:y",
+ "max_exclusive": 321.0,
+ "min_inclusive": -30.0,
+ "when_in_range": {
+ "type": "minecraft:add",
+ "argument1": -0.07500000000000001,
+ "argument2": {
+ "type": "minecraft:mul",
+ "argument1": -0.025,
+ "argument2": {
+ "type": "minecraft:noise",
+ "noise": "minecraft:noodle_thickness",
+ "xz_scale": 1.0,
+ "y_scale": 1.0
+ }
+ }
+ },
+ "when_out_of_range": 0.0
+ }
+ },
+ "argument2": {
+ "type": "minecraft:mul",
+ "argument1": 1.5,
+ "argument2": {
+ "type": "minecraft:max",
+ "argument1": {
+ "type": "minecraft:abs",
+ "argument": {
+ "type": "minecraft:interpolated",
+ "argument": {
+ "type": "minecraft:range_choice",
+ "input": "minecraft:y",
+ "max_exclusive": 321.0,
+ "min_inclusive": -30.0,
+ "when_in_range": {
+ "type": "minecraft:noise",
+ "noise": "minecraft:noodle_ridge_a",
+ "xz_scale": 2.6666666666666665,
+ "y_scale": 2.6666666666666665
+ },
+ "when_out_of_range": 0.0
+ }
+ }
+ },
+ "argument2": {
+ "type": "minecraft:abs",
+ "argument": {
+ "type": "minecraft:interpolated",
+ "argument": {
+ "type": "minecraft:range_choice",
+ "input": "minecraft:y",
+ "max_exclusive": 321.0,
+ "min_inclusive": -30.0,
+ "when_in_range": {
+ "type": "minecraft:noise",
+ "noise": "minecraft:noodle_ridge_b",
+ "xz_scale": 2.6666666666666665,
+ "y_scale": 2.6666666666666665
+ },
+ "when_out_of_range": 0.0
+ }
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/noise_settings/mars_noise.json b/kubejs/data/tfg/worldgen/noise_settings/mars_noise.json
index 963fdb68f..b62ead51d 100644
--- a/kubejs/data/tfg/worldgen/noise_settings/mars_noise.json
+++ b/kubejs/data/tfg/worldgen/noise_settings/mars_noise.json
@@ -65,7 +65,7 @@
"type": "minecraft:mul",
"argument1": {
"type": "minecraft:y_clamped_gradient",
- "from_y": -28,
+ "from_y": -30,
"to_y": -20,
"from_value": 0,
"to_value": 1
@@ -99,7 +99,7 @@
}
}
},
- "argument2": "minecraft:overworld/caves/noodle"
+ "argument2": "tfg:mars/caves/noodle"
},
"fluid_level_floodedness": {
diff --git a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json
index 7b0e981ab..4b663344f 100644
--- a/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json
+++ b/kubejs/data/tfg/worldgen/noise_settings/venus_noise.json
@@ -436,10 +436,10 @@
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sand/fluorapatite/green" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sand/fluorapatite/green" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 2, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 3, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 3, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 4, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 5, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 6, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 6, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 7, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 8, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "ceiling", "add_surface_depth": true, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } }
@@ -457,16 +457,16 @@
"then_run": {
"type": "minecraft:sequence",
"sequence": [
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sand/fluorapatite/orange" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sand/fluorapatite/orange" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 2, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_silver/chert" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_silver/chert" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 2, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 3, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 4, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 5, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 5, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 6, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 7, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 8, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "ceiling", "add_surface_depth": true, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } }
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "ceiling", "add_surface_depth": true, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } }
]
}
},
@@ -489,7 +489,7 @@
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 5, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 6, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 7, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 8, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 8, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 0, "surface_type": "ceiling", "add_surface_depth": true, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } }
]
}
@@ -498,7 +498,7 @@
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 1, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sand/fluorapatite/white" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 2, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 3, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/white" } } },
- { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 4, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/orange" } } },
+ { "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 4, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfc:deposit/native_gold/chert" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 5, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 6, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/blue" } } },
{ "type": "minecraft:condition", "if_true": { "type": "minecraft:stone_depth", "offset": 7, "surface_type": "floor", "add_surface_depth": false, "secondary_depth_range": 0 }, "then_run": { "type": "minecraft:block", "result_state": { "Name": "tfg:sandstone/raw/fluorapatite/green" } } },
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/no_op.json b/kubejs/data/tfg/worldgen/placed_feature/mars/no_op.json
new file mode 100644
index 000000000..bf78f61b1
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/no_op.json
@@ -0,0 +1,7 @@
+{
+ "feature": {
+ "type": "minecraft:no_op",
+ "config": {}
+ },
+ "placement": []
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/aeridium.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/aeridium.json
new file mode 100644
index 000000000..ffc5ef7f8
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/aeridium.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/ruscus",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 1
+ },
+ {
+ "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/amber_grass.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/amber_grass.json
new file mode 100644
index 000000000..86239b1bc
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/amber_grass.json
@@ -0,0 +1,16 @@
+{
+ "feature": "tfg:mars/surface/amber_grass",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 8
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/bolux_mushroom.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/bolux_mushroom.json
new file mode 100644
index 000000000..8dbaff4d4
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/bolux_mushroom.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/bolux_mushroom",
+ "placement": [
+ {
+ "type": "minecraft:rarity_filter",
+ "chance": 2
+ },
+ {
+ "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/cave_grass.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/cave_grass.json
new file mode 100644
index 000000000..fe798d667
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/cave_grass.json
@@ -0,0 +1,16 @@
+{
+ "feature": "tfg:mars/surface/cave_grass",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 6
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/clawfern.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/clawfern.json
new file mode 100644
index 000000000..575cabc94
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/clawfern.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/clawfern",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 1
+ },
+ {
+ "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/flamaea.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flamaea.json
new file mode 100644
index 000000000..22ef61ef8
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flamaea.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/flamaea",
+ "placement": [
+ {
+ "type": "minecraft:rarity_filter",
+ "chance": 2
+ },
+ {
+ "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/flammalix.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flammalix.json
new file mode 100644
index 000000000..60a9cb4c8
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/flammalix.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/flammalix",
+ "placement": [
+ {
+ "type": "minecraft:rarity_filter",
+ "chance": 2
+ },
+ {
+ "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/globulagus.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/globulagus.json
new file mode 100644
index 000000000..4024e6ac6
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/globulagus.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/globulagus",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 4
+ },
+ {
+ "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/lamellarium.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lamellarium.json
new file mode 100644
index 000000000..ebd58a9b5
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lamellarium.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/lamellarium",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 4
+ },
+ {
+ "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/lutebus.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lutebus.json
new file mode 100644
index 000000000..6aeb77952
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/lutebus.json
@@ -0,0 +1,16 @@
+{
+ "feature": "tfg:mars/surface/lutebus",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 2
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/orango.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/orango.json
new file mode 100644
index 000000000..215f72732
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/orango.json
@@ -0,0 +1,16 @@
+{
+ "feature": "tfg:mars/surface/orango",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 2
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/ruscus.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/ruscus.json
new file mode 100644
index 000000000..17ef473bc
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/ruscus.json
@@ -0,0 +1,16 @@
+{
+ "feature": "tfg:mars/surface/ruscus",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 8
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/mars/surface/small_amaranita_mushroom.json b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/small_amaranita_mushroom.json
new file mode 100644
index 000000000..3702fc112
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/mars/surface/small_amaranita_mushroom.json
@@ -0,0 +1,19 @@
+{
+ "feature": "tfg:mars/surface/small_amaranita_mushroom",
+ "placement": [
+ {
+ "type": "minecraft:rarity_filter",
+ "chance": 2
+ },
+ {
+ "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/venus/terrain/lake_basalt_gravel.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_gravel.json
new file mode 100644
index 000000000..755e3d275
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_gravel.json
@@ -0,0 +1,34 @@
+{
+ "feature": "tfg:venus/terrain/lake_basalt_gravel",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 256
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:height_range",
+ "height": {
+ "type": "minecraft:uniform",
+ "min_inclusive": {
+ "absolute": 67
+ },
+ "max_inclusive": {
+ "absolute": 70
+ }
+ }
+ },
+ {
+ "type": "minecraft:block_predicate_filter",
+ "predicate": {
+ "type": "minecraft:matching_fluids",
+ "fluids": "tfg:geyser_slurry"
+ }
+ },
+ {
+ "type": "minecraft:biome"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_stone.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_stone.json
new file mode 100644
index 000000000..47d91e7a5
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_basalt_stone.json
@@ -0,0 +1,34 @@
+{
+ "feature": "tfg:venus/terrain/lake_basalt_stone",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 228
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:height_range",
+ "height": {
+ "type": "minecraft:uniform",
+ "min_inclusive": {
+ "absolute": 67
+ },
+ "max_inclusive": {
+ "absolute": 70
+ }
+ }
+ },
+ {
+ "type": "minecraft:block_predicate_filter",
+ "predicate": {
+ "type": "minecraft:matching_fluids",
+ "fluids": "tfg:geyser_slurry"
+ }
+ },
+ {
+ "type": "minecraft:biome"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_geyserite.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_geyserite.json
new file mode 100644
index 000000000..040164f66
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_geyserite.json
@@ -0,0 +1,34 @@
+{
+ "feature": "tfg:venus/terrain/lake_geyserite",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 228
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:height_range",
+ "height": {
+ "type": "minecraft:uniform",
+ "min_inclusive": {
+ "absolute": 67
+ },
+ "max_inclusive": {
+ "absolute": 70
+ }
+ }
+ },
+ {
+ "type": "minecraft:block_predicate_filter",
+ "predicate": {
+ "type": "minecraft:matching_fluids",
+ "fluids": "tfg:geyser_slurry"
+ }
+ },
+ {
+ "type": "minecraft:biome"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_orange_sand.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_orange_sand.json
new file mode 100644
index 000000000..601fef6e8
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_orange_sand.json
@@ -0,0 +1,38 @@
+{
+ "feature": "tfg:venus/terrain/lake_orange_sand",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 4
+ },
+ {
+ "type": "minecraft:count",
+ "count": 82
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:height_range",
+ "height": {
+ "type": "minecraft:uniform",
+ "min_inclusive": {
+ "absolute": 67
+ },
+ "max_inclusive": {
+ "absolute": 70
+ }
+ }
+ },
+ {
+ "type": "minecraft:block_predicate_filter",
+ "predicate": {
+ "type": "minecraft:matching_fluids",
+ "fluids": "tfg:geyser_slurry"
+ }
+ },
+ {
+ "type": "minecraft:biome"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_yellow_sand.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_yellow_sand.json
new file mode 100644
index 000000000..2e55be876
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lake_yellow_sand.json
@@ -0,0 +1,38 @@
+{
+ "feature": "tfg:venus/terrain/lake_yellow_sand",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 188
+ },
+ {
+ "type": "minecraft:count",
+ "count": 6
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:height_range",
+ "height": {
+ "type": "minecraft:uniform",
+ "min_inclusive": {
+ "absolute": 68
+ },
+ "max_inclusive": {
+ "absolute": 68
+ }
+ }
+ },
+ {
+ "type": "minecraft:block_predicate_filter",
+ "predicate": {
+ "type": "minecraft:matching_fluids",
+ "fluids": "tfg:geyser_slurry"
+ }
+ },
+ {
+ "type": "minecraft:biome"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lakes.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lakes.json
new file mode 100644
index 000000000..9bc2823cf
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lakes.json
@@ -0,0 +1,400 @@
+{
+ "feature": "tfg:venus/terrain/lakes",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 20
+ },
+ {
+ "type": "minecraft:count",
+ "count": 30
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE_WG"
+ },
+ {
+ "type": "minecraft:biome"
+ },
+ {
+ "type": "count",
+ "count": {
+ "type": "minecraft:uniform",
+ "value": {
+ "min_inclusive": 5,
+ "max_inclusive": 5
+ }
+ }
+ },
+ {
+ "type": "minecraft:random_offset",
+ "xz_spread": {
+ "type": "minecraft:uniform",
+ "value": {
+ "min_inclusive": -4,
+ "max_inclusive": 4
+ }
+ },
+ "y_spread": 0
+ },
+ {
+ "type": "environment_scan",
+ "direction_of_search": "down",
+ "max_steps": 6,
+ "target_condition": {
+ "type": "minecraft:all_of",
+ "predicates": [
+ {
+ "type": "minecraft:not",
+ "predicate": {
+ "type": "minecraft:any_of",
+ "predicates": [
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ -1,
+ 0,
+ 0
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 1,
+ 0,
+ 0
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 0,
+ 0,
+ -1
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 0,
+ 0,
+ 1
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ -1,
+ 0,
+ -1
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 1,
+ 0,
+ 1
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 1,
+ 0,
+ -1
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ -1,
+ 0,
+ 1
+ ],
+ "blocks": [
+ "tfc:rock/hardened/basalt",
+ "tfg:sand/fluorapatite/orange",
+ "tfg:rock/raw/geyserite",
+ "minecraft:air",
+ "minecraft:lava"
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 0,
+ 0,
+ 0
+ ],
+ "blocks": [
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert"
+ ]
+ },
+ {
+ "type": "minecraft:not",
+ "predicate": {
+ "type": "minecraft:any_of",
+ "predicates": [
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ -1,
+ 1,
+ 0
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 1,
+ 1,
+ 0
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 0,
+ 1,
+ -1
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 0,
+ 1,
+ 1
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ -1,
+ 1,
+ -1
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ -1,
+ 1,
+ 1
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 1,
+ 1,
+ -1
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ },
+ {
+ "type": "minecraft:matching_blocks",
+ "offset": [
+ 1,
+ 1,
+ 1
+ ],
+ "blocks": [
+ "tfc:rock/gravel/basalt",
+ "tfc:rock/hardened/basalt",
+ "tfg:rock/raw/geyserite",
+ "tfg:sand/fluorapatite/orange",
+
+ "tfg:sand/fluorapatite/green",
+ "tfg:sandstone/raw/fluorapatite/green",
+ "tfg:sand/fluorapatite/white",
+ "tfg:sandstone/raw/fluorapatite/white",
+ "tfg:sand/fluorapatite/blue",
+ "tfg:sandstone/raw/fluorapatite/blue",
+ "tfc:deposit/native_silver/chert",
+ "tfc:deposit/native_gold/chert",
+ "minecraft:lava"
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+}
diff --git a/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json
new file mode 100644
index 000000000..638c977d1
--- /dev/null
+++ b/kubejs/data/tfg/worldgen/placed_feature/venus/terrain/lava_delta.json
@@ -0,0 +1,35 @@
+{
+ "feature": "tfg:venus/terrain/lava_delta",
+ "placement": [
+ {
+ "type": "minecraft:count",
+ "count": 1
+ },
+ {
+ "type": "minecraft:rarity_filter",
+ "chance": 3
+ },
+ {
+ "type": "minecraft:height_range",
+ "height": {
+ "type": "minecraft:uniform",
+ "max_inclusive": {
+ "absolute": 200
+ },
+ "min_inclusive": {
+ "above_bottom": 54
+ }
+ }
+ },
+ {
+ "type": "minecraft:heightmap",
+ "heightmap": "WORLD_SURFACE"
+ },
+ {
+ "type": "minecraft:in_square"
+ },
+ {
+ "type": "minecraft:biome"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/kubejs/server_scripts/ad_astra/recipes.js b/kubejs/server_scripts/ad_astra/recipes.js
index 3cdc5c1af..a1d7d2d9c 100644
--- a/kubejs/server_scripts/ad_astra/recipes.js
+++ b/kubejs/server_scripts/ad_astra/recipes.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS_} event
+ */
const registerAdAstraRecipes = (event) => {
event.remove({ mod: 'ad_astra' })
@@ -96,10 +99,11 @@ const registerAdAstraRecipes = (event) => {
//#endregion
+
//region tier 2 rocket DISABLED UNTIL EV
event.remove({ mod: 'gtceu', input: 'gtceu:hot_rocket_alloy_t2_ingot' })
- /*
+/*
event.recipes.gtceu.mixer('tfg:rocket_alloy_t2')
.itemInputs('19x #forge:dusts/titanium', '3x #forge:small_dusts/chromium', '3x #forge:small_dusts/tin', '3x #forge:small_dusts/aluminium')
.inputFluids(Fluid.of('gtceu:vanadium', 540))
@@ -108,7 +112,7 @@ const registerAdAstraRecipes = (event) => {
.circuit(5)
.EUt(GTValues.VA[GTValues.EV])
- event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2_alloy')
+ event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/cool_rocket_alloy_t2')
.itemInputs('#forge:hot_ingots/rocket_alloy_t2')
.inputFluids(Fluid.of('gtceu:distilled_water', 500), Fluid.of('tfg:cryogenized_fluix', 288))
.itemOutputs('#forge:ingots/rocket_alloy_t2')
@@ -116,18 +120,21 @@ const registerAdAstraRecipes = (event) => {
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.assembler('tfg:rocket_fin_t2')
- .itemInputs('#forge:plates/rocket_alloy_t2', '#forge:double_plates/titanium')
+ .itemInputs('#forge:plates/rocket_alloy_t2',
+ '#forge:double_plates/titanium')
.itemOutputs('tfg:rocket_fin_t2')
.duration(180)
.circuit(3)
.EUt(GTValues.VA[GTValues.EV])
event.recipes.gtceu.assembler('tfg:rocket_cone_t2')
- .itemInputs('gtceu:ev_emitter', '#forge:dense_plates/rocket_alloy_t2', '#forge:double_plates/titanium', '#forge:double_plates/desh')
+ .itemInputs('gtceu:ev_emitter', '#forge:dense_plates/rocket_alloy_t2', '#forge:double_plates/titanium',
+ '#forge:double_plates/desh')
.itemOutputs('tfg:rocket_cone_t2')
.duration(1440)
.circuit(3)
.EUt(GTValues.VA[GTValues.EV])
+
event.recipes.gtceu.assembler('tfg:rocket_desh_engine')
.itemInputs(
@@ -156,12 +163,96 @@ const registerAdAstraRecipes = (event) => {
.duration(1440)
.circuit(3)
.EUt(GTValues.VA[GTValues.EV])
-
*/
//#endregion
-
- //#region space suits
+ //region Tier 3 DISABLED UNTIL IV
+ event.remove({ id: "gtceu:vacuum_freezer/cool_hot_rocket_alloy_t3_ingot" })
+ event.remove({ id: "gtceu:vacuum_freezer/rocket_alloy_t3" })
+ /*
+ event.recipes.gtceu.vacuum_freezer('tfg:cool_rocket_alloy_t3')
+ .inputFluids(Fluid.of('gtceu:molten_rocket_alloy_t3', 144), Fluid.of('gtceu:ice', 4000))
+ .notConsumable('gtceu:ingot_casting_mold')
+ .itemOutputs('#forge:ingots/rocket_alloy_t3')
+ .duration(800)
+ .EUt(GTValues.VA[GTValues.HV])
+ event.recipes.gtceu.vacuum_freezer('tfg:cool_hot_rocket_alloy_t3')
+ .itemInputs('#forge:hot_ingots/rocket_alloy_t3')
+ .inputFluids(Fluid.of('gtceu:liquid_helium', 500))
+ .itemOutputs('#forge:ingots/rocket_alloy_t3')
+ .outputFluids(Fluid.of('gtceu:helium', 250))
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ //Add some unique cooling thing for molten ingots
+
+ event.recipes.gtceu.assembler('tfg:rocket_fin_t3')
+ .itemInputs('#forge:plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel')
+ .itemOutputs('tfg:rocket_fin_t3')
+ .duration(220)
+ .circuit(4)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.assembler('tfg:rocket_cone_t3')
+ .itemInputs('gtceu:iv_emitter', '#forge:dense_plates/rocket_alloy_t3', '#forge:double_plates/tungsten_steel',
+ '#forge:double_plates/ostrum', 'gtceu:plutonium_nugget') //change this to the pellet
+ .itemOutputs('tfg:rocket_cone_t3')
+ .duration(1700)
+ .circuit(4)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.assembler('tfg:elite_power_thruster')
+ .itemInputs('gtceu:ev_electric_motor', '2x #forge:rings/titanium', '#forge:rods/titanium',
+ 'gtceu:ultimet_rotor', '2x gtceu:aluminium_single_cable')
+ .itemOutputs('tfg:elite_power_thruster')
+ .duration(200)
+ .EUt(GTValues.VA[GTValues.LV])
+
+ event.recipes.gtceu.assembler('tfg:rocket_ostrum_engine')
+ .itemInputs(
+ '6x #forge:double_plates/tungsten_steel',
+ '4x #gtceu:circuits/iv',
+ 'gtceu:iv_electric_pump',
+ '3x tfg:elite_power_thruster',
+ '4x #forge:insulation_t3/cryo',
+ '6x #forge:rods/magnetic_neodymium',
+ '#forge:rotors/tungsten_steel')
+ .inputFluids(Fluid.of('gtceu:ostrum', 144 * 16))
+ .itemOutputs('ad_astra:ostrum_engine')
+ .duration(960)
+ .circuit(4)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.assembler('tfg:rocket_ostrum_tank')
+ .itemInputs(
+ '4x #forge:double_plates/rocket_alloy_t3',
+ 'gtceu:iv_electric_pump',
+ 'tfg:elite_power_thruster',
+ '2x #forge:insulation_t3/cryo')
+ .inputFluids(Fluid.of('gtceu:ostrum', 144 * 4))
+ .itemOutputs('ad_astra:ostrum_tank')
+ .duration(400)
+ .circuit(4)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.assembler('ad_astra:tier_3_rocket')
+ .itemInputs(
+ '16x #forge:dense_plates/rocket_alloy_t3',
+ '4x tfg:rocket_fin_t3',
+ '1x ad_astra:ostrum_engine',
+ '2x ad_astra:ostrum_tank',
+ '1x tfg:rocket_cone_t3',
+ '8x #forge:insulation_t3/sheet'
+ )
+ .inputFluids(Fluid.of('gtceu:bromine', 1000 * 16))
+ .itemOutputs('ad_astra:tier_3_rocket')
+ .duration(1700)
+ .circuit(4)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ //#endregion
+*/
+ //#region space suits NETHERITE STUFF DISABLED UNTIL IV
event.recipes.gtceu.forming_press('space_suit_fabric')
.itemInputs(
@@ -173,7 +264,17 @@ const registerAdAstraRecipes = (event) => {
.itemOutputs('2x tfg:space_suit_fabric')
.duration(20 * 10)
.EUt(GTValues.VA[GTValues.HV])
-
+ /*
+ event.recipes.gtceu.forming_press('better_space_suit_fabric')
+ .itemInputs(
+ 'gtceu:carbon_fiber_mesh',
+ '#forge:aerogels',
+ 'tfc:wool'//replace with glacian wool
+ )
+ .itemOutputs('2x tfg:better_space_suit_fabric')
+ .duration(20 * 5)
+ .EUt(GTValues.VA[GTValues.IV])
+*/
event.shaped('ad_astra:space_helmet', [
'AAA',
'ADA',
@@ -183,18 +284,18 @@ const registerAdAstraRecipes = (event) => {
B: 'tfg:space_suit_fabric',
D: '#forge:small_fluid_pipes/polyethylene'
}).id('tfg:space_helmet')
-
- //event.recipes.gtceu.assembler('ad_astra:netherite_space_helmet')
- // .itemInputs(
- // 'ad_astra:space_helmet',
- // '3x #forge:plates/titanium_tungsten_carbide',
- // '3x #forge:plates/polyphenylene_sulfide',
- // '5x gtceu:laminated_glass'
- // )
- // .itemOutputs('ad_astra:netherite_space_helmet')
- // .duration(400)
- // .EUt(GTValues.VA[GTValues.IV])
-
+/*
+ event.recipes.gtceu.assembler('ad_astra:netherite_space_helmet')
+ .itemInputs(
+ 'ad_astra:space_helmet',
+ '3x #forge:plates/tungsten_steel',
+ '3x tfg:better_space_suit_fabric',
+ '5x gtceu:laminated_glass'
+ )
+ .itemOutputs('ad_astra:netherite_space_helmet')
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.IV])
+*/
event.shaped('ad_astra:space_suit', [
'B B',
'BDB',
@@ -203,13 +304,13 @@ const registerAdAstraRecipes = (event) => {
B: 'tfg:space_suit_fabric',
D: 'ad_astra:oxygen_gear'
}).id('tfg:space_suit')
-
- //event.recipes.gtceu.assembler('ad_astra:netherite_space_suit')
- // .itemInputs('ad_astra:space_suit', '4x #forge:plates/titanium_tungsten_carbide', '4x #forge:plates/polyphenylene_sulfide')
- // .itemOutputs('ad_astra:netherite_space_suit')
- // .duration(400)
- // .EUt(GTValues.VA[GTValues.IV])
-
+/*
+ event.recipes.gtceu.assembler('ad_astra:netherite_space_suit')
+ .itemInputs('ad_astra:space_suit', '5x #forge:plates/tungsten_steel','5x tfg:better_space_suit_fabric')
+ .itemOutputs('ad_astra:netherite_space_suit')
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.IV])
+*/
event.shaped('ad_astra:space_pants', [
'BAB',
'B B',
@@ -218,13 +319,13 @@ const registerAdAstraRecipes = (event) => {
A: 'gtceu:hv_electric_motor',
B: 'tfg:space_suit_fabric',
}).id('tfg:space_pants')
-
- //event.recipes.gtceu.assembler('ad_astra:netherite_space_pants')
- // .itemInputs('ad_astra:space_pants', '4x #forge:plates/titanium_tungsten_carbide', '4x #forge:plates/polyphenylene_sulfide')
- // .itemOutputs('ad_astra:netherite_space_pants')
- // .duration(400)
- // .EUt(GTValues.VA[GTValues.IV])
-
+/*
+ event.recipes.gtceu.assembler('ad_astra:netherite_space_pants')
+ .itemInputs('ad_astra:space_pants', '4x #forge:plates/tungsten_steel', '4x tfg:better_space_suit_fabric')
+ .itemOutputs('ad_astra:netherite_space_pants')
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.IV])
+*/
event.shaped('ad_astra:space_boots', [
'B B',
'A A'
@@ -232,13 +333,13 @@ const registerAdAstraRecipes = (event) => {
A: '#forge:plates/polyphenylene_sulfide',
B: 'tfg:space_suit_fabric'
}).id('tfg:space_boots')
-
- //event.recipes.gtceu.assembler('ad_astra:netherite_space_boots')
- // .itemInputs('ad_astra:space_boots', '2x #forge:plates/titanium_tungsten_carbide', '2x #forge:plates/polyphenylene_sulfide')
- // .itemOutputs('ad_astra:netherite_space_boots')
- // .duration(400)
- // .EUt(GTValues.VA[GTValues.IV])
-
+/*
+ event.recipes.gtceu.assembler('ad_astra:netherite_space_boots')
+ .itemInputs('ad_astra:space_boots', '2x #forge:plates/tungsten_steel', '2x tfg:better_space_suit_fabric')
+ .itemOutputs('ad_astra:netherite_space_boots')
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.IV])
+*/
event.shaped('ad_astra:oxygen_gear', [
'BAB',
@@ -296,7 +397,7 @@ const registerAdAstraRecipes = (event) => {
'ADA'
], {
A: '#forge:rods/magnetic_neodymium',
- B: 'gtceu:ev_field_generator',
+ B: 'gtceu:mv_field_generator',
C: '#forge:plates/titanium',
D: 'gtceu:ev_polarizer',
}).id('tfg:gravity_normalizer')
@@ -315,25 +416,25 @@ const registerAdAstraRecipes = (event) => {
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_silicon')
.itemInputs('gtceu:silicon_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
- .itemOutputs('ad_astra:photovoltaic_etrium_cell')
+ .itemOutputs('tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_phosphorous')
.itemInputs('gtceu:phosphorus_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
- .itemOutputs('2x ad_astra:photovoltaic_etrium_cell')
+ .itemOutputs('2x tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_naquadah')
.itemInputs('gtceu:naquadah_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
- .itemOutputs('4x ad_astra:photovoltaic_etrium_cell')
+ .itemOutputs('4x tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
event.recipes.gtceu.laser_engraver('ad_astra:photovoltaic_etrium_cell_neutronium')
.itemInputs('gtceu:neutronium_wafer', '#forge:glass_panes', 'gtceu:carbon_fiber_plate')
- .itemOutputs('8x ad_astra:photovoltaic_etrium_cell')
+ .itemOutputs('8x tfg:photo_cell_t1')
.EUt(GTValues.VA[GTValues.MV])
.duration(100)
@@ -342,7 +443,7 @@ const registerAdAstraRecipes = (event) => {
' C ',
'BFE'
], {
- A: 'ad_astra:photovoltaic_etrium_cell',
+ A: 'tfg:photo_cell_t1',
B: '#gtceu:batteries/mv',
C: '#forge:rods/long/aluminium',
E: '#gtceu:circuits/mv',
@@ -413,7 +514,7 @@ const registerAdAstraRecipes = (event) => {
.category(GTRecipeCategories.CHEM_DYES)
global.MINECRAFT_DYE_NAMES.forEach(color => {
- if (color != "white") {
+ if (color !== "white") {
event.recipes.gtceu.chemical_bath(`tfg:ad_astra_${color}_flag`)
.itemInputs('ad_astra:white_flag')
.inputFluids(Fluid.of(`tfc:${color}_dye`, 36))
@@ -760,6 +861,18 @@ const registerAdAstraRecipes = (event) => {
structure: "tfg:orbit/space_station"
})
+ event.custom({
+ type: "ad_astra:space_station_recipe",
+ dimension: "ad_astra:mars_orbit",
+ ingredients: [
+ { count: 43, ingredient: { item: "gtceu:aluminium_frame" }},
+ { count: 24, ingredient: { item: "gtceu:glass_plate" }},
+ { count: 4, ingredient: { item: "minecraft:glowstone_dust" }},
+ { count: 1, ingredient: { item: "ad_astra:launch_pad" }}
+ ],
+ structure: "tfg:orbit/space_station"
+ })
+
//#endregion
//#region Wood
@@ -793,8 +906,14 @@ const registerAdAstraRecipes = (event) => {
B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1),
}).id('tfg:shaped/strophar_ladder')
- generateGreenHouseRecipe(event, '8x ad_astra:glacian_fur', 16000, '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:moon', 8, '8x ad_astra:glacian_leaves', GTValues.VA[GTValues.MV])
- generateGreenHouseRecipe(event, '8x ad_astra:strophar_mushroom', 16000, '64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:moon', 8, '16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV])
- generateGreenHouseRecipe(event, '8x ad_astra:aeronos_mushroom', 16000, '64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:moon', 8, '16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV])
+
+ generateGreenHouseRecipe(event, '8x ad_astra:strophar_mushroom', 'tfg:semiheavy_ammoniacal_water', 16000,
+ '64x ad_astra:strophar_stem', 'tfg:green_house/strophar_mushroom', 'ad_astra:mars', 8,
+ '16x ad_astra:strophar_cap', GTValues.VA[GTValues.MV])
+ generateGreenHouseRecipe(event, '8x ad_astra:aeronos_mushroom', 'tfg:semiheavy_ammoniacal_water', 16000,
+ '64x ad_astra:aeronos_stem', 'tfg:green_house/aeronos_mushroom', 'ad_astra:mars', 8,
+ '16x ad_astra:aeronos_cap', GTValues.VA[GTValues.MV])
+ // TODO: needs a sapling
+ //generateGreenHouseRecipe(event, '8x ___', 16000, '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8, '8x species:alphacene_moss_block', GTValues.VA[GTValues.MV])
//#endregion
}
diff --git a/kubejs/server_scripts/ad_astra/tags.js b/kubejs/server_scripts/ad_astra/tags.js
index 39889a138..053e8fa39 100644
--- a/kubejs/server_scripts/ad_astra/tags.js
+++ b/kubejs/server_scripts/ad_astra/tags.js
@@ -11,6 +11,7 @@ const registerAdAstraFluidTags = (event) => {
// Using this to represent 'breathable air' instead of oxygen
event.removeAllTagsFrom('ad_astra:oxygen')
+
event.removeAll('ad_astra:fuel')
event.removeAll('ad_astra:efficient_fuel')
@@ -45,6 +46,8 @@ const registerAdAstraItemTags = (event) => {
event.add('c:hidden_from_recipe_viewers', item)
})
+
+
event.add('forge:cobblestone', 'ad_astra:moon_cobblestone')
event.add('forge:cobblestone', 'ad_astra:mars_cobblestone')
event.add('forge:cobblestone', 'ad_astra:venus_cobblestone')
@@ -58,10 +61,21 @@ const registerAdAstraItemTags = (event) => {
//Insulation Tier 2
event.add('forge:insulation_t2/sheet', 'tfg:aes_insulation_sheet')
event.add('forge:insulation_t2/roll', 'tfg:aes_insulation_roll')
+
+ //Insulation Tier3
+ event.add('forge:insulation_t3/foam', 'tfg:aes_polyurethane')
+ event.add('forge:insulation_t3/sheet', 'tfg:mli_shielding')
+ event.add('forge:insulation_t3/cryo', 'tfg:silica_aerogel')
+
+ event.add('forge:aerogels', 'tfg:silica_aerogel')
//Rocket Engines
event.add('ad_astra:rocket_engine', 'ad_astra:steel_engine')
event.add('ad_astra:rocket_engine', 'ad_astra:desh_engine')
+ event.add('ad_astra:rocket_engine', 'ad_astra:ostrum_engine')
+
+ //Rocket Tank
+ event.add('ad_astra:rocket_tank', 'ad_astra:ostrum_tank')
// Deco blocks
const DECO_BLOCKS = [ 'iron', 'steel', 'desh', 'calorite', 'ostrum' ];
@@ -92,6 +106,9 @@ const registerAdAstraItemTags = (event) => {
event.add('ad_astra:space_suit_items', 'gtceu:quarktech_boots')
event.remove('minecraft:wool', 'ad_astra:glacian_fur')
+
+ event.add('tfc:compost_greens', 'ad_astra:aeronos_cap')
+ event.add('tfc:compost_greens', 'ad_astra:strophar_cap')
global.AD_ASTRA_WOOD.forEach(wood => {
@@ -105,7 +122,7 @@ const registerAdAstraItemTags = (event) => {
event.add('minecraft:logs_that_burn', wood.stripped_log)
}
- if (wood.isHardwood == true) {
+ if (wood.isHardwood === true) {
event.add('tfg:hardwood', wood.logs)
} else {
event.add('tfg:softwood', wood.logs)
@@ -211,12 +228,17 @@ const registerAdAstraBlockTags = (event) => {
event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_red_granite')
event.add('ad_astra:mars_stone_replaceables', 'minecraft:dripstone_block')
event.add('ad_astra:mars_stone_replaceables', 'tfg:rock/hardened_dripstone')
- event.add('ad_astra:mars_stone_replaceables', 'minecraft:red_sand')
- event.add('ad_astra:mars_stone_replaceables', 'ad_astra:mars_sand')
- event.add('ad_astra:mars_stone_replaceables', 'ad_astra:venus_sand')
- event.add('ad_astra:mars_stone_replaceables', 'tfc:sand/black')
- event.add('ad_astra:mars_stone_replaceables', 'tfc:sand/red')
- event.add('ad_astra:mars_stone_replaceables', 'tfc:sand/pink')
+ event.add('tfg:mars_soil', 'minecraft:red_sand')
+ event.add('tfg:mars_soil', 'ad_astra:mars_sand')
+ event.add('tfg:mars_soil', 'ad_astra:venus_sand')
+ event.add('tfg:mars_soil', 'tfc:sand/black')
+ event.add('tfg:mars_soil', 'tfc:sand/red')
+ event.add('tfg:mars_soil', 'tfc:sand/pink')
+ event.add('tfg:mars_soil', 'tfg:grass/mars_dirt')
+ event.add('tfg:mars_soil', 'tfg:grass/rusticus_mycelium')
+ event.add('tfg:mars_soil', 'tfg:grass/amber_mycelium')
+ event.add('tfg:mars_soil', 'tfg:grass/sangnum_mycelium')
+ event.add('ad_astra:mars_stone_replaceables', '#tfg:mars_soil')
event.add('tfc:can_carve', '#ad_astra:moon_stone_replaceables')
event.add('tfc:can_carve', '#ad_astra:mars_stone_replaceables')
@@ -266,7 +288,11 @@ const registerAdAstraBlockTags = (event) => {
event.add('tfg:rock_slabs', 'ad_astra:mercury_stone_slab')
event.add('tfg:rock_slabs', 'ad_astra:glacio_stone_slab')
+ event.add('ad_astra:destroyed_in_space', '#tfc:wild_fruits')
event.add('ad_astra:destroyed_in_space', '#minecraft:saplings')
+
+ event.remove('ad_astra:strophar_caps', 'ad_astra:strophar_cap')
+ event.remove('ad_astra:aeronos_caps', 'ad_astra:aeronos_cap')
}
const registerAdAstraBiomeTags = (event) => {
@@ -288,8 +314,8 @@ const registerAdAstraBiomeTags = (event) => {
const registerAdAstraEntityTypeTags = (event) => {
- // moon
- const MOON_ENTITIES = [
+ const COLD_ENTITIES = [
+ // moon
'tfc:rat',
'tfg:moon_rabbit',
'minecraft:enderman',
@@ -304,16 +330,26 @@ const registerAdAstraEntityTypeTags = (event) => {
'endermanoverhaul:spirit',
'endermanoverhaul:end_enderman',
'endermanoverhaul:end_islands_enderman',
+
+ 'minecraft:sniffer',
+ 'species:wraptor',
+ 'species:goober',
+ 'species:cruncher',
+ 'species:springling',
+ 'species:quake',
+ 'endermanoverhaul:crimson_forest_enderman',
+ 'endermanoverhaul:warped_forest_enderman',
+ 'endermanoverhaul:badlands_enderman'
]
- MOON_ENTITIES.forEach(entity => {
+ COLD_ENTITIES.forEach(entity => {
event.add('ad_astra:can_survive_extreme_cold', entity)
event.add('ad_astra:lives_without_oxygen', entity)
})
event.add('tfc:deals_crushing_damage', 'minecraft:enderman')
- event.add('tfc:deals_crushing_damage', 'minecraft:skeleton')
+ event.add('tfc:deals_crushing_damage', 'minecraft:stray')
event.add('tfc:deals_crushing_damage', 'endermanoverhaul:windswept_hills_enderman')
event.add('tfc:deals_crushing_damage', 'endermanoverhaul:soulsand_valley_enderman')
event.add('tfc:deals_piercing_damage', 'endermanoverhaul:end_enderman')
@@ -328,6 +364,7 @@ const registerAdAstraEntityTypeTags = (event) => {
const registerAdAstraPlacedFeatures = (event) => {
+ // Moon
event.add('tfg:moon_craters', 'tfg:moon/crater/extra_large')
event.add('tfg:moon_craters', 'tfg:moon/crater/large')
event.add('tfg:moon_craters', 'tfg:moon/crater/medium')
@@ -345,10 +382,69 @@ const registerAdAstraPlacedFeatures = (event) => {
event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_white_sand')
event.add('tfg:moon_small_rock_features', 'tfg:moon/surface/pile_black_sand')
+ // Mars
+
+ event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/amber_grass")
+ event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/flamaea")
+ event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/flammalix")
+ event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/lutebus")
+ event.add("tfg:mars_amber_small_plants", "tfg:mars/surface/orango")
+
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/aeridium")
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/flamaea")
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/flammalix")
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/lamellarium")
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/lutebus")
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/orango")
+ event.add("tfg:mars_rusticus_small_plants", "tfg:mars/surface/ruscus")
+
+ event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/cave_grass")
+ event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/clawfern")
+ event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/flamaea")
+ event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/globulagus")
+ event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/lamellarium")
+ event.add("tfg:mars_sangnum_small_plants", "tfg:mars/surface/ruscus")
+
+ event.add("tfg:mars_global_small_plants", "tfg:mars/surface/small_amaranita_mushroom")
+ //event.add("tfg:mars_global_small_plants", "tfg:mars/surface/bolux_mushroom")
+
+ // TODO
+ event.add("tfg:mars_trees", "tfg:mars/surface/strophar_huge")
+ event.add("tfg:mars_trees", "tfg:mars/surface/aeronos_huge")
+ event.add("tfg:mars_trees", "species:alphacene_mushroom")
+ event.add("tfg:mars_global_small_plants", "tfg:mars/surface/aeronos_patch")
+ event.add("tfg:mars_global_small_plants", "tfg:mars/surface/strophar_patch")
+ // Temp
+ event.add('tfg:mars_small_rock_features', 'tfg:mars/no_op')
+ event.add('tfg:mars_veins', 'tfg:mars/no_op')
+
+
+ event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_trees")
+ event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_amber_small_plants")
+ event.add("tfg:mars_amber_vegetal_decoration", "#tfg:mars_global_small_plants")
+
+ event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_trees")
+ event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_rusticus_small_plants")
+ event.add("tfg:mars_rusticus_vegetal_decoration", "#tfg:mars_global_small_plants")
+
+ event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_trees")
+ event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_sangnum_small_plants")
+ event.add("tfg:mars_sangnum_vegetal_decoration", "#tfg:mars_global_small_plants")
+
+
+ // Venus
event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/geyser_source_patch')
event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/stromatolite_cluster_patch')
event.add('tfg:venus_delta_surface_features', 'tfg:venus/surface/stromatolite_tower')
event.add('tfg:venus_delta_terrain_features', 'tfg:venus/terrain/hot_spring_delta')
+ event.add('tfg:venus_delta_terrain_features', 'tfg:venus/terrain/lava_delta')
event.add('tfg:venus_delta_terrain_features', 'tfg:venus/terrain/stromatolite_disk')
+
+ event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lakes')
+ event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_basalt_gravel')
+ event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_basalt_stone')
+ event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_geyserite')
+ event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_orange_sand')
+ event.add('tfg:venus_fractured_lands_terrain_features', 'tfg:venus/terrain/lake_yellow_sand')
}
diff --git a/kubejs/server_scripts/advancedperipherals/recipes.js b/kubejs/server_scripts/advancedperipherals/recipes.js
index 10053f5ae..52d6f9412 100644
--- a/kubejs/server_scripts/advancedperipherals/recipes.js
+++ b/kubejs/server_scripts/advancedperipherals/recipes.js
@@ -80,14 +80,6 @@ const registerAdvancedPeripheralsRecipes = (event) => {
.duration(1200)
.EUt(GTValues.VA[GTValues.HV])
- //Chunk Controller
- event.recipes.gtceu.assembler('advancedperipherals:assembler/chunk_controller')
- .itemInputs('1x gtceu:hv_field_generator', '4x gtceu:hv_emitter', '4x gtceu:hv_sensor', '64x gtceu:ram_chip', '1x #forge:exquisite_gems/red_garnet', ChemicalHelper.get(TagPrefix.plate, GTMaterials.StainlessSteel, 4))
- .circuit(4)
- .itemOutputs('advancedperipherals:chunk_controller')
- .duration(1200)
- .EUt(GTValues.VA[GTValues.HV])
-
//End Automata Core
event.recipes.gtceu.assembler('advancedperipherals:assembler/end_automata_core')
.itemInputs('1x computercraft:wired_modem', '1x #forge:lenses/nether_star', '4x gtceu:quantum_eye', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '1x gtceu:luv_robot_arm')
@@ -112,14 +104,6 @@ const registerAdvancedPeripheralsRecipes = (event) => {
.duration(2400)
.EUt(GTValues.VA[GTValues.HV])
- //Overpowered End Automata Core
- event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_end_automata_core')
- .itemInputs('advancedperipherals:end_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.Osmiridium, 4), '8x #gtceu:circuits/zpm')
- .circuit(4)
- .itemOutputs('advancedperipherals:overpowered_end_automata_core')
- .duration(2400)
- .EUt(GTValues.VA[GTValues.ZPM])
-
//Overpowered Husbandry Automata Core
event.recipes.gtceu.assembler('advancedperipherals:assembler/overpowered_husbandry_automata_core')
.itemInputs('advancedperipherals:husbandry_automata_core', ChemicalHelper.get(TagPrefix.gear, GTMaterials.HSSS, 4), '6x #gtceu:circuits/iv')
diff --git a/kubejs/server_scripts/advancedperipherals/recipes.recycling.js b/kubejs/server_scripts/advancedperipherals/recipes.recycling.js
index 347860e2e..f89581acd 100644
--- a/kubejs/server_scripts/advancedperipherals/recipes.recycling.js
+++ b/kubejs/server_scripts/advancedperipherals/recipes.recycling.js
@@ -10,7 +10,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 12),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 5),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Emerald, 2)
- )
+ )
.duration(GTMaterials.Aluminium.getMass() * 12)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -21,7 +21,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 12),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 5),
ChemicalHelper.get(TagPrefix.gemFlawless, GTMaterials.Emerald, 2)
- )
+ )
.duration(GTMaterials.Aluminium.getMass() * 12)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -34,7 +34,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 19),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3)
- )
+ )
.duration(GTMaterials.Electrum.getMass() * 24)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -46,7 +46,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 19),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3)
- )
+ )
.duration(GTMaterials.Electrum.getMass() * 24)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -59,7 +59,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.CertusQuartz, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 2)
- )
+ )
.duration(GTMaterials.Aluminium.getMass() * 19)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -71,7 +71,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.gem, GTMaterials.CertusQuartz, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 2)
- )
+ )
.duration(GTMaterials.Aluminium.getMass() * 19)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -82,7 +82,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 2)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 8)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -92,7 +92,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 2)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 8)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -104,8 +104,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Cupronickel, 24),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 14),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Copper, 11),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8),
- )
+ ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 8))
.duration(GTMaterials.Cupronickel.getMass() * 24)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -116,8 +115,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Cupronickel, 24),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 14),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Copper, 11),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8),
- )
+ ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 8))
.duration(GTMaterials.Cupronickel.getMass() * 24)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -129,7 +127,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedAlloy, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Brass, 5),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 4)
- )
+ )
.duration(GTMaterials.RedAlloy.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -140,7 +138,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedAlloy, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Brass, 5),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 4)
- )
+ )
.duration(GTMaterials.RedAlloy.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -153,7 +151,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Aluminium, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 1)
- )
+ )
.duration(GTMaterials.Steel.getMass() * 6)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -165,7 +163,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Aluminium, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 1)
- )
+ )
.duration(GTMaterials.Steel.getMass() * 6)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -177,7 +175,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BatteryAlloy, 4),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 3)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -188,7 +186,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BatteryAlloy, 4),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 3)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -200,7 +198,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 10),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Titanium, 1),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 1)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 10)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -211,43 +209,18 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 10),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Titanium, 1),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 1)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 10)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
- // Chunk Controller
- event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/chunk_controller')
- .itemInputs('advancedperipherals:chunk_controller')
- .itemOutputs(
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 11),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.Chromium, 10),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.MercuryBariumCalciumCuprate, 4),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 2)
- )
- .duration(GTMaterials.StainlessSteel.getMass() * 11)
- .category(GTRecipeCategories.MACERATOR_RECYCLING)
- .EUt(GTValues.VA[GTValues.ULV])
-
- event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/chunk_controller')
- .itemInputs('advancedperipherals:chunk_controller')
- .itemOutputs(
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 11),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Chromium, 10),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.MercuryBariumCalciumCuprate, 4),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 2)
- )
- .duration(GTMaterials.StainlessSteel.getMass() * 11)
- .category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
- .EUt(GTValues.VA[GTValues.LV])
-
// Memory Card
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/memory_card')
.itemInputs('advancedperipherals:memory_card')
.itemOutputs(
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Gold, 1)
- )
+ )
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -257,7 +230,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
.itemOutputs(
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Gold, 1)
- )
+ )
.duration(GTMaterials.Steel.getMass() * 2)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -270,7 +243,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Samarium, 2)
- )
+ )
.duration(GTMaterials.HSSS.getMass() * 37)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -282,7 +255,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Samarium, 2)
- )
+ )
.duration(GTMaterials.HSSS.getMass() * 37)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -295,7 +268,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Electrum, 6),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -307,7 +280,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Electrum, 6),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -320,7 +293,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 3)
- )
+ )
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -332,36 +305,11 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 3)
- )
+ )
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
- // Overpowered End Automata Core
- event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_end_automata_core')
- .itemInputs('advancedperipherals:overpowered_end_automata_core')
- .itemOutputs(
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 37),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.Ruridit, 12),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.Osmiridium, 8),
- ChemicalHelper.get(TagPrefix.dust, GTMaterials.NiobiumTitanium, 3)
- )
- .duration(GTMaterials.HSSS.getMass() * 37)
- .category(GTRecipeCategories.MACERATOR_RECYCLING)
- .EUt(GTValues.VA[GTValues.ULV])
-
- event.recipes.gtceu.arc_furnace('advancedperipherals:arc_furnace/recycling/overpowered_end_automata_core')
- .itemInputs('advancedperipherals:overpowered_end_automata_core')
- .itemOutputs(
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 37),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Ruridit, 12),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Osmiridium, 8),
- ChemicalHelper.get(TagPrefix.ingot, GTMaterials.NiobiumTitanium, 3)
- )
- .duration(GTMaterials.HSSS.getMass() * 37)
- .category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
- .EUt(GTValues.VA[GTValues.LV])
-
// Overpowered Husbandry Automata Core
event.recipes.gtceu.macerator('advancedperipherals:macerator/recycling/overpowered_husbandry_automata_core')
.itemInputs('advancedperipherals:overpowered_husbandry_automata_core')
@@ -370,7 +318,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.HSSS, 8),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.RedSteel, 2)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -382,7 +330,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.BlueSteel, 2),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.RedSteel, 2)
- )
+ )
.duration(GTMaterials.StainlessSteel.getMass() * 11)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
@@ -395,7 +343,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.dust, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.dust, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8)
- )
+ )
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.MACERATOR_RECYCLING)
.EUt(GTValues.VA[GTValues.ULV])
@@ -407,7 +355,7 @@ function registerAdvancedPeripheralsRecyclingRecipes(event) {
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.StainlessSteel, 16),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Silver, 11),
ChemicalHelper.get(TagPrefix.ingot, GTMaterials.HSSS, 8)
- )
+ )
.duration(GTMaterials.Electrum.getMass() * 22)
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
diff --git a/kubejs/server_scripts/ae2/recipes.js b/kubejs/server_scripts/ae2/recipes.js
index c112b5fb9..7198628da 100644
--- a/kubejs/server_scripts/ae2/recipes.js
+++ b/kubejs/server_scripts/ae2/recipes.js
@@ -523,7 +523,7 @@ const registerAE2Recipes = (event) => {
'2x #forge:rods/steel',
'ae2:engineering_processor',
'2x #forge:plates/steel',
- '#tfc:workbenches',)
+ '#tfc:workbenches')
.itemOutputs('ae2:crafting_terminal')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
@@ -1018,7 +1018,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
'4x #gtceu:circuits/ev',
'4x #forge:plates/titanium',
'32x #forge:dusts/certus_quartz',
- 'ae2:calculation_processor',)
+ 'ae2:calculation_processor')
.inputFluids(Fluid.of('tfg:fluix', 144))
.itemOutputs('ae2:spatial_cell_component_2')
.duration(200)
@@ -1030,7 +1030,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
'4x #gtceu:circuits/iv',
'4x #forge:plates/tungsten_steel',
'32x #forge:dusts/certus_quartz',
- 'ae2:calculation_processor',)
+ 'ae2:calculation_processor')
.inputFluids(Fluid.of('tfg:fluix', 144))
.itemOutputs('ae2:spatial_cell_component_16')
.duration(200)
@@ -1089,7 +1089,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.itemInputs(
'2x ae2:formation_core',
'2x ae2:annihilation_core',
- 'ae2:storage_monitor',)
+ 'ae2:storage_monitor')
.inputFluids(Fluid.of('gtceu:polyethylene', 144))
.itemOutputs('ae2:conversion_monitor')
.duration(200)
@@ -1705,8 +1705,8 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.EUt(480)
// Cable Colorization
- for (var i = 0; i < 16; i++) {
- event.recipes.gtceu.chemical_bath(global.AE2_GLASS_CABLES[i] + '_dye')
+ for (let i = 0; i < 16; i++) {
+ event.recipes.gtceu.chemical_bath(`${global.AE2_GLASS_CABLES[i] }_dye`)
.itemInputs('ae2:fluix_glass_cable')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
.itemOutputs(global.AE2_GLASS_CABLES[i])
@@ -1714,7 +1714,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
- event.recipes.gtceu.chemical_bath(global.AE2_COVERED_CABLES[i] + '_dye')
+ event.recipes.gtceu.chemical_bath(`${global.AE2_COVERED_CABLES[i] }_dye`)
.itemInputs('ae2:fluix_covered_cable')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
.itemOutputs(global.AE2_COVERED_CABLES[i])
@@ -1722,7 +1722,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
- event.recipes.gtceu.chemical_bath(global.AE2_COVERED_DENSE_CABLES[i] + '_dye')
+ event.recipes.gtceu.chemical_bath(`${global.AE2_COVERED_DENSE_CABLES[i] }_dye`)
.itemInputs('ae2:fluix_covered_dense_cable')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
.itemOutputs(global.AE2_COVERED_DENSE_CABLES[i])
@@ -1730,7 +1730,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
- event.recipes.gtceu.chemical_bath(global.AE2_SMART_CABLES[i] + '_dye')
+ event.recipes.gtceu.chemical_bath(`${global.AE2_SMART_CABLES[i] }_dye`)
.itemInputs('ae2:fluix_smart_cable')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
.itemOutputs(global.AE2_SMART_CABLES[i])
@@ -1738,7 +1738,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
- event.recipes.gtceu.chemical_bath(global.AE2_SMART_DENSE_CABLES[i] + '_dye')
+ event.recipes.gtceu.chemical_bath(`${global.AE2_SMART_DENSE_CABLES[i] }_dye`)
.itemInputs('ae2:fluix_smart_dense_cable')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72))
.itemOutputs(global.AE2_SMART_DENSE_CABLES[i])
@@ -1747,7 +1747,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.category(GTRecipeCategories.CHEM_DYES)
// Paint Balls
- event.recipes.gtceu.chemical_bath(global.AE2_PAINTBALLS[i] + '_dye')
+ event.recipes.gtceu.chemical_bath(`${global.AE2_PAINTBALLS[i] }_dye`)
.itemInputs('ae2:matter_ball')
.inputFluids(Fluid.of(`tfc:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 36))
.itemOutputs(global.AE2_PAINTBALLS[i])
@@ -1756,7 +1756,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
.category(GTRecipeCategories.CHEM_DYES)
// Lumen Paint Ball
- event.recipes.gtceu.chemical_bath(global.AE2_LUMEN_PAINTBALLS[i] + '_gtceu_dye')
+ event.recipes.gtceu.chemical_bath(`${global.AE2_LUMEN_PAINTBALLS[i] }_gtceu_dye`)
.itemInputs(global.AE2_PAINTBALLS[i])
.inputFluids(Fluid.of('gtceu:glowstone', 125))
.itemOutputs(global.AE2_LUMEN_PAINTBALLS[i])
@@ -2149,7 +2149,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
'16x gtceu:iv_emitter',
'8x ae2:engineering_processor',
'14x gtceu:iv_sensor',
- 'ae2:logic_processor',)
+ 'ae2:logic_processor')
.inputFluids(Fluid.of('gtceu:titanium', 1440))
.itemOutputs('ae2:quantum_ring')
.duration(900)
@@ -2185,7 +2185,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
'#tfg:reactant_fluix_ruby',
'#tfg:reactant_fluix_quartz',
'4x ae2:charged_certus_quartz_crystal')
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 150")
.itemOutputs('5x ae2:fluix_crystal')
.duration(120)
.EUt(256)
@@ -2195,7 +2195,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
'#tfg:reactant_fluix_ruby_exquisite',
'#tfg:reactant_fluix_quartz',
'4x ae2:charged_certus_quartz_crystal')
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 150")
.itemOutputs('20x ae2:fluix_crystal')
.duration(80)
.EUt(256)
@@ -2205,7 +2205,7 @@ global.MINECRAFT_DYE_NAMES.forEach(dye => {
'#tfg:reactant_fluix_ruby',
'#tfg:reactant_fluix_quartz_exquisite',
'4x ae2:charged_certus_quartz_crystal')
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 150")
.itemOutputs('20x ae2:fluix_crystal')
.duration(80)
.EUt(256)
diff --git a/kubejs/server_scripts/ae2wtlib/recipes.js b/kubejs/server_scripts/ae2wtlib/recipes.js
index 3375a2851..1d3582d7c 100644
--- a/kubejs/server_scripts/ae2wtlib/recipes.js
+++ b/kubejs/server_scripts/ae2wtlib/recipes.js
@@ -56,7 +56,7 @@ const registerAE2WTLibRecipes = (event) => {
'gtceu:quantum_star',
'2x gtceu:zpm_sensor',
'4x ae2:wireless_booster',
- '#gtceu:circuits/uv',)
+ '#gtceu:circuits/uv')
.inputFluids(
Fluid.of('gtceu:tritanium', 2304),
Fluid.of('gtceu:titanium', 2160),
diff --git a/kubejs/server_scripts/afc/data.js b/kubejs/server_scripts/afc/data.js
index 56962ff7c..85bb92138 100644
--- a/kubejs/server_scripts/afc/data.js
+++ b/kubejs/server_scripts/afc/data.js
@@ -4,7 +4,6 @@
*
* @param {Internal.TFCDataEventJS} event
*/
-const registerTFCDataForArborFirmaCraft = (event) =>
-{
+const registerTFCDataForArborFirmaCraft = (event) => {
event.itemHeat('afc:tree_tap', 0.2345, null, null)
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/alekiships/tags.js b/kubejs/server_scripts/alekiships/tags.js
index d7f4998a7..bbc6db3e6 100644
--- a/kubejs/server_scripts/alekiships/tags.js
+++ b/kubejs/server_scripts/alekiships/tags.js
@@ -4,8 +4,7 @@
*
* @param {TagEvent.Item} event
*/
-const registerAlekishipsItemTags = (event) =>
-{
+const registerAlekishipsItemTags = (event) => {
global.ALEKISHIPS_DISABLED_ITEMS.forEach(element => {
event.removeAllTagsFrom(element);
event.add("c:hidden_from_recipe_viewers", element)
diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js
index b2a68663c..cbe2c6a8f 100644
--- a/kubejs/server_scripts/beneath/recipes.js
+++ b/kubejs/server_scripts/beneath/recipes.js
@@ -20,6 +20,20 @@ const registerBeneathRecipes = (event) => {
event.remove({ id: 'beneath:crafting/hellbricks' })
event.remove({ id: 'beneath:crafting/nether_brick' })
event.remove({ id: 'beneath:quern/slime' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_planks' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_slab' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_button' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_pressure_plate' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_lumber_log' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_lumber_planks' })
+ event.remove({ id: 'beneath:crafting/wood/crimson_slab_undo' })
+ event.remove({ id: 'beneath:crafting/wood/warped_planks' })
+ event.remove({ id: 'beneath:crafting/wood/warped_slab' })
+ event.remove({ id: 'beneath:crafting/wood/warped_button' })
+ event.remove({ id: 'beneath:crafting/wood/warped_pressure_plate' })
+ event.remove({ id: 'beneath:crafting/wood/warped_lumber_log' })
+ event.remove({ id: 'beneath:crafting/wood/warped_lumber_planks' })
+ event.remove({ id: 'beneath:crafting/wood/warped_slab_undo' })
event.shaped('beneath:unposter', [
'ABA',
@@ -53,4 +67,71 @@ const registerBeneathRecipes = (event) => {
.EUt(8)
event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay')
+
+ generateGreenHouseRecipe(event, '8x minecraft:warped_fungus', 'tfg:semiheavy_ammoniacal_water', 16000,
+ '64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8,
+ '16x minecraft:warped_wart_block', GTValues.VA[GTValues.MV])
+ generateGreenHouseRecipe(event, '8x minecraft:crimson_fungus', 'tfg:semiheavy_ammoniacal_water', 16000,
+ '64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8,
+ '16x minecraft:nether_wart_block', GTValues.VA[GTValues.MV])
+
+ // don't pass in the items like doors, trapdoors etc because beneath already has good recipes for those
+ woodBuilder(event, 'crimson', 'beneath:wood/lumber/crimson', '#tfc:crimson_logs', 'beneath:wood/log/crimson',
+ 'beneath:wood/stripped_log/crimson', 'beneath:wood/planks/crimson', null,
+ 'beneath:wood/planks/crimson_slab', null, null, null, null, null, 'beneath:wood/planks/crimson_pressure_plate',
+ 'beneath:wood/planks/crimson_button')
+
+ event.recipes.gtceu.lathe(`tfg:cutter/crimson_stripped_wood_from_wood`)
+ .itemInputs('beneath:wood/wood/crimson')
+ .itemOutputs('beneath:wood/stripped_wood/crimson')
+ .duration(50)
+ .EUt(GTValues.VA[GTValues.ULV])
+
+ event.custom({
+ type: 'vintageimprovements:turning',
+ ingredients: [{ item: 'beneath:wood/wood/crimson' }],
+ results: [{ item: 'beneath:wood/stripped_wood/crimson' }],
+ processingTime: 50
+ }).id(`tfg:vi/lathe/stripping_crimson_wood`)
+
+ event.shaped('beneath:wood/sewing_table/crimson', [
+ ' AB',
+ 'CCC',
+ 'D D'
+ ], {
+ A: '#forge:leather',
+ B: '#forge:shears',
+ C: 'beneath:wood/planks/crimson',
+ D: 'beneath:wood/log/crimson'
+ }).id('tfg:shaped/crimson_sewing_table')
+
+
+ woodBuilder(event, 'warped', 'beneath:wood/lumber/warped', '#tfc:warped_logs', 'beneath:wood/log/warped',
+ 'beneath:wood/stripped_log/warped', 'beneath:wood/planks/warped', null,
+ 'beneath:wood/planks/warped_slab', null, null, null, null, null, 'beneath:wood/planks/warped_pressure_plate',
+ 'beneath:wood/planks/warped_button')
+
+ event.recipes.gtceu.lathe(`tfg:cutter/warped_stripped_wood_from_wood`)
+ .itemInputs('beneath:wood/wood/warped')
+ .itemOutputs('beneath:wood/stripped_wood/warped')
+ .duration(50)
+ .EUt(GTValues.VA[GTValues.ULV])
+
+ event.custom({
+ type: 'vintageimprovements:turning',
+ ingredients: [{ item: 'beneath:wood/wood/warped' }],
+ results: [{ item: 'beneath:wood/stripped_wood/warped' }],
+ processingTime: 50
+ }).id(`tfg:vi/lathe/stripping_warped_wood`)
+
+ event.shaped('beneath:wood/sewing_table/warped', [
+ ' AB',
+ 'CCC',
+ 'D D'
+ ], {
+ A: '#forge:leather',
+ B: '#forge:shears',
+ C: 'beneath:wood/planks/warped',
+ D: 'beneath:wood/log/warped'
+ }).id('tfg:shaped/warped_sewing_table')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/betterend/recipes.js b/kubejs/server_scripts/betterend/recipes.js
index d29228313..7bd6a9215 100644
--- a/kubejs/server_scripts/betterend/recipes.js
+++ b/kubejs/server_scripts/betterend/recipes.js
@@ -17,7 +17,7 @@ function registerBetterEndRecipes(event) {
.EUt(GTValues.VA[GTValues.MV])
.dimension('ad_astra:moon')
- event.recipes.gtceu.greenhouse(recipeId + "_helium")
+ event.recipes.gtceu.greenhouse(`${recipeId}_helium`)
.notConsumable(element.id)
.inputFluids(Fluid.of('gtceu:helium_3', 500))
.itemOutputs(`8x ${element.id}`)
@@ -28,4 +28,30 @@ function registerBetterEndRecipes(event) {
.EUt(GTValues.VA[GTValues.MV])
.dimension('ad_astra:moon')
});
+
+ Ingredient.of('#tfg:mars_plants').stacks.forEach(element => {
+ const itemId = element.id;
+ const recipeId = `greenhouse_${itemId.replace(':', '_')}`;
+
+ generateGreenHouseRecipe(event, itemId, 'tfg:semiheavy_ammoniacal_water', 8000, `8x ${itemId}`,
+ recipeId, 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]);
+ });
+
+ generateGreenHouseRecipe(event, '8x betterend:amber_root_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
+ '24x betterend:amber_root_product', 'amber_root', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
+
+ generateGreenHouseRecipe(event, '8x betterend:blossom_berry_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
+ '24x betterend:blossom_berry_product', 'blossom_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
+
+ generateGreenHouseRecipe(event, '8x betterend:bolux_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
+ '24x betterend:bolux_mushroom_product', 'bolux_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
+
+ generateGreenHouseRecipe(event, '8x betterend:cave_pumpkin_plant_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
+ '24x betterend:cave_pumpkin', 'cave_pumpkin', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
+
+ generateGreenHouseRecipe(event, '8x betterend:chorus_mushroom_seeds', 'tfg:semiheavy_ammoniacal_water', 8000,
+ '24x betterend:chorus_mushroom_product', 'chorus_mushroom', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
+
+ generateGreenHouseRecipe(event, '8x betterend:shadow_berry', 'tfg:semiheavy_ammoniacal_water', 8000,
+ '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV])
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/betterend/tags.js b/kubejs/server_scripts/betterend/tags.js
index 2a5385f37..fbd659bd6 100644
--- a/kubejs/server_scripts/betterend/tags.js
+++ b/kubejs/server_scripts/betterend/tags.js
@@ -3,7 +3,39 @@
function registerBetterEndItemTags(event) {
- event.add('tfg:moon_plants', 'betterend:chorus_lily')
- event.add('tfg:moon_plants', 'betterend:inflexia')
- event.add('tfg:moon_plants', 'betterend:chorus_grass')
+ event.add('forge:seeds', 'betterend:amber_root_seeds')
+ event.add('forge:seeds', 'betterend:blossom_berry_seeds')
+ event.add('forge:seeds', 'betterend:bolux_mushroom_seeds')
+ event.add('forge:seeds', 'betterend:cave_pumpkin_seeds')
+ event.add('forge:seeds', 'betterend:shadow_berry_seeds')
+
+ event.add('tfc:foods', 'betterend:amber_root_product')
+ event.add('tfc:foods/grains', 'betterend:amber_root_product')
+
+ event.add('tfc:foods', 'betterend:blossom_berry_product')
+ event.add('tfc:foods/fruit', 'betterend:blossom_berry_product')
+
+ event.add('tfc:foods', 'betterend:bolux_mushroom_product')
+ event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_product')
+ event.add('forge:mushrooms', 'betterend:bolux_mushroom_product')
+ event.add('tfc:foods', 'betterend:bolux_mushroom_cooked')
+ event.add('tfc:foods/vegetables', 'betterend:bolux_mushroom_cooked')
+ event.add('forge:mushrooms', 'betterend:bolux_mushroom_cooked')
+
+ event.add('tfc:foods', 'betterend:cave_pumpkin')
+ event.add('tfc:foods', 'betterend:cave_pumpkin_chunks')
+ event.add('tfc:foods/fruit', 'betterend:cave_pumpkin_chunks')
+ event.add('tfc:foods', 'betterend:cave_pumpkin_pie')
+
+ event.add('tfc:foods', 'betterend:chorus_mushroom_product')
+ event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_product')
+ event.add('forge:mushrooms', 'betterend:chorus_mushroom_product')
+ event.add('tfc:foods', 'betterend:chorus_mushroom_cooked')
+ event.add('tfc:foods/vegetables', 'betterend:chorus_mushroom_cooked')
+ event.add('forge:mushrooms', 'betterend:chorus_mushroom_cooked')
+
+ event.add('tfc:foods', 'betterend:shadow_berry_product')
+ event.add('tfc:foods/fruit', 'betterend:shadow_berry_product')
+ event.add('tfc:foods', 'betterend:shadow_berry_cooked')
+ event.add('tfc:foods/fruit', 'betterend:shadow_berry_cooked')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/chalk/data.js b/kubejs/server_scripts/chalk/data.js
index f5f4ebb1c..c2eefba1c 100644
--- a/kubejs/server_scripts/chalk/data.js
+++ b/kubejs/server_scripts/chalk/data.js
@@ -4,10 +4,8 @@
*
* @param {Internal.TFCDataEventJS} evt
*/
-const registerTFCDataForChalk = (evt) =>
-{
- global.MINECRAFT_DYE_NAMES.forEach(dyeName =>
- {
+const registerTFCDataForChalk = (evt) => {
+ global.MINECRAFT_DYE_NAMES.forEach(dyeName => {
evt.itemHeat(`tfg:wet_${dyeName}_chalk`, 1, null, null, `tfg:heating/wet_${dyeName}_chalk`)
})
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/chalk/tags.js b/kubejs/server_scripts/chalk/tags.js
index 80a2aea22..8ac896f40 100644
--- a/kubejs/server_scripts/chalk/tags.js
+++ b/kubejs/server_scripts/chalk/tags.js
@@ -4,8 +4,7 @@
*
* @param {TagEvent.Item} evt
*/
-const registerChalkItemTags = (evt) =>
-{
+const registerChalkItemTags = (evt) => {
evt.add(`chalk:dusts_for_chalks`, `tfg:chalk_dust`)
evt.add(`chalk:dusts_for_chalks`, `tfg:limestone_dust`)
evt.add(`chalk:dusts_for_chalks`, `tfg:dripstone_dust`)
diff --git a/kubejs/server_scripts/create/events.js b/kubejs/server_scripts/create/events.js
index a5d25f3a2..10f4eda5d 100644
--- a/kubejs/server_scripts/create/events.js
+++ b/kubejs/server_scripts/create/events.js
@@ -2,12 +2,11 @@
PlayerEvents.tick((event) => {
const { player } = event;
- if (player.age % 100 == 0
- && player.headArmorItem == 'create:netherite_diving_helmet'
- && player.chestArmorItem == 'create:netherite_backtank'
- && player.legsArmorItem == 'minecraft:netherite_leggings'
- && player.feetArmorItem == 'create:netherite_diving_boots')
- {
+ if (player.age % 100 === 0
+ && player.headArmorItem === 'create:netherite_diving_helmet'
+ && player.chestArmorItem === 'create:netherite_backtank'
+ && player.legsArmorItem === 'minecraft:netherite_leggings'
+ && player.feetArmorItem === 'create:netherite_diving_boots') {
player.potionEffects.add("minecraft:fire_resistance", 350, 1, true, false);
}
});
diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js
index 1a7ac3072..bf2116989 100644
--- a/kubejs/server_scripts/create/recipes.js
+++ b/kubejs/server_scripts/create/recipes.js
@@ -1394,7 +1394,7 @@ const registerCreateRecipes = (event) => {
//#region Покраска тулбоксов
global.MINECRAFT_DYE_NAMES.forEach(dye => {
- if (dye != 'brown') {
+ if (dye !== 'brown') {
event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` })
event.recipes.tfc.barrel_sealed(1000)
@@ -1421,7 +1421,7 @@ const registerCreateRecipes = (event) => {
.id(`barrel/create/postbox_decolor`)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
- if (dye != 'white') {
+ if (dye !== 'white') {
event.recipes.tfc.barrel_sealed(1000)
.inputs('create:white_postbox', Fluid.of(`tfc:${dye}_dye`, 288))
.outputItem(`create:${dye}_postbox`)
@@ -1446,7 +1446,7 @@ const registerCreateRecipes = (event) => {
.id(`barrel/create/table_cloth_decolor`)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
- if (dye != 'white') {
+ if (dye !== 'white') {
event.recipes.tfc.barrel_sealed(1000)
.inputs('create:white_table_cloth', Fluid.of(`tfc:${dye}_dye`, 288))
.outputItem(`create:${dye}_table_cloth`)
@@ -1472,7 +1472,7 @@ const registerCreateRecipes = (event) => {
.id(`barrel/create/seat_decolor`)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
- if (dye != "white") {
+ if (dye !== "white") {
event.recipes.tfc.barrel_sealed(1000)
.inputs(`create:white_seat`, Fluid.of(`tfc:${dye}_dye`, 288))
@@ -2010,12 +2010,14 @@ const registerCreateRecipes = (event) => {
event.recipes.gtceu.assembler('create:goggles')
.itemInputs('2x #forge:rings/brass', '#forge:leather', '2x tfc:lens')
.itemOutputs('create:goggles')
+ .circuit(10)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.assembler('create:goggles_rubber')
.itemInputs('2x #forge:rings/brass', '#forge:foils/rubber', '2x tfc:lens')
.itemOutputs('create:goggles')
+ .circuit(10)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
diff --git a/kubejs/server_scripts/create/tags.js b/kubejs/server_scripts/create/tags.js
index 051366d6b..2cdde4e17 100644
--- a/kubejs/server_scripts/create/tags.js
+++ b/kubejs/server_scripts/create/tags.js
@@ -25,7 +25,7 @@ const registerCreateItemTags = (event) => {
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`)
- if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
+ if (dye !== 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
})
event.add('minecraft:trimmable_armor', 'create:copper_diving_helmet')
@@ -85,7 +85,7 @@ const registerCreateBlockTags = (event) => {
global.MINECRAFT_DYE_NAMES.forEach(dye => {
event.add('tfg:colored_valve_handles', `create:${dye}_valve_handle`)
- if (dye != 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
+ if (dye !== 'white') event.add('tfg:colored_seats', `create:${dye}_seat`)
})
// Disable bulk blasting
@@ -123,6 +123,7 @@ const registerCreateFluidTags = (event) => {
event.add('create:fan_processing_catalysts/splashing', 'tfc:river_water')
event.add('create:fan_processing_catalysts/splashing', 'tfc:salt_water')
event.add('create:fan_processing_catalysts/splashing', 'tfc:spring_water')
+ event.add('create:fan_processing_catalysts/splashing', 'tfg:semiheavy_ammoniacal_water')
//Hose Pulley Infinites
event.add('create:bottomless/allow', 'tfg:semiheavy_ammoniacal_water')
diff --git a/kubejs/server_scripts/create_additions/events.js b/kubejs/server_scripts/create_additions/events.js
index 312b8910d..591db3229 100644
--- a/kubejs/server_scripts/create_additions/events.js
+++ b/kubejs/server_scripts/create_additions/events.js
@@ -9,12 +9,8 @@ const cakeData = new $FoodData(6, 0, 2, 1, 0, 0, 0, 0.5, 0)
BlockEvents.rightClicked(event => {
const { block, server, player, player: { x, y, z, username } } = event;
- if (block.id != 'createaddition:chocolate_cake' && block.id != 'createaddition:honey_cake') {
- return
- }
+ if (block.id !== 'createaddition:chocolate_cake' && block.id !== 'createaddition:honey_cake') return
let foodData = player.getFoodData();
- if (foodData.needsFood()) {
- foodData.eat(cakeData);
- }
+ if (foodData.needsFood()) foodData.eat(cakeData);
});
\ No newline at end of file
diff --git a/kubejs/server_scripts/create_additions/recipes.js b/kubejs/server_scripts/create_additions/recipes.js
index 01dc9edbf..84e15fe32 100644
--- a/kubejs/server_scripts/create_additions/recipes.js
+++ b/kubejs/server_scripts/create_additions/recipes.js
@@ -96,7 +96,7 @@ const registerCreateAdditionsRecipes = (event) => {
//#region Liquid blaze burners
- event.recipes.tfc.anvil('createaddition:straw', '#forge:plates/tin_alloy', ['shrink_second_last', 'upset_not_last', 'punch_last'])
+ event.recipes.tfc.anvil('createaddition:straw', '#forge:plates/tin_alloy', ['punch_last', 'shrink_second_last', 'upset_not_last'])
.tier(3)
.id(`tfc:anvil/straw`)
diff --git a/kubejs/server_scripts/createdeco/recipes.js b/kubejs/server_scripts/createdeco/recipes.js
index 70212ec2e..7694e779e 100644
--- a/kubejs/server_scripts/createdeco/recipes.js
+++ b/kubejs/server_scripts/createdeco/recipes.js
@@ -72,11 +72,11 @@ const registerCreatedecoRecipes = (event) => {
function lampRecipe(output, lampType, lampColor) {
- const replacementLampType = lampType;
- if (lampType == 'industrial_iron') {
+ let replacementLampType = lampType;
+ if (lampType === 'industrial_iron') {
replacementLampType = 'steel';
}
- if (lampType == 'andesite') {
+ if (lampType === 'andesite') {
replacementLampType = 'wrought_iron';
}
@@ -233,7 +233,7 @@ const registerCreatedecoRecipes = (event) => {
event.remove({ id: `createdeco:${bar.metal}_trapdoor` })
event.remove({ id: `createdeco:${bar.metal}_door` })
- if (bar.metal != 'iron') {
+ if (bar.metal !== 'iron') {
event.remove({ type: 'minecraft:stonecutting', output: `createdeco:${bar.metal}_bars` })
event.recipes.tfc.anvil(`4x createdeco:${bar.metal}_bars`, `#forge:ingots/${bar.material}`, ['shrink_last', 'punch_second_last', 'punch_third_last'])
@@ -350,49 +350,49 @@ const registerCreatedecoRecipes = (event) => {
event.recipes.gtceu.forming_press('createdeco:gold_coin')
.itemInputs('#forge:nuggets/gold')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('4x createdeco:gold_coin')
.duration(50)
.EUt(16)
event.recipes.gtceu.forming_press('createdeco:netherite_coin')
.itemInputs('#forge:nuggets/blue_steel')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('4x createdeco:netherite_coin')
.duration(50)
.EUt(16)
event.recipes.gtceu.forming_press('createdeco:brass_coin')
.itemInputs('#forge:nuggets/brass')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('4x createdeco:brass_coin')
.duration(50)
.EUt(16)
event.recipes.gtceu.forming_press('createdeco:iron_coin')
.itemInputs('#forge:nuggets/wrought_iron')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('4x createdeco:iron_coin')
.duration(50)
.EUt(16)
event.recipes.gtceu.forming_press('createdeco:copper_coin')
.itemInputs('#forge:nuggets/copper')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('4x createdeco:copper_coin')
.duration(50)
.EUt(16)
event.recipes.gtceu.forming_press('createdeco:industrial_iron_coin')
.itemInputs('#forge:nuggets/steel')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('createdeco:industrial_iron_coin')
.duration(50)
.EUt(16)
event.recipes.gtceu.forming_press('createdeco:zinc_coin')
.itemInputs('#forge:nuggets/zinc')
- .notConsumable('gtceu:credit_casting_mold')
+ .notConsumable('gtceu:cylinder_casting_mold')
.itemOutputs('createdeco:zinc_coin')
.duration(50)
.EUt(16)
diff --git a/kubejs/server_scripts/diggerhelmet/recipes.js b/kubejs/server_scripts/diggerhelmet/recipes.js
index a17950418..d7cf63bb2 100644
--- a/kubejs/server_scripts/diggerhelmet/recipes.js
+++ b/kubejs/server_scripts/diggerhelmet/recipes.js
@@ -45,4 +45,7 @@ function registerDiggerHelmetRecipes(event) {
B: '#forge:screws/wrought_iron',
C: '#forge:foils/rubber'
}).id('tfg:shaped/auto_drink_modifier_rubber')
+
+ event.shapeless('diggerhelmet:silk_lining', ['tfcambiental:silk_cowl', '#forge:string', 'tfc:bone_needle'])
+ .id('tfg:shapeless/diggerhelmet/silk_lining')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/etched/recipes.js b/kubejs/server_scripts/etched/recipes.js
index 4f58ae0cf..021999a1c 100644
--- a/kubejs/server_scripts/etched/recipes.js
+++ b/kubejs/server_scripts/etched/recipes.js
@@ -13,9 +13,9 @@ const registerEtchedRecipes = (event) => {
'AAA'
], {
A: '#minecraft:planks',
- B: '#forge:rings/steel',
- C: '#forge:plates/steel',
- D: '#forge:plates/diamond'
+ B: '#forge:rings/wrought_iron',
+ C: '#forge:plates/wrought_iron',
+ D: 'tfg:etching_diamond_tip'
}).id('etched:etching_table')
// Album Jukebox
diff --git a/kubejs/server_scripts/every_compat/recipes.js b/kubejs/server_scripts/every_compat/recipes.js
index 56c616969..951d05f69 100644
--- a/kubejs/server_scripts/every_compat/recipes.js
+++ b/kubejs/server_scripts/every_compat/recipes.js
@@ -3,8 +3,7 @@
const registerEveryCompatRecipes = (event) => {
- global.TFC_WOOD_TYPES.forEach(wood =>
- {
+ global.TFC_WOOD_TYPES.forEach(wood => {
event.remove({ id: `everycomp:c/tfc/${wood}_window_pane` })
event.shapeless(`2x everycomp:c/tfc/${wood}_window_pane`,
@@ -21,8 +20,7 @@ const registerEveryCompatRecipes = (event) => {
.EUt(7)
})
- global.AFC_WOOD_TYPES.forEach(wood =>
- {
+ global.AFC_WOOD_TYPES.forEach(wood => {
event.remove({ id: `everycomp:c/afc/${wood}_window_pane` })
event.shapeless(`2x everycomp:c/afc/${wood}_window_pane`,
diff --git a/kubejs/server_scripts/exposure/tags.js b/kubejs/server_scripts/exposure/tags.js
index ca1c00ef2..80690c1fb 100644
--- a/kubejs/server_scripts/exposure/tags.js
+++ b/kubejs/server_scripts/exposure/tags.js
@@ -4,8 +4,7 @@
*
* @param {TagEvent.Item} evt
*/
-const registerExposureItemTags = (evt) =>
-{
+const registerExposureItemTags = (evt) => {
evt.add('exposure:black_printing_dyes', '#forge:dyes/black')
evt.add('exposure:yellow_printing_dyes', '#forge:dyes/yellow')
evt.add('exposure:cyan_printing_dyes', '#forge:dyes/cyan')
diff --git a/kubejs/server_scripts/extended_ae2/recipes.js b/kubejs/server_scripts/extended_ae2/recipes.js
index 6c3077080..2b7119994 100644
--- a/kubejs/server_scripts/extended_ae2/recipes.js
+++ b/kubejs/server_scripts/extended_ae2/recipes.js
@@ -133,7 +133,7 @@ const registerExtendedAE2Recipes = (event) => {
'gtceu:iv_robot_arm',
'gtceu:iv_fluid_regulator',
'4x #forge:dense_plates/tungsten_steel',
- '#gtceu:circuits/iv',)
+ '#gtceu:circuits/iv')
.inputFluids(Fluid.of('tfg:fluix', 144*9))
.itemOutputs("expatternprovider:oversize_interface")
.duration(300)
@@ -455,7 +455,7 @@ const registerExtendedAE2Recipes = (event) => {
.itemInputs(
'ae2:pattern_access_terminal',
'4x ae2:logic_processor',
- '2x megacells:accumulation_processor',)
+ '2x megacells:accumulation_processor')
.itemOutputs('expatternprovider:ex_pattern_access_part')
.duration(100)
.EUt(GTValues.VA[GTValues.EV])
@@ -539,7 +539,7 @@ const registerExtendedAE2Recipes = (event) => {
'2x megacells:accumulation_processor',
'4x ae2:logic_processor',
'4x ae2:engineering_processor',
- '4x ae2:speed_card',)
+ '4x ae2:speed_card')
.itemOutputs('expatternprovider:ex_io_port')
.duration(200)
.EUt(1000)
@@ -551,7 +551,7 @@ const registerExtendedAE2Recipes = (event) => {
'2x megacells:accumulation_processor',
'4x ae2:logic_processor',
'4x ae2:engineering_processor',
- '2x ae2:capacity_card',)
+ '2x ae2:capacity_card')
.itemOutputs('expatternprovider:ex_drive')
.duration(200)
.EUt(1920)
@@ -562,7 +562,7 @@ const registerExtendedAE2Recipes = (event) => {
'2x megacells:accumulation_processor',
'4x ae2:logic_processor',
'4x ae2:engineering_processor',
- '2x ae2:capacity_card',)
+ '2x ae2:capacity_card')
.itemOutputs('expatternprovider:drive_upgrade')
.duration(200)
.circuit(2)
@@ -575,7 +575,7 @@ const registerExtendedAE2Recipes = (event) => {
'gtceu:stainless_steel_drum',
'2x ae2:cell_component_1k',
'gtceu:hv_robot_arm',
- 'gtceu:hv_electric_pump',)
+ 'gtceu:hv_electric_pump')
.itemOutputs('expatternprovider:ingredient_buffer')
.duration(200)
.EUt(1920)
@@ -594,10 +594,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x ae2:logic_processor',
'4x megacells:accumulation_processor',
'16x #forge:rods/niobium_nitride',
- '1x expatternprovider:ex_molecular_assembler',)
+ '1x expatternprovider:ex_molecular_assembler')
.inputFluids(
Fluid.of("gtceu:concrete", 144*8),
- Fluid.of('tfg:fluix', 144*16),)
+ Fluid.of('tfg:fluix', 144*16))
.itemOutputs('expatternprovider:assembler_matrix_frame')
.duration(2000)
.EUt(GTValues.VA[GTValues.LuV])
@@ -611,10 +611,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x ae2:logic_processor',
'4x megacells:accumulation_processor',
'16x #forge:rods/niobium_nitride',
- '4x expatternprovider:ex_molecular_assembler',)
+ '4x expatternprovider:ex_molecular_assembler')
.inputFluids(
Fluid.of('gtceu:concrete', 144*8),
- Fluid.of('tfg:cryogenized_fluix', 144*16),)
+ Fluid.of('tfg:cryogenized_fluix', 144*16))
.itemOutputs('8x expatternprovider:assembler_matrix_frame')
.duration(2000)
.EUt(GTValues.VA[GTValues.IV])
@@ -626,7 +626,7 @@ const registerExtendedAE2Recipes = (event) => {
.itemInputs(
'#forge:frames/polytetrafluoroethylene',
'gtceu:plascrete',
- '6x gtceu:polytetrafluoroethylene_plate',)
+ '6x gtceu:polytetrafluoroethylene_plate')
.inputFluids(
Fluid.of('gtceu:concrete', 144*4))
.itemOutputs('expatternprovider:assembler_matrix_wall')
@@ -639,7 +639,7 @@ const registerExtendedAE2Recipes = (event) => {
.itemInputs(
'#forge:frames/polytetrafluoroethylene',
'gtceu:cleanroom_glass',
- '6x gtceu:polytetrafluoroethylene_plate',)
+ '6x gtceu:polytetrafluoroethylene_plate')
.inputFluids(
Fluid.of('gtceu:concrete', 144*4))
.itemOutputs("expatternprovider:assembler_matrix_glass")
@@ -655,10 +655,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x gtceu:luv_robot_arm',
'2x #forge:dense_plates/rhodium_plated_palladium',
'#gtceu:circuits/zpm',
- '2x #gtceu:circuits/luv',)
+ '2x #gtceu:circuits/luv')
.inputFluids(
Fluid.of('tfg:fluix', 144*16),
- Fluid.of('gtceu:polybenzimidazole', 1430),)
+ Fluid.of('gtceu:polybenzimidazole', 1430))
.itemOutputs('expatternprovider:assembler_matrix_pattern')
.duration(20*30)
.EUt(GTValues.VA[GTValues.LuV])
@@ -671,10 +671,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x gtceu:iv_robot_arm',
'2x #forge:dense_plates/tungsten_steel',
'#gtceu:circuits/luv',
- '2x #gtceu:circuits/iv',)
+ '2x #gtceu:circuits/iv')
.inputFluids(
Fluid.of('tfg:cryogenized_fluix', 144*8),
- Fluid.of('gtceu:polybenzimidazole', 1430),)
+ Fluid.of('gtceu:polybenzimidazole', 1430))
.itemOutputs('2x expatternprovider:assembler_matrix_pattern')
.duration(20*30)
.EUt(GTValues.VA[GTValues.IV])
@@ -689,10 +689,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x gtceu:luv_field_generator',
'2x #forge:dense_plates/rhodium_plated_palladium',
'#gtceu:circuits/zpm',
- '2x #gtceu:circuits/luv',)
+ '2x #gtceu:circuits/luv')
.inputFluids(
Fluid.of('tfg:fluix', 144*16),
- Fluid.of('gtceu:polybenzimidazole', 1430),)
+ Fluid.of('gtceu:polybenzimidazole', 1430))
.itemOutputs('expatternprovider:assembler_matrix_crafter')
.duration(20*30)
.EUt(GTValues.VA[GTValues.LuV])
@@ -705,10 +705,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x gtceu:iv_field_generator',
'2x #forge:dense_plates/tungsten_steel',
'#gtceu:circuits/luv',
- '2x #gtceu:circuits/iv',)
+ '2x #gtceu:circuits/iv')
.inputFluids(
Fluid.of('tfg:cryogenized_fluix', 144*8),
- Fluid.of('gtceu:polybenzimidazole', 1430),)
+ Fluid.of('gtceu:polybenzimidazole', 1430))
.itemOutputs('2x expatternprovider:assembler_matrix_crafter')
.duration(20*30)
.EUt(GTValues.VA[GTValues.IV])
@@ -723,10 +723,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x gtceu:luv_conveyor_module',
'2x #forge:dense_plates/rhodium_plated_palladium',
'#gtceu:circuits/zpm',
- '2x #gtceu:circuits/luv',)
+ '2x #gtceu:circuits/luv')
.inputFluids(
Fluid.of('tfg:fluix', 144*16),
- Fluid.of('gtceu:polybenzimidazole', 1430),)
+ Fluid.of('gtceu:polybenzimidazole', 1430))
.itemOutputs('expatternprovider:assembler_matrix_speed')
.duration(20*30)
.EUt(GTValues.VA[GTValues.LuV])
@@ -739,10 +739,10 @@ const registerExtendedAE2Recipes = (event) => {
'4x gtceu:iv_conveyor_module',
'2x #forge:dense_plates/tungsten_steel',
'#gtceu:circuits/luv',
- '2x #gtceu:circuits/iv',)
+ '2x #gtceu:circuits/iv')
.inputFluids(
Fluid.of('tfg:cryogenized_fluix', 144*8),
- Fluid.of('gtceu:polybenzimidazole', 1430),)
+ Fluid.of('gtceu:polybenzimidazole', 1430))
.itemOutputs('2x expatternprovider:assembler_matrix_speed')
.duration(20*30)
.EUt(GTValues.VA[GTValues.IV])
diff --git a/kubejs/server_scripts/firmaciv/recipes.js b/kubejs/server_scripts/firmaciv/recipes.js
index e9ce24659..dbb956595 100644
--- a/kubejs/server_scripts/firmaciv/recipes.js
+++ b/kubejs/server_scripts/firmaciv/recipes.js
@@ -62,7 +62,7 @@ const registerFirmaCivRecipes = (event) => {
//#region Barometer
event.recipes.gtceu.assembler('tfg:firmaciv/barometer')
.itemInputs('#forge:plates/brass', '2x #forge:small_gears/brass', '#forge:glass_panes')
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 1000")
.circuit(12)
.itemOutputs('firmaciv:barometer')
.duration(75)
diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js
index d0877d564..8e29ab7da 100644
--- a/kubejs/server_scripts/firmalife/recipes.js
+++ b/kubejs/server_scripts/firmalife/recipes.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
const registerFirmaLifeRecipes = (event) => {
global.FIRMALIFE_DISABLED_ITEMS.forEach(item => {
@@ -44,6 +47,8 @@ const registerFirmaLifeRecipes = (event) => {
//#endregion
+ event.replaceInput({ id: 'firmalife:mixing_bowl' }, 'firmalife:treated_lumber', '#tfc:lumber')
+
// Декрафт Jag Lid
event.recipes.tfc.heating('tfc:jar_lid', 230)
.resultFluid(Fluid.of('gtceu:tin', 9))
@@ -465,12 +470,14 @@ const registerFirmaLifeRecipes = (event) => {
// Семена фруктов
global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => {
- generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, 'minecraft:overworld', 1)
+ generateGreenHouseRecipe(event, element.input, '#tfg:clean_water', element.fluid_amount, element.output,
+ element.name, 'minecraft:overworld', 8, null, GTValues.VA[GTValues.LV])
})
// Семена ягод
global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => {
- generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, null, 1)
+ generateGreenHouseRecipe(event, element.input, '#tfg:clean_water', element.fluid_amount, element.output,
+ element.name, null, 8, null, GTValues.VA[GTValues.LV])
})
//#endregion
@@ -519,7 +526,7 @@ const registerFirmaLifeRecipes = (event) => {
event.recipes.gtceu.mixer('sugar_water')
.itemInputs('#tfc:sweetener')
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" } }))
+ .inputFluids("#tfg:clean_water 1000")
.outputFluids(Fluid.of('firmalife:sugar_water', 500))
.circuit(5)
.EUt(GTValues.VA[GTValues.ULV])
@@ -543,6 +550,64 @@ const registerFirmaLifeRecipes = (event) => {
// Dough
global.TFC_GRAINS.forEach(grain => {
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`4x firmalife:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ 'firmalife:tirage_mixture',
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_dough`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`8x firmalife:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ '2x firmalife:tirage_mixture',
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_dough_2`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`12x firmalife:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ '3x firmalife:tirage_mixture',
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_dough_3`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`4x tfc:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 100)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_flatbread_dough`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`8x tfc:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 200)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_flatbread_dough_2`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`12x tfc:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 300)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_flatbread_dough_3`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`16x tfc:food/${grain}_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 400)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/${grain}_flatbread_dough_4`)
+
event.recipes.firmalife.mixing_bowl()
.ingredients([
TFC.ingredient.notRotten(`tfc:food/${grain}_flour`),
@@ -567,6 +632,36 @@ const registerFirmaLifeRecipes = (event) => {
.id(`tfg:mixing_bowl/${grain}_flatbread_dough_2`)
})
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`4x firmalife:food/hardtack_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`#tfc:foods/flour`),
+ 'tfc:powder/salt',
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 100)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/hardtack_dough`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`8x firmalife:food/hardtack_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`#tfc:foods/flour`),
+ TFC.ingredient.notRotten(`#tfc:foods/flour`),
+ 'tfc:powder/salt',
+ 'tfc:powder/salt',
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 200)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/hardtack_dough_2`)
+
+ event.recipes.tfc.advanced_shapeless_crafting(TFC.isp.of(`12x firmalife:food/hardtack_dough`).copyFood(), [
+ 'firmalife:spoon',
+ TFC.ingredient.notRotten(`#tfc:foods/flour`),
+ TFC.ingredient.notRotten(`#tfc:foods/flour`),
+ TFC.ingredient.notRotten(`#tfc:foods/flour`),
+ 'tfc:powder/salt',
+ 'tfc:powder/salt',
+ 'tfc:powder/salt',
+ TFC.ingredient.fluid(TFC.fluidStackIngredient('minecraft:water', 300)),
+ 'firmalife:mixing_bowl'
+ ]).id(`tfg:shapeless/hardtack_dough_3`)
+
event.recipes.firmalife.mixing_bowl()
.itemIngredients([
TFC.ingredient.notRotten('firmalife:food/vanilla_ice_cream'),
diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js
index 3ac8edf6e..be575eae0 100644
--- a/kubejs/server_scripts/firmalife/tags.js
+++ b/kubejs/server_scripts/firmalife/tags.js
@@ -59,8 +59,8 @@ const registerFirmaLifeBlockTags = (event) => {
]
greenhouse_tiers.forEach(tier => {
- event.add('firmalife:always_valid_greenhouse_wall', 'firmalife:' + tier + '_greenhouse_door')
- event.add('firmalife:always_valid_greenhouse_wall', 'firmalife:' + tier + '_greenhouse_trapdoor')
+ event.add('firmalife:always_valid_greenhouse_wall', `firmalife:${ tier }_greenhouse_door`)
+ event.add('firmalife:always_valid_greenhouse_wall', `firmalife:${ tier }_greenhouse_trapdoor`)
})
//Allows any block with the word "brick" in its id to be used as oven insulation.
diff --git a/kubejs/server_scripts/ftb_quests/CustomQuests.js b/kubejs/server_scripts/ftb_quests/CustomQuests.js
index d368d2f26..b666cb826 100644
--- a/kubejs/server_scripts/ftb_quests/CustomQuests.js
+++ b/kubejs/server_scripts/ftb_quests/CustomQuests.js
@@ -1,8 +1,7 @@
"use strict";
// Handles the quest for drinking water. The drinking water quest checks if the player has this stage.
-ItemEvents.firstRightClicked(evt =>
-{
+ItemEvents.firstRightClicked(evt => {
const FORGE_CAPS = "ForgeCaps";
const TFC_PLAYERDATA = "tfc:player_data";
const FOOD = "food";
@@ -11,7 +10,7 @@ ItemEvents.firstRightClicked(evt =>
const STAGE = "tfg.stages.quests.drank_fresh_water_with_hand";
const {player, level} = evt;
- if(evt.target.block == null)
+ if (evt.target.block === null)
return;
//We reach for the "food" compound tag, that contains the tfc thirst.
@@ -23,8 +22,7 @@ ItemEvents.firstRightClicked(evt =>
//Do we already keep track of the previous thirst value? if not, put it and then return.
let customData = getTFGPersistentDataRoot(player);
let containsPreviousThirst = customData.contains(PREVIOUS_THIRST);
- if(!containsPreviousThirst)
- {
+ if (!containsPreviousThirst) {
customData.putFloat(PREVIOUS_THIRST, thirstValue);
return;
}
@@ -33,9 +31,8 @@ ItemEvents.firstRightClicked(evt =>
//As long as our new thirst is greater than our previous, it means we hydrated ourselves. OFC we need to make sure the block clicked was potable.
let blockID = evt.target.block.id;
- let isFreshWater = blockID == "minecraft:water" || blockID == "tfc:fluid/river_water";
- if(isFreshWater && thirstValue > previousThirstValue && !player.stages.has(STAGE))
- {
+ let isFreshWater = blockID === "minecraft:water" || blockID === "tfc:fluid/river_water";
+ if (isFreshWater && thirstValue > previousThirstValue && !player.stages.has(STAGE)) {
player.stages.add(STAGE);
}
//Put it back in.
diff --git a/kubejs/server_scripts/ftb_quests/filters.js b/kubejs/server_scripts/ftb_quests/filters.js
index cc111860f..cff91f4de 100644
--- a/kubejs/server_scripts/ftb_quests/filters.js
+++ b/kubejs/server_scripts/ftb_quests/filters.js
@@ -1,26 +1,22 @@
"use strict";
//#region Preservation Filter
-FTBFilterSystemEvents.customFilter("HasPreservation", evt =>
-{
+FTBFilterSystemEvents.customFilter("HasPreservation", evt => {
let stack = evt.getStack()
let data = evt.getData()
let foof = TFC.misc.getFood(stack)
- if(foof == null)
- {
+ if (foof === null) {
evt.cancel()
return
}
let trait = TFC.misc.getFoodTrait(data)
- if(trait == null)
- {
+ if (trait === null) {
evt.cancel()
return
}
- if(!foof.hasTrait(trait))
- {
+ if (!foof.hasTrait(trait)) {
evt.cancel()
}
evt.success()
diff --git a/kubejs/server_scripts/grapplemod/recipes.js b/kubejs/server_scripts/grapplemod/recipes.js
index 409de9be2..61eac85bc 100644
--- a/kubejs/server_scripts/grapplemod/recipes.js
+++ b/kubejs/server_scripts/grapplemod/recipes.js
@@ -50,8 +50,7 @@ let $GrappleCustomization = Java.loadClass('com.yyon.grapplinghook.utils.Grapple
*
* @param {Internal.RecipesEventJS} event
*/
-function registerGrapplingHookRecipes(event)
-{
+function registerGrapplingHookRecipes(event) {
const ADDITIVE_UPGRADES_MINMAX =
{
maxLen: { nbt: "maxlen", maxValue: 200, minValue: 20},
@@ -199,12 +198,10 @@ function registerGrapplingHookRecipes(event)
* @param {string} localizationToken A token to display as the item's name, only used in JEI to tell the end user what the upgrade does
* @returns {Special.Recipes.ShapelessKubejs} The Recipe Builder
*/
- function shapelessUpgradeRecipe(upgradeItems, grappleCustomizationCallback, localizationToken)
- {
+ function shapelessUpgradeRecipe(upgradeItems, grappleCustomizationCallback, localizationToken) {
let inputs = ['grapplemod:grapplinghook'].concat(upgradeItems);
let recipeBuilder = event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate(localizationToken)), inputs);
- recipeBuilder.modifyResult((grid, result) =>
- {
+ recipeBuilder.modifyResult((grid, result) => {
let fallbackItem = Item.of('minecraft:air');
let orig = grid.find(Ingredient.of("grapplemod:grapplinghook"));
@@ -212,8 +209,7 @@ function registerGrapplingHookRecipes(event)
customization.loadNBT(orig.nbt.getCompound("custom"));
result = grappleCustomizationCallback(customization, orig, result);
- if(result == null)
- {
+ if (result === null) {
result = fallbackItem;
return result;
}
@@ -221,12 +217,9 @@ function registerGrapplingHookRecipes(event)
result.nbt.put("custom", customization.writeNBT());
result.nbt.put("Damage", orig.nbt.getInt("Damage"));
- if(orig.hasCustomHoverName())
- {
+ if (orig.hasCustomHoverName()) {
result.setHoverName(orig.hoverName);
- }
- else
- {
+ } else {
result.resetHoverName();
}
return result;
@@ -242,11 +235,9 @@ function registerGrapplingHookRecipes(event)
* @param {string} localizationToken A token to display as the item's name, only used in JEI to tell the end user what the upgrade does
* @returns {Special.Recipes.ShapedKubejs} The Recipe Builder
*/
- function shapedUpgradeRecipe(pattern, keyMap, grappleCustomizationCallback, localizationToken)
- {
+ function shapedUpgradeRecipe(pattern, keyMap, grappleCustomizationCallback, localizationToken) {
let recipeBuilder = event.recipes.kubejs.shaped(Item.of('grapplemod:grapplinghook').withName(Text.translate(localizationToken)), pattern, keyMap)
- recipeBuilder.modifyResult((grid, result) =>
- {
+ recipeBuilder.modifyResult((grid, result) => {
let fallbackItem = Item.of('minecraft:air');
let orig = grid.find(Ingredient.of("grapplemod:grapplinghook"));
@@ -254,20 +245,16 @@ function registerGrapplingHookRecipes(event)
customization.loadNBT(orig.nbt.getCompound("custom"));
result = grappleCustomizationCallback(customization, orig, result);
- if(result == null)
- {
+ if (result === null) {
result = fallbackItem;
return result;
}
result.nbt.put("custom", customization.writeNBT());
result.nbt.put("Damage", orig.nbt.getInt("Damage"));
- if(orig.hasCustomHoverName())
- {
+ if (orig.hasCustomHoverName()) {
result.setHoverName(orig.hoverName);
- }
- else
- {
+ } else {
result.resetHoverName();
}
return result;
@@ -285,8 +272,7 @@ function registerGrapplingHookRecipes(event)
A: 'gtceu:wrought_iron_pickaxe_head',
B: 'firmaciv:rope_coil'
})
- .modifyResult((craftingGrid, result) =>
- {
+ .modifyResult((craftingGrid, result) => {
let grappleCustomization = new $GrappleCustomization();
grappleCustomization.setDefaults();
@@ -300,16 +286,13 @@ function registerGrapplingHookRecipes(event)
//Repair
event.recipes.kubejs.shapeless(Item.of('grapplemod:grapplinghook').withName(Text.translate("tfg.grapplemod.repair")), ['grapplemod:grapplinghook', 'gtceu:wrought_iron_dust'])
- .modifyResult((craftingGrid, result) =>
- {
- try
- {
+ .modifyResult((craftingGrid, result) => {
+ try {
let fallbackItem = Item.of("minecraft:air");
let orig = craftingGrid.find(Ingredient.of('grapplemod:grapplinghook'));
let damage = orig.nbt.getInt("Damage");
- if(damage <= 0)
- {
+ if (damage <= 0) {
return fallbackItem;
}
let maxDamage = result.maxDamage;
@@ -322,38 +305,30 @@ function registerGrapplingHookRecipes(event)
result.nbt.put("custom", customization.writeNBT());
- if(orig.hasCustomHoverName())
- {
+ if (orig.hasCustomHoverName()) {
result.setHoverName(orig.hoverName);
- }
- else
- {
+ } else {
result.resetHoverName();
}
return result;
- }
- catch (exception)
- {
- console.log(exception);
+ } catch (exception) {
+ console.error(exception);
}
}).id('tfg:grapplemod/shapeless/repair');
//Upgrade: Max Length
- shapelessUpgradeRecipe(['firmaciv:rope_coil'], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe(['firmaciv:rope_coil'], (customization, orig, result) => {
let maxLen = customization.maxlen;
- if(maxLen >= ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue)
+ if (maxLen >= ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue)
return null;
maxLen = Math.min(ADDITIVE_UPGRADES_MINMAX.maxLen.maxValue, maxLen + 20);
customization.maxlen = maxLen;
return result;
}, 'tfg.grapplemod.upgrades.maxlen').id('tfg:grapplemod/upgrades/maxlen');
- shapelessUpgradeRecipe(['#forge:tools/knives'], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe(['#forge:tools/knives'], (customization, orig, result) => {
let maxLen = customization.maxlen;
- if(maxLen <= ADDITIVE_UPGRADES_MINMAX.maxLen.minValue)
- {
+ if (maxLen <= ADDITIVE_UPGRADES_MINMAX.maxLen.minValue) {
return null;
}
@@ -363,14 +338,11 @@ function registerGrapplingHookRecipes(event)
}, 'tfg.grapplemod.downgrades.maxlen').replaceIngredient('grapplemod:grapplinghook', 'firmaciv:rope_coil').id("tfg:grapplemod/downgrades/maxlen_decrease")
//Upgrade: Motor
- motorUpgrades.forEach(motorUpgradeType =>
- {
+ motorUpgrades.forEach(motorUpgradeType => {
//Add motor
- shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`], (customization, orig, result) => {
//If this already has a motor, disallow the recipe
- if(customization.motor)
- {
+ if (customization.motor) {
return null;
}
@@ -381,24 +353,15 @@ function registerGrapplingHookRecipes(event)
}, `tfg.grapplemod.upgrades.motor.${motorUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/motor/${motorUpgradeType.electricTier}`);
//Remove Motor
- shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`, '#forge:tools/hammers'], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe([`gtceu:${motorUpgradeType.electricTier}_electric_motor`, '#forge:tools/hammers'], (customization, orig, result) => {
let motorMaxSpeed = motorUpgradeType.motorMaxSpeed;
let motorAcceleration = motorUpgradeType.motorAcceleration;
- if(!customization.motor)
- {
+ if (!customization.motor) {
return null;
}
- if(customization.motormaxspeed != motorMaxSpeed)
- {
- return null;
- }
-
- if(customization.motoracceleration != motorAcceleration)
- {
- return null;
- }
+ if (customization.motormaxspeed !== motorMaxSpeed) return null;
+ if (customization.motoracceleration !== motorAcceleration) return null;
customization.motor = false;
customization.motormaxspeed = 0;
@@ -411,15 +374,12 @@ function registerGrapplingHookRecipes(event)
})
//Enable Smart Motor
- shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit'], (customization, orig, result) =>
- {
- if(!customization.motor)
- {
+ shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit'], (customization, orig, result) => {
+ if (!customization.motor) {
return null;
}
- if(customization.smartmotor || customization.smartdoublemotor)
- {
+ if (customization.smartmotor || customization.smartdoublemotor) {
return null;
}
@@ -429,10 +389,8 @@ function registerGrapplingHookRecipes(event)
}, 'tfg.grapplemod.upgrades.smart_motor').id('tfg:grapplemod/upgrades/smart_motor');
//Disable Smart Motor
- shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit', '#forge:tools/hammers'], (customization, orig, result) =>
- {
- if(!customization.smartmotor || !customization.smartdoublemotor)
- {
+ shapelessUpgradeRecipe(['gtceu:basic_electronic_circuit', '#forge:tools/hammers'], (customization, orig, result) => {
+ if (!customization.smartmotor || !customization.smartdoublemotor) {
return null;
}
@@ -445,10 +403,8 @@ function registerGrapplingHookRecipes(event)
.id('tfg:grapplemod/downgrades/smart_motor');
//Enable Sticky Rope
- shapelessUpgradeRecipe(['gtceu:sticky_resin'], (customization, orig, result) =>
- {
- if(customization.sticky)
- {
+ shapelessUpgradeRecipe(['gtceu:sticky_resin'], (customization, orig, result) => {
+ if (customization.sticky) {
return null;
}
@@ -458,10 +414,8 @@ function registerGrapplingHookRecipes(event)
.id('tfg:grapplemod/upgrades/sticky')
//Disable Sticky Rope
- shapelessUpgradeRecipe(['gtceu:sticky_resin', '#forge:tools/hammers'], (customization, orig, result) =>
- {
- if(!customization.sticky)
- {
+ shapelessUpgradeRecipe(['gtceu:sticky_resin', '#forge:tools/hammers'], (customization, orig, result) => {
+ if (!customization.sticky) {
return null;
}
@@ -473,13 +427,10 @@ function registerGrapplingHookRecipes(event)
.id('tfg:grapplemod/downgrades/sticky')
//Upgrade: Forcefield
- forcefieldUpgrades.forEach(forcefieldUpgradeType =>
- {
+ forcefieldUpgrades.forEach(forcefieldUpgradeType => {
//Add Forcefield
- shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`], (customization, orig, result) =>
- {
- if(customization.repel)
- {
+ shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`], (customization, orig, result) => {
+ if (customization.repel) {
return null;
}
@@ -489,14 +440,12 @@ function registerGrapplingHookRecipes(event)
}, `tfg.grapplemod.upgrades.forcefield.${forcefieldUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/forcefield/${forcefieldUpgradeType.electricTier}`);
//Remove Forcefield
- shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`, '#forge:tools/hammers'], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe([`gtceu:${forcefieldUpgradeType.electricTier}_field_generator`, '#forge:tools/hammers'], (customization, orig, result) => {
let repelForce = forcefieldUpgradeType.repelForce;
- if(!customization.repel)
+ if (!customization.repel)
return null;
- if(customization.repelforce != repelForce)
- {
+ if (customization.repelforce !== repelForce) {
return null;
}
@@ -509,13 +458,10 @@ function registerGrapplingHookRecipes(event)
.id(`tfg:grapplemod/downgrades/forcefield/${forcefieldUpgradeType.electricTier}`);
})
//Upgrade: Magnet
- magnetUpgrades.forEach(magnetUpgradeTier =>
- {
+ magnetUpgrades.forEach(magnetUpgradeTier => {
//Add Magnet
- shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`], (customization, orig, result) =>
- {
- if(customization.attract)
- {
+ shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`], (customization, orig, result) => {
+ if (customization.attract) {
return null;
}
@@ -525,18 +471,11 @@ function registerGrapplingHookRecipes(event)
}, `tfg.grapplemod.upgrades.magnet.${magnetUpgradeTier.ingotName}`).id(`tfg:grapplemod/upgrades/magnet/${magnetUpgradeTier.ingotName}`);
//Remove Magnet
- shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`, '#forge:tools/hammers'], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe([`gtceu:${magnetUpgradeTier.ingotName}`, '#forge:tools/hammers'], (customization, orig, result) => {
let attractionRadius = magnetUpgradeTier.attractionRadius;
- if(!customization.attract)
- {
- return null;
- }
-
- if(customization.attractradius != attractionRadius)
- {
- return null;
- }
+
+ if (!customization.attract) return null;
+ if (customization.attractradius !== attractionRadius) return null;
customization.attract = false;
customization.attractradius = attractionRadius;
@@ -548,21 +487,14 @@ function registerGrapplingHookRecipes(event)
})
//Set gravity to 0.5
- shapelessUpgradeRecipe(['gtceu:helium_bucket'], (customization, orig, result) =>
- {
- if(customization.hookgravity != 1)
- {
- return null;
- }
-
+ shapelessUpgradeRecipe(['gtceu:helium_bucket'], (customization, orig, result) => {
+ if (customization.hookgravity !== 1) return null;
customization.hookgravity = 0.5;
return result;
}, `tfg.grapplemod.upgrades.gravity.0.5`).id('tfg:grapplemod/upgrades/gravity/0.5');
//Set gravity to 1, from 0.5
- shapelessUpgradeRecipe(['minecraft:bucket', '#forge:tools/hammers'], (customization, orig, result) =>
- {
- if(customization.hookgravity != 0.5)
- {
+ shapelessUpgradeRecipe(['minecraft:bucket', '#forge:tools/hammers'], (customization, orig, result) => {
+ if (customization.hookgravity !== 0.5) {
return null;
}
customization.hookgravity = 1;
@@ -572,10 +504,8 @@ function registerGrapplingHookRecipes(event)
.id('tfg:grapplemod/downgrades/gravity/0.5');
//Set gravity to 0
- shapelessUpgradeRecipe(['gtceu:gravitation_engine_unit'], (customization, orig, result) =>
- {
- if(customization.hookgravity != 1)
- {
+ shapelessUpgradeRecipe(['gtceu:gravitation_engine_unit'], (customization, orig, result) => {
+ if (customization.hookgravity !== 1) {
return null;
}
@@ -583,10 +513,8 @@ function registerGrapplingHookRecipes(event)
return result;
}, 'tfg.grapplemod.upgrades.gravity.0').id('tfg:grapplemod/upgrades/gravity/0');
//Set gravity to 1, from 0
- shapelessUpgradeRecipe(['gtceu:tungsten_block', '#forge:tools/hammers'], (customization, orig, result) =>
- {
- if(customization.hookgravity != 0)
- {
+ shapelessUpgradeRecipe(['gtceu:tungsten_block', '#forge:tools/hammers'], (customization, orig, result) => {
+ if (customization.hookgravity !== 0) {
return null;
}
@@ -598,13 +526,10 @@ function registerGrapplingHookRecipes(event)
.id('tfg:grapplemod/downgrades/gravity/0')
//Upgrade: Throw Speed
- throwUpgrades.forEach(throwUpgradeType =>
- {
+ throwUpgrades.forEach(throwUpgradeType => {
//Add Throwspeed
- shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`], (customization, orig, result) =>
- {
- if(customization.throwspeed != 2)
- {
+ shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`], (customization, orig, result) => {
+ if (customization.throwspeed !== 2) {
return null;
}
@@ -613,12 +538,10 @@ function registerGrapplingHookRecipes(event)
}, `tfg.grapplemod.upgrades.throwspeed.${throwUpgradeType.electricTier}`).id(`tfg:grapplemod/upgrades/throwspeed/${throwUpgradeType.electricTier}`);
//Remove Throwspeed
- shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`, '#forge:tools/hammers'], (customization, orig, result) =>
- {
+ shapelessUpgradeRecipe([`gtceu:${throwUpgradeType.electricTier}_electric_piston`, '#forge:tools/hammers'], (customization, orig, result) => {
let throwSpeed = throwUpgradeType.throwSpeed;
- if(customization.throwspeed != throwSpeed)
- {
+ if (customization.throwspeed !== throwSpeed) {
return null;
}
@@ -631,10 +554,8 @@ function registerGrapplingHookRecipes(event)
})
//Add Double Hook
- shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head'], (customization, orig, result) =>
- {
- if(customization.doublehook)
- {
+ shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head'], (customization, orig, result) => {
+ if (customization.doublehook) {
return null;
}
@@ -645,10 +566,8 @@ function registerGrapplingHookRecipes(event)
}, 'tfg.grapplemod.upgrades.doublehook').id('tfg:grapplemod/upgrades/doublehook')
//Remove Double Hook
- shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head', '#forge:tools/hammers'], (customization, orig, result) =>
- {
- if(!customization.doublehook)
- {
+ shapelessUpgradeRecipe(['gtceu:black_steel_pickaxe_head', '#forge:tools/hammers'], (customization, orig, result) => {
+ if (!customization.doublehook) {
return null;
}
@@ -668,10 +587,8 @@ function registerGrapplingHookRecipes(event)
],{
A: '#forge:tools/wrenches',
B: 'grapplemod:grapplinghook'
- }, (customization, orig, result) =>
- {
- if(customization.verticalthrowangle >= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.maxValue)
- {
+ }, (customization, orig, result) => {
+ if (customization.verticalthrowangle >= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.maxValue) {
return null;
}
@@ -686,10 +603,8 @@ function registerGrapplingHookRecipes(event)
],{
A: 'grapplemod:grapplinghook',
B: '#forge:tools/wrenches',
- }, (customization, orig, result) =>
- {
- if(customization.verticalthrowangle <= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.minValue)
- {
+ }, (customization, orig, result) => {
+ if (customization.verticalthrowangle <= ADDITIVE_UPGRADES_MINMAX.verticalThrowAngle.minValue) {
return null;
}
@@ -704,15 +619,12 @@ function registerGrapplingHookRecipes(event)
],{
A: 'grapplemod:grapplinghook',
B: '#forge:tools/screwdrivers'
- }, (customization, orig, result) =>
- {
- if(!customization.doublehook)
- {
+ }, (customization, orig, result) => {
+ if (!customization.doublehook) {
return null;
}
- if(customization.angle >= ADDITIVE_UPGRADES_MINMAX.angle.maxValue)
- {
+ if (customization.angle >= ADDITIVE_UPGRADES_MINMAX.angle.maxValue) {
return null;
}
@@ -726,15 +638,12 @@ function registerGrapplingHookRecipes(event)
],{
A: '#forge:tools/screwdrivers',
B: 'grapplemod:grapplinghook',
- }, (customization, orig, result) =>
- {
- if(!customization.doublehook)
- {
+ }, (customization, orig, result) => {
+ if (!customization.doublehook) {
return null;
}
- if(customization.angle <= ADDITIVE_UPGRADES_MINMAX.angle.minValue)
- {
+ if (customization.angle <= ADDITIVE_UPGRADES_MINMAX.angle.minValue) {
return null;
}
diff --git a/kubejs/server_scripts/greate/recipes.js b/kubejs/server_scripts/greate/recipes.js
index b77afdcb5..20d624b5c 100644
--- a/kubejs/server_scripts/greate/recipes.js
+++ b/kubejs/server_scripts/greate/recipes.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerGreateRecipes(event) {
removeGreateRecipes(event)
@@ -12,61 +15,26 @@ function registerGreateRecipes(event) {
// #region Shafts
- event.shaped('9x greate:andesite_alloy_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/black_bronze'
- }).id('greate:shaped/andesite_alloy_shaft_black_bronze')
+ event.shapeless('9x greate:andesite_alloy_shaft', ['#forge:plates/black_bronze', '#forge:tools/saws'])
+ .id('greate:shaped/andesite_alloy_shaft_black_bronze')
- event.shaped('9x greate:andesite_alloy_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/bronze'
- }).id('greate:shaped/andesite_alloy_shaft_bronze')
+ event.shaped('9x greate:andesite_alloy_shaft', ['#forge:plates/bronze', '#forge:tools/saws'])
+ .id('greate:shaped/andesite_alloy_shaft_bronze')
- event.shaped('9x greate:andesite_alloy_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/bismuth_bronze'
- }).id('greate:shaped/andesite_alloy_shaft_bismuth_bronze')
+ event.shaped('9x greate:andesite_alloy_shaft', ['#forge:plates/bismuth_bronze', '#forge:tools/saws'])
+ .id('greate:shaped/andesite_alloy_shaft_bismuth_bronze')
- event.shaped('9x greate:steel_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/steel'
- }).id('greate:shaped/steel_shaft')
+ event.shaped('9x greate:steel_shaft', ['#forge:plates/steel', '#forge:tools/saws'])
+ .id('greate:shaped/steel_shaft')
- event.shaped('9x greate:aluminium_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/aluminium'
- }).id('greate:shaped/aluminium_shaft')
+ event.shaped('9x greate:aluminium_shaft', ['#forge:plates/aluminium', '#forge:tools/saws'])
+ .id('greate:shaped/aluminium_shaft')
- event.shaped('9x greate:stainless_steel_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/stainless_steel'
- }).id('greate:shaped/stainless_steel_shaft')
+ event.shaped('9x greate:stainless_steel_shaft', ['#forge:plates/stainless_steel', '#forge:tools/saws'])
+ .id('greate:shaped/stainless_steel_shaft')
- event.shaped('9x greate:titanium_shaft', [
- 'A ',
- ' B'
- ], {
- A: '#forge:tools/saws',
- B: '#forge:plates/titanium'
- }).id('greate:shaped/titanium_shaft')
+ event.shaped('9x greate:titanium_shaft', ['#forge:plates/titanium', '#forge:tools/saws'])
+ .id('greate:shaped/titanium_shaft')
generateCutterRecipe(event, '#forge:plates/bronze', '9x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft_bronze')
generateCutterRecipe(event, '#forge:plates/black_bronze', '9x greate:andesite_alloy_shaft', 100, GTValues.VA[GTValues.ULV], 'andesite_alloy_shaft_black_bronze')
diff --git a/kubejs/server_scripts/greate/recipes.recycling.js b/kubejs/server_scripts/greate/recipes.recycling.js
index d4d1d6dfd..5f5c66785 100644
--- a/kubejs/server_scripts/greate/recipes.recycling.js
+++ b/kubejs/server_scripts/greate/recipes.recycling.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerGreateRecyclingRecipes(event) {
// #region Shafts
diff --git a/kubejs/server_scripts/greate/recipes.removes.js b/kubejs/server_scripts/greate/recipes.removes.js
index 8885b73ab..badb54b0d 100644
--- a/kubejs/server_scripts/greate/recipes.removes.js
+++ b/kubejs/server_scripts/greate/recipes.removes.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function removeGreateRecipes(event) {
global.GREATE_DISABLED_ITEMS.forEach(item => {
@@ -15,6 +18,7 @@ function removeGreateRecipes(event) {
event.remove({ mod: 'greate', input: 'create:andesite_alloy' });
event.remove({ mod: 'greate', output: 'minecraft:bamboo_pressure_plate'})
+
event.remove({ id: 'greate:shapeless/large_andesite_alloy_cogwheel_from_little' })
event.remove({ id: 'greate:shapeless/large_steel_cogwheel_from_little' })
@@ -42,4 +46,6 @@ function removeGreateRecipes(event) {
event.remove({ mod: 'greate', type: 'create:deploying' });
event.remove({ mod: 'greate', type: 'create:sequenced_assembly' });
event.remove({ mod: 'greate', type: 'gtceu:assembler' });
+
+ event.remove({ id: 'greate:cutting/integration/create/cutting/runtime_generated/compat/minecraft/bamboo_planks_to_bamboo_button' })
}
diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js
index bd339e5dc..065d0544c 100644
--- a/kubejs/server_scripts/gregtech/data.js
+++ b/kubejs/server_scripts/gregtech/data.js
@@ -29,7 +29,7 @@ const registerGTCEUHeats = (event) => {
forEachMaterial(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
- if (tfcProperty != null) {
+ if (tfcProperty !== null) {
makeItemHeatByTagPrefix(TagPrefix.dustTiny, material, tfcProperty, 0.357)
makeItemHeatByTagPrefix(TagPrefix.dustSmall, material, tfcProperty, 0.714)
makeItemHeatByTagPrefix(TagPrefix.dust, material, tfcProperty, 1.429)
@@ -39,6 +39,7 @@ const registerGTCEUHeats = (event) => {
makeItemHeatByTagPrefix(TagPrefix.nugget, material, tfcProperty, 0.124)
makeItemHeatByTagPrefix(TagPrefix.block, material, tfcProperty, 20)
makeItemHeatByTagPrefix(TagPrefix.rodLong, material, tfcProperty, 1.429)
+ makeItemHeatByTagPrefix(TagPrefix.gearSmall, material, tfcProperty, 1.429)
makeItemHeatByTagPrefix(TagPrefix.ingot, material, tfcProperty, 1.429)
makeItemHeatByTagPrefix(TFGTagPrefix.ingotDouble, material, tfcProperty, 2.875)
@@ -114,6 +115,7 @@ const registerGTCEUMetals = (event) => {
event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', '#forge:double_ingots/red_alloy', '#forge:plates/red_alloy', 2, 'tfg:red_alloy')
event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', '#forge:double_ingots/tin_alloy', '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy')
event.metal('gtceu:lead', 330, 0.01729, '#forge:ingots/lead', '#forge:double_ingots/lead', '#forge:plates/lead', 2, 'tfg:lead')
+ event.metal('gtceu:invar', 1494, 0.00741, '#forge:ingots/invar', '#forge:double_ingots/invar', '#forge:plates/invar', 3, 'tfg:invar')
}
diff --git a/kubejs/server_scripts/gregtech/events.js b/kubejs/server_scripts/gregtech/events.js
index d3b5d31ad..fb3458f0f 100644
--- a/kubejs/server_scripts/gregtech/events.js
+++ b/kubejs/server_scripts/gregtech/events.js
@@ -2,7 +2,7 @@
PlayerEvents.tick((event) => {
const { player } = event;
- if (player.age % 100 == 0 && player.legsArmorItem == 'gtceu:nanomuscle_leggings') {
+ if (player.age % 100 === 0 && player.legsArmorItem === 'gtceu:nanomuscle_leggings') {
player.potionEffects.add("minecraft:speed", 350, 1, true, false);
}
});
diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js
index afed21c16..4769360d6 100644
--- a/kubejs/server_scripts/gregtech/loot.js
+++ b/kubejs/server_scripts/gregtech/loot.js
@@ -168,19 +168,14 @@ const registerGTCEULoots = (event) => {
// I LOVE LOOTJS I LOVE LOOTJS I LOVE LOOTJS
let rawOreBlock = `:${ChemicalHelper.get(TagPrefix.rawOreBlock, material, 1).getItem()}`;
- if (material == GTMaterials.Copper || material == GTMaterials.Gold || material == GTMaterials.Iron)
- {
- rawOreBlock = "minecraft" + rawOreBlock;
- }
- else if (material == TFGHelpers.getMaterial('desh')
- || material == TFGHelpers.getMaterial('ostrum')
- || material == TFGHelpers.getMaterial('calorite'))
- {
- rawOreBlock = "ad_astra" + rawOreBlock;
- }
- else
- {
- rawOreBlock = "gtceu" + rawOreBlock;
+ if (material === GTMaterials.Copper || material === GTMaterials.Gold || material === GTMaterials.Iron) {
+ rawOreBlock = `minecraft${ rawOreBlock}`;
+ } else if (material === TFGHelpers.getMaterial('desh')
+ || material === TFGHelpers.getMaterial('ostrum')
+ || material === TFGHelpers.getMaterial('calorite')) {
+ rawOreBlock = `ad_astra${ rawOreBlock}`;
+ } else {
+ rawOreBlock = `gtceu${ rawOreBlock}`;
}
event.addBlockLootModifier(rawOreBlock)
@@ -198,10 +193,10 @@ const registerGTCEULoots = (event) => {
let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType)
// Material doesn't work here because of reasons
- if (stoneTypeMaterial == null) {
- if (stoneType == "pyroxenite")
+ if (stoneTypeMaterial === null) {
+ if (stoneType === "pyroxenite")
stoneTypeMaterial = GTMaterials.Blackstone;
- else if (stoneType == "deepslate")
+ else if (stoneType === "deepslate")
stoneTypeMaterial = GTMaterials.Deepslate;
}
diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js
index be5fc7682..4ded56c29 100644
--- a/kubejs/server_scripts/gregtech/recipes.js
+++ b/kubejs/server_scripts/gregtech/recipes.js
@@ -16,14 +16,21 @@ const registerGTCEURecipes = (event) => {
//#region Выход: Удобрение
// В обычном миксере
- event.recipes.gtceu.mixer('fertilizer')
+ event.recipes.gtceu.mixer('tfg:fertilizer')
.itemInputs(
'#tfc:dirt',
'2x #tfg:wood_dusts',
'4x #forge:sand'
)
.circuit(1)
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 1000")
+ .itemOutputs('4x gtceu:fertilizer')
+ .duration(300)
+ .EUt(30)
+
+ event.recipes.gtceu.mixer('tfg:fertilizer_2')
+ .itemInputs('tfc:compost')
+ .inputFluids('#tfg:clean_water 1000')
.itemOutputs('4x gtceu:fertilizer')
.duration(300)
.EUt(30)
@@ -110,24 +117,6 @@ const registerGTCEURecipes = (event) => {
//#endregion
- //#region Выход: Каменный стержень
-
- // Из сырого камня
- event.recipes.gtceu.lathe('stone_rod_from_stone')
- .itemInputs('#tfc:rock/raw')
- .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust')
- .duration(15)
- .EUt(2)
-
- // Из булыжника
- event.recipes.gtceu.lathe('stone_rod_from_cobblestone')
- .itemInputs('#forge:cobblestone')
- .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust')
- .duration(15)
- .EUt(2)
-
- //#endregion
-
//#region Выход: Пропитанные доски
event.remove({ id: 'gtceu:shaped/treated_wood_planks' })
@@ -209,56 +198,56 @@ const registerGTCEURecipes = (event) => {
event.recipes.gtceu.brewery('biomass_from_tfc_seeds')
.itemInputs('#tfc:seeds')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_tfc_food')
.itemInputs('#tfc:foods')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_tfc_plants')
.itemInputs('#tfc:plants')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_tfc_corals')
.itemInputs('#tfc:corals')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_spider_eyes')
.itemInputs('minecraft:spider_eye')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_leaves')
.itemInputs('#minecraft:leaves')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_fallen_leaves')
.itemInputs('#tfc:fallen_leaves')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
event.recipes.gtceu.brewery('biomass_from_minecraft_plants')
.itemInputs('#createaddition:plants')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(128)
.EUt(3)
@@ -288,13 +277,13 @@ const registerGTCEURecipes = (event) => {
//#region Выход: Цемент
generateMixerRecipe(event, ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'],
- JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}), [], null, Fluid.of('gtceu:concrete', 1152), 40, 16, 64, 'concrete_from_marble')
+ "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_marble')
generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:clay_dust'],
- JsonIO.of({ amount: 500, value: { tag: "tfg:clean_water" }}), [], null, Fluid.of('gtceu:concrete', 576), 20, 16, 64, 'concrete_from_clay')
+ "#tfg:clean_water 500", [], null, 'gtceu:concrete 576', 20, 16, 64, 'concrete_from_clay')
generateMixerRecipe(event, ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'],
- JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}), [], null, Fluid.of('gtceu:concrete', 1152), 40, 16, 64, 'concrete_from_calcite')
+ "#tfg:clean_water 1000", [], null, 'gtceu:concrete 1152', 40, 16, 64, 'concrete_from_calcite')
//GT light/dark concrete recipe fix
@@ -356,18 +345,8 @@ const registerGTCEURecipes = (event) => {
//#region Выход: Бурильная жидкость
- generateMixerRecipe(
- event,
- ['2x #tfg:stone_dusts'],
- [Fluid.of('gtceu:lubricant', 20), JsonIO.of({ amount: 4000, value: { tag: "tfg:clean_water" }})],
- [],
- null,
- Fluid.of('gtceu:drilling_fluid', 5000),
- 40,
- 16,
- 64,
- 'drilling_fluid'
- )
+ generateMixerRecipe(event, ['2x #tfg:stone_dusts'], ['gtceu:lubricant 20', "#tfg:clean_water 4000"],
+ [], null, Fluid.of('gtceu:drilling_fluid', 5000), 40, 16, 64, 'drilling_fluid')
//#endregion
@@ -890,14 +869,14 @@ const registerGTCEURecipes = (event) => {
.fluidOutput(Fluid.of('tfg:vulcanized_latex', 1000))
.id('tfg:pot/vulcanized_latex')
- event.recipes.gtceu.chemical_reactor('tfg:/latex_to_vulcanized_latex')
- .duration(200)
+ event.recipes.gtceu.chemical_reactor('tfg:latex_to_vulcanized_latex')
+ .duration(100)
.EUt(20)
.itemInputs('tfc:powder/sulfur')
.inputFluids(Fluid.of('tfg:latex', 1000))
.outputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
- event.recipes.gtceu.fluid_solidifier('tfg:/vulcanized_latex_to_raw_rubber_pulp')
+ event.recipes.gtceu.fluid_solidifier('tfg:vulcanized_latex_to_raw_rubber_pulp')
.duration(100)
.EUt(20)
.inputFluids(Fluid.of('tfg:vulcanized_latex', 1000))
@@ -1010,11 +989,11 @@ const registerGTCEURecipes = (event) => {
forEachMaterial(material => {
const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
- if (tfcProperty == null)
+ if (tfcProperty === null)
return;
- const outputMaterial = tfcProperty.getOutputMaterial() == null ? material : tfcProperty.getOutputMaterial()
- if (outputMaterial == GTMaterials.Iron) {
+ const outputMaterial = tfcProperty.getOutputMaterial() === null ? material : tfcProperty.getOutputMaterial()
+ if (outputMaterial === GTMaterials.Iron) {
event.recipes.gtceu.steam_bloomery(`steam_raw_iron_bloom_coal_${material.getName()}`)
.itemInputs(ChemicalHelper.get(TagPrefix.dust, material, 1), '#tfc:steam_bloomery_basic_fuels')
.itemOutputs('tfc:raw_iron_bloom')
@@ -1069,12 +1048,12 @@ const registerGTCEURecipes = (event) => {
event.recipes.gtceu.centrifuge('gtceu:stone_dust_separation')
.itemInputs('gtceu:stone_dust')
- .chancedOutput('#forge:dusts/quartzite', 2500, 0)
- .chancedOutput('#forge:dusts/potassium_feldspar', 2500, 0)
- .chancedOutput('#forge:dusts/marble', 2222, 0)
- .chancedOutput('#forge:dusts/biotite', 1111, 0)
- .chancedOutput('#forge:dusts/metal_mixture', 825, 80)
- .chancedOutput('#forge:dusts/sodalite', 550, 55)
+ .chancedOutput('#forge:small_dusts/quartzite', 2500, 0)
+ .chancedOutput('#forge:small_dusts/potassium_feldspar', 2500, 0)
+ .chancedOutput('#forge:small_dusts/marble', 2222, 0)
+ .chancedOutput('#forge:small_dusts/biotite', 1111, 0)
+ .chancedOutput('#forge:small_dusts/metal_mixture', 825, 80)
+ .chancedOutput('#forge:small_dusts/sodalite', 550, 55)
.duration(12 * 20)
.EUt(GTValues.VA[GTValues.HV])
@@ -1131,48 +1110,12 @@ const registerGTCEURecipes = (event) => {
//#endregion
- //#region Credits
-
- event.remove({ id: 'gtceu:forming_press/credit_cupronickel' })
-
- event.recipes.gtceu.forming_press('gtceu:copper_credit')
- .itemInputs('#forge:ingots/copper')
- .notConsumable('gtceu:credit_casting_mold')
- .itemOutputs('8x gtceu:copper_credit')
- .duration(50)
- .EUt(2)
-
- event.recipes.tfc.anvil('8x gtceu:copper_credit', '#forge:ingots/copper', ['bend_last', 'punch_not_last', 'draw_not_last'])
- .tier(1)
- .id(`tfc:anvil/copper_credit`)
-
- event.recipes.tfc.heating('gtceu:copper_credit', GTMaterials.Copper.getProperty(TFGPropertyKey.TFC_PROPERTY).getMeltTemp())
- .resultFluid(Fluid.of(GTMaterials.Copper.getFluid(), 144 / 8))
- .id(`tfc:heating/copper_credit`)
-
- event.custom({
- type: 'vintageimprovements:curving',
- ingredients: [{ tag: 'forge:ingots/copper' }],
- itemAsHead: 'gtceu:credit_casting_mold',
- results: [{ item: 'gtceu:copper_credit', count: 8 }],
- processingTime: 50
- }).id(`tfg:vi/curving/copper_credit`)
-
- event.recipes.gtceu.extractor('gtceu:copper_credit')
- .itemInputs('gtceu:copper_credit')
- .outputFluids(Fluid.of(GTMaterials.Copper.getFluid(), 144 / 8))
- .category(GTRecipeCategories.EXTRACTOR_RECYCLING)
- .duration(10)
- .EUt(2)
-
- //#endregion
-
//#region GT Facades
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
- let facadeNBT = "{Facade: {Count:1b,id:" + "'" + blockID + "'" + "}}"
+ let facadeNBT = `{Facade: {Count:1b,id:` + `'${ blockID }'` + `}}`
result.nbt = facadeNBT
return result;
}).id('gtceu:facade_cover');
@@ -1181,7 +1124,7 @@ const registerGTCEURecipes = (event) => {
.modifyResult((craftingGrid, result) => {
let blockID = craftingGrid.find(Ingredient.of("#tfg:whitelisted/facades")).id
- let facadeNBT = "{Facade: {Count:1b,id:" + "'" + blockID + "'" + "}}"
+ let facadeNBT = `{Facade: {Count:1b,id:` + `'${ blockID }'` + `}}`
result.nbt = facadeNBT
return result;
}).id('gtceu:facade_cover32');
@@ -1273,20 +1216,27 @@ const registerGTCEURecipes = (event) => {
event.recipes.gtceu.chemical_reactor('tfg:chlorine_pentafluoride')
.inputFluids(Fluid.of('gtceu:fluorine', 5000), Fluid.of('gtceu:chlorine', 1000))
.outputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000))
- .duration(20*10)
+ .duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.chemical_reactor('tfg:chloryl_fluoride')
.inputFluids(Fluid.of('tfg:chlorine_pentafluoride', 1000), Fluid.of('minecraft:water', 2000))
.outputFluids(Fluid.of('tfg:chloryl_fluoride', 1000), Fluid.of('gtceu:hydrofluoric_acid', 4000))
- .duration(20*10)
+ .duration(20*5)
.EUt(GTValues.VA[GTValues.HV])
event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant')
.inputFluids(Fluid.of('tfg:chloryl_fluoride', 3000), Fluid.of('gtceu:helium_3', 8000), Fluid.of('minecraft:water', 8000))
.outputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:hydrofluoric_acid', 3000), Fluid.of('gtceu:hypochlorous_acid', 3000))
- .duration(20*10)
- .EUt(GTValues.VA[GTValues.EV])
+ .duration(20*5)
+ .EUt(GTValues.VH[GTValues.EV])
+
+ event.recipes.gtceu.large_chemical_reactor('tfg:solar_coolant_t2')
+ .inputFluids(Fluid.of('tfg:solar_coolant', 1000), Fluid.of('gtceu:argon', 1000))
+ .itemInputs(Item.of('#forge:aerogels'))
+ .outputFluids(Fluid.of('tfg:solar_coolant_tier2', 1000))
+ .duration(20*15)
+ .EUt(GTValues.VH[GTValues.IV])
//#endregion
@@ -1309,4 +1259,79 @@ const registerGTCEURecipes = (event) => {
.circuit(0)
.duration(50)
.EUt(2)
+
+ // Matches
+
+ event.shapeless('4x gtceu:matches', ['#forge:dusts/phosphorus', 'tfc:glue', '4x #forge:bolts/wood'])
+ .id('tfg:shapeless/phosphorus_matches')
+
+ event.shapeless('4x gtceu:matches', ['#forge:dusts/tricalcium_phosphate', 'tfc:glue', '4x #forge:bolts/wood'])
+ .id('tfg:shapeless/tricalcium_phosphate_matches')
+
+ event.shapeless(Item.of('gtceu:matchbox', '{usesLeft:8}'), ['minecraft:paper', '8x gtceu:matches'])
+ .id('tfg:shapeless/matchbox')
+
+ // TODO: Nano CPU use Nuclear Tritiated Water COMMENTED UNTIL MARS IS OUT
+/*
+ event.remove({ id: 'gtceu:chemical_reactor/nano_cpu_wafer' })
+ event.remove({ id: 'gtceu:large_chemical_reactor/nano_cpu_wafer' })
+
+ event.recipes.gtceu.chemical_reactor('tfg:nano_cpu_wafer')
+ .inputFluids(Fluid.of('gtceu:tritiated_water', 576))
+ .itemInputs('gtceu:cpu_wafer', '16x gtceu:carbon_fibers')
+ .itemOutputs('gtceu:nano_cpu_wafer')
+ .duration(20*60)
+ .EUt(GTValues.VA[GTValues.EV])
+ .cleanroom(CleanroomType.CLEANROOM)
+
+ // Remove Plutonium from centrifuging Uranium dust
+
+ event.remove({ id: 'gtceu:centrifuge/uranium_238_separation' })
+
+ event.recipes.gtceu.centrifuge('tfg:uranium_238_separation')
+ .itemInputs('#forge:dusts/uranium')
+ .chancedOutput('#forge:tiny_dusts/uranium_235', 2300, 0)
+ .duration(20*40)
+ .EUt(GTValues.VA[GTValues.HV])
+*/
+ // Change the Large Centrifugal Unit to be craftable at EV
+
+ event.remove({ id: 'gtceu:shaped/large_centrifuge' })
+
+ event.shaped('gtceu:large_centrifuge', [
+ 'EFE',
+ 'ADA',
+ 'BCB'
+ ], {
+ A: '#gtceu:circuits/iv',
+ B: 'gtceu:ev_electric_motor',
+ C: 'gtceu:aluminium_single_cable',
+ D: 'gtceu:ev_centrifuge',
+ E: 'gtceu:molybdenum_disilicide_spring',
+ F: 'gtceu:stainless_steel_huge_fluid_pipe'
+ }).id('tfg:shaped/large_centrifuge')
+
+ event.recipes.gtceu.extractor('tfg:logs_to_wood_gas')
+ .itemInputs('#minecraft:logs_that_burn')
+ .outputFluids('gtceu:wood_gas 100')
+ .duration(100)
+ .EUt(GTValues.VA[GTValues.LV])
+
+
+ // Buttons
+ event.replaceOutput({ id: 'gtceu:cutter/blackstone_button' }, 'minecraft:polished_blackstone_button', '6x minecraft:polished_blackstone_button')
+ event.replaceOutput({ id: 'gtceu:cutter/blackstone_button_water' }, 'minecraft:polished_blackstone_button', '6x minecraft:polished_blackstone_button')
+ event.replaceOutput({ id: 'gtceu:cutter/blackstone_button_distilled_water' }, 'minecraft:polished_blackstone_button', '6x minecraft:polished_blackstone_button')
+ removeCutterRecipe(event, 'blackstone_button')
+ removeCutterRecipe(event, 'blackstone_button_water')
+ removeCutterRecipe(event, 'blackstone_button_distilled_water')
+
+ event.replaceOutput({ id: 'gtceu:cutter/bamboo_button' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
+ event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
+ event.replaceOutput({ id: 'gtceu:cutter/bamboo_button_distilled_water' }, 'minecraft:bamboo_button', '6x minecraft:bamboo_button')
+
+ event.replaceOutput({ id: 'gtceu:cutter/treated_button' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
+ event.replaceOutput({ id: 'gtceu:cutter/treated_button_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
+ event.replaceOutput({ id: 'gtceu:cutter/treated_button_distilled_water' }, 'gtceu:treated_wood_button', '6x gtceu:treated_wood_button')
+
}
diff --git a/kubejs/server_scripts/gregtech/recipes.machines.js b/kubejs/server_scripts/gregtech/recipes.machines.js
index 20dd50645..183feaa64 100644
--- a/kubejs/server_scripts/gregtech/recipes.machines.js
+++ b/kubejs/server_scripts/gregtech/recipes.machines.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerGTCEuMachineRecipes(event) {
//#region Выход: Filter Casing
@@ -684,8 +687,8 @@ function registerGTCEuMachineRecipes(event) {
.itemOutputs('gtceu:high_performance_computation_array')
.duration(60 * 20)
.EUt(100000)
- ["scannerResearch(java.util.function.UnaryOperator)"](b =>
- b.researchStack(Item.of('gtceu:computer_monitor_cover')).EUt(GTValues.VA[GTValues.IV]).duration(120*20))
+ ["scannerResearch(java.util.function.UnaryOperator)"](b =>
+ b.researchStack(Item.of('gtceu:computer_monitor_cover')).EUt(GTValues.VA[GTValues.IV]).duration(120 * 20))
event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer' })
event.recipes.gtceu.assembly_line('me_pattern_buffer')
@@ -702,8 +705,8 @@ function registerGTCEuMachineRecipes(event) {
.itemOutputs('gtceu:me_pattern_buffer')
.duration(30 * 20)
.EUt(GTValues.VA[GTValues.LuV])
- ["scannerResearch(java.util.function.UnaryOperator)"](b =>
- b.researchStack(Item.of('gtceu:luv_dual_input_hatch')).EUt(GTValues.VA[GTValues.LuV]).duration(60*20))
+ ["scannerResearch(java.util.function.UnaryOperator)"](b =>
+ b.researchStack(Item.of('gtceu:luv_dual_input_hatch')).EUt(GTValues.VA[GTValues.LuV]).duration(60 * 20))
event.remove({ id: 'gtceu:assembly_line/me_pattern_buffer_proxy' })
event.recipes.gtceu.assembly_line('me_pattern_buffer_proxy')
@@ -890,19 +893,19 @@ function registerGTCEuMachineRecipes(event) {
event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch' }, 'gtceu:steel_dust', '6x gtceu:steel_dust')
event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch' }, 'gtceu:steel_block', '6x gtceu:steel_ingot')
- event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch'}, 'gtceu:steel_dust', '6x gtceu:steel_dust')
- event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch'}, 'gtceu:steel_block', '6x gtceu:steel_ingot')
+ event.replaceOutput({ id: 'gtceu:macerator/macerate_steam_input_hatch' }, 'gtceu:steel_dust', '6x gtceu:steel_dust')
+ event.replaceOutput({ id: 'gtceu:arc_furnace/arc_steam_input_hatch' }, 'gtceu:steel_block', '6x gtceu:steel_ingot')
// #region Bedrock Miner
event.recipes.gtceu.assembler('gtceu:mv_bedrock_miner')
.itemInputs('1x gtceu:hv_machine_hull',
- '4x #forge:frames/steel',
- '4x #gtceu:circuits/iv',
- '4x gtceu:hv_electric_motor',
- '4x gtceu:hv_robot_arm',
- '4x gtceu:hv_conveyor_module',
- '4x #forge:gears/blue_steel')
+ '4x #forge:frames/steel',
+ '4x #gtceu:circuits/iv',
+ '4x gtceu:hv_electric_motor',
+ '4x gtceu:hv_robot_arm',
+ '4x gtceu:hv_conveyor_module',
+ '4x #forge:gears/blue_steel')
.itemOutputs('gtceu:mv_bedrock_ore_miner')
.duration(400)
.EUt(GTValues.VA[GTValues.HV])
@@ -910,12 +913,12 @@ function registerGTCEuMachineRecipes(event) {
event.recipes.gtceu.assembler('gtceu:hv_bedrock_miner')
.itemInputs('1x gtceu:ev_machine_hull',
- '4x #forge:frames/titanium',
- '4x #gtceu:circuits/luv',
- '4x gtceu:luv_electric_motor',
- '4x gtceu:luv_robot_arm',
- '4x gtceu:luv_conveyor_module',
- '4x #forge:gears/ruridit')
+ '4x #forge:frames/titanium',
+ '4x #gtceu:circuits/luv',
+ '4x gtceu:luv_electric_motor',
+ '4x gtceu:luv_robot_arm',
+ '4x gtceu:luv_conveyor_module',
+ '4x #forge:gears/ruridit')
.itemOutputs('gtceu:hv_bedrock_ore_miner')
.duration(400)
.EUt(GTValues.VA[GTValues.IV])
@@ -923,34 +926,36 @@ function registerGTCEuMachineRecipes(event) {
event.recipes.gtceu.assembler('gtceu:ev_bedrock_miner')
.itemInputs('1x gtceu:iv_machine_hull',
- '4x #forge:frames/tungsten_steel',
- '4x #gtceu:circuits/zpm',
- '4x gtceu:zpm_electric_motor',
- '4x gtceu:zpm_robot_arm',
- '4x gtceu:zpm_conveyor_module',
- '4x #forge:gears/osmiridium')
+ '4x #forge:frames/tungsten_steel',
+ '4x #gtceu:circuits/zpm',
+ '4x gtceu:zpm_electric_motor',
+ '4x gtceu:zpm_robot_arm',
+ '4x gtceu:zpm_conveyor_module',
+ '4x #forge:gears/osmiridium')
.itemOutputs('gtceu:ev_bedrock_ore_miner')
.duration(400)
.EUt(GTValues.VA[GTValues.ZPM])
.circuit(2)
+ //#endregion
+
event.recipes.gtceu.mixer('gtceu:chipboard_composite_wax')
.itemInputs('2x #tfg:wood_dusts',
- '1x #forge:wax')
+ '1x #forge:wax')
.itemOutputs('2x tfg:chipboard_composite')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.mixer('gtceu:chipboard_composite_resin')
.itemInputs('4x #tfg:wood_dusts',
- '1x gtceu:sticky_resin')
+ '1x gtceu:sticky_resin')
.itemOutputs('4x tfg:chipboard_composite')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
event.recipes.gtceu.mixer('gtceu:chipboard_composite_glue')
.itemInputs('2x #tfg:wood_dusts',
- '1x tfc:glue')
+ '1x tfc:glue')
.itemOutputs('2x tfg:chipboard_composite')
.duration(100)
.EUt(GTValues.VA[GTValues.LV])
@@ -984,18 +989,42 @@ function registerGTCEuMachineRecipes(event) {
//#region New Casings
- event.recipes.gtceu.assembler('red_solar_casing')
- .itemInputs('gtceu:steel_machine_casing', 'ad_astra:photovoltaic_vesnium_cell')
- .itemOutputs('tfg:casings/machine_casing_red_solar_panel')
+ event.recipes.gtceu.assembler('basic_solar_casing')
+ .itemInputs('gtceu:steel_machine_casing', 'tfg:photo_cell_t1')
+ .itemOutputs('8x tfg:casings/machine_casing_blue_solar_panel')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
.circuit(6)
- .duration(2.5*20)
+ .duration(2.5 * 20)
+ .EUt(16)
+
+ event.recipes.gtceu.assembler('advanced_solar_casing')
+ .itemInputs('8x tfg:casings/machine_casing_blue_solar_panel', 'ad_astra:photovoltaic_etrium_cell')
+ .itemOutputs('8x tfg:casings/machine_casing_green_solar_panel')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
+ .circuit(6)
+ .duration(2.5 * 20)
+ .EUt(16)
+
+ event.recipes.gtceu.assembler('elite_solar_casing')
+ .itemInputs('8x tfg:casings/machine_casing_green_solar_panel', 'ad_astra:photovoltaic_vesnium_cell')
+ .itemOutputs('8x tfg:casings/machine_casing_red_solar_panel')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
+ .circuit(6)
+ .duration(2.5 * 20)
.EUt(16)
event.recipes.gtceu.assembler('iron_desh_casing')
- .itemInputs('6x gtceu:steel_plate', 'gtceu:desh_frame')
+ .itemInputs(ChemicalHelper.get(TagPrefix.plate, GTMaterials.Steel, 6), 'gtceu:desh_frame')
.itemOutputs('2x tfg:casings/machine_casing_iron_desh')
.circuit(6)
- .duration(2.5*20)
+ .duration(2.5 * 20)
+ .EUt(16)
+
+ event.recipes.gtceu.assembler('steel_machine_casing')
+ .itemInputs(ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4))
+ .itemOutputs('gtceu:steel_machine_casing')
+ .circuit(4)
+ .duration(2.5 * 20)
.EUt(16)
//#endregion
@@ -1003,54 +1032,123 @@ function registerGTCEuMachineRecipes(event) {
//#region Large Solar Panel
event.shaped(
- 'gtceu:large_solar_panel',
- ['WSW', 'TZT', 'WUW'],
- {
- S: 'ad_astra:photovoltaic_vesnium_cell',
- Z: 'ad_astra:solar_panel',
- W: '#gtceu:circuits/ev',
- U: '#forge:gears/rocket_alloy_t1',
- T: '#forge:gears/desh'
- }
+ 'gtceu:large_solar_panel',
+ ['WSW', 'TZT', 'WUW'],
+ {
+ S: 'tfg:photo_cell_t1',
+ Z: 'ad_astra:solar_panel',
+ W: '#gtceu:circuits/ev',
+ U: '#forge:gears/rocket_alloy_t1',
+ T: '#forge:gears/desh'
+ }
).id('gtceu:shaped/large_solar_panel')
+ event.shaped(
+ 'gtceu:large_solar_panel_tier2',
+ ['WSW', 'TZT', 'WUW'],
+ {
+ S: 'ad_astra:photovoltaic_etrium_cell',
+ Z: 'gtceu:large_solar_panel',
+ W: '#gtceu:circuits/iv',
+ U: '#forge:gears/rocket_alloy_t1',
+ T: '#forge:gears/desh'
+ }
+ ).id('gtceu:shaped/large_solar_panel_tier2')
+
+ event.shaped(
+ 'gtceu:large_solar_panel_tier3',
+ ['WSW', 'TZT', 'WUW'],
+ {
+ S: 'ad_astra:photovoltaic_vesnium_cell',
+ Z: 'gtceu:large_solar_panel_tier2',
+ W: '#gtceu:circuits/luv',
+ U: '#forge:gears/rocket_alloy_t1',
+ T: '#forge:gears/desh'
+ }
+ ).id('gtceu:shaped/large_solar_panel_tier3')
+
event.recipes.gtceu.chemical_reactor('advanced_photovoltaic_cell')
- .itemInputs('ad_astra:photovoltaic_etrium_cell',
- '6x gtceu:energium_dust',
- 'gtceu:carbon_fiber_plate')
- .inputFluids(Fluid.of('gtceu:helium_3', 128))
- .itemOutputs('ad_astra:photovoltaic_vesnium_cell')
- .duration(20*10)
- .EUt(GTValues.VA[GTValues.HV])
+ .itemInputs('8x tfg:photo_cell_t1',
+ '6x #forge:dusts/vanadium_gallium',
+ '#forge:insulation_t2/sheet')
+ .inputFluids(Fluid.of('gtceu:helium_3', 1000))
+ .itemOutputs('8x ad_astra:photovoltaic_etrium_cell')
+ .duration(20 * 10)
+ .EUt(GTValues.VA[GTValues.EV])
+
+ event.recipes.gtceu.chemical_reactor('expert_photovoltaic_cell')
+ .itemInputs('8x ad_astra:photovoltaic_etrium_cell',
+ '6x gtceu:energium_dust',
+ '#forge:insulation_t3/sheet')
+ .inputFluids(Fluid.of('tfg:cryogenized_fluix', 1000))
+ .itemOutputs('8x ad_astra:photovoltaic_vesnium_cell')
+ .duration(20 * 10)
+ .EUt(GTValues.VA[GTValues.IV])
// LSP Generating recipes
- event.recipes.gtceu.large_solar_panel('solar_panel_t1')
- .circuit(1)
- .chancedInput('ad_astra:photovoltaic_vesnium_cell', 5, 0) // Slightly lower
- .duration(20*20)
- //.daytime(false)
- .dimension('ad_astra:moon')
- .EUt(-32*64/2)
-
- event.recipes.gtceu.large_solar_panel('solar_panel_t2')
- .circuit(2)
- .notConsumable(InputItem.of('ad_astra:photovoltaic_vesnium_cell'))
- .chancedFluidInput('tfg:solar_coolant 100', 5000, 0)
- .duration(20*20)
- //.daytime(false)
- .dimension('ad_astra:moon')
- .EUt(-((GTValues.V[GTValues.IV])/2))
+ // Solar T1
- event.recipes.gtceu.large_solar_panel('solar_panel_t3')
- .circuit(3)
- .notConsumable(InputItem.of('ad_astra:photovoltaic_vesnium_cell'))
- .chancedFluidInput(Fluid.of('tfg:solar_coolant', 100), 5000, 0)
- .inputFluids(Fluid.of('tfg:cryogenized_fluix', 144))
- .chancedFluidOutput('tfg:fluix 36', 7500, 0)
- .duration(20*20)
- //.daytime(false)
+ event.recipes.gtceu.large_solar_panel('solar_panel_t1_cheap')
+ .notConsumable('tfg:photo_cell_t1')
+ .duration(20 * 20)
+ .daytime(false)
.dimension('ad_astra:moon')
- .EUt(-((GTValues.V[GTValues.LuV])/2))
-
+ .EUt(-(GTValues.V[GTValues.HV]), 2)
+ .circuit(1)
+
+ event.recipes.gtceu.large_solar_panel('solar_panel_t1')
+ .chancedInput('tfg:photo_cell_t1', 500, 0)
+ .duration(20 * 20)
+ .daytime(false)
+ .dimension('ad_astra:moon')
+ .EUt(-((GTValues.V[GTValues.EV])), 2)
+ .circuit(2)
+
+ // Solar T2
+
+ event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2_cheap')
+ .chancedInput('ad_astra:photovoltaic_etrium_cell', 500, 0)
+ .duration(20 * 20)
+ .daytime(false)
+ .dimension('ad_astra:moon')
+ .EUt(-(GTValues.V[GTValues.EV]), 2)
+ .circuit(1)
+
+ event.recipes.gtceu.large_solar_panel_tier2('solar_panel_t2')
+ .notConsumable('ad_astra:photovoltaic_etrium_cell')
+ .perTick(true)
+ .chancedFluidInput('tfg:solar_coolant 10', 5000, 0)
+ .inputFluids('tfg:cryogenized_fluix 40')
+ .outputFluids('tfg:fluix 10')
+ .perTick(false)
+ .duration(20 * 20)
+ .daytime(false)
+ .dimension('ad_astra:moon')
+ .EUt(-(GTValues.V[GTValues.IV]), 2)
+ .circuit(2)
+
+ // Solar T3
+
+ event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3_cheap')
+ .chancedInput('ad_astra:photovoltaic_vesnium_cell', 500, 0)
+ .duration(20 * 20)
+ .daytime(false)
+ .dimension('ad_astra:moon')
+ .EUt(-(GTValues.V[GTValues.IV]), 2)
+ .circuit(1)
+
+ event.recipes.gtceu.large_solar_panel_tier3('solar_panel_t3')
+ .notConsumable('ad_astra:photovoltaic_vesnium_cell')
+ .perTick(true)
+ .chancedFluidInput('tfg:solar_coolant_tier2 10', 5000, 0)
+ .inputFluids('tfg:cryogenized_fluix 40')
+ .outputFluids('tfg:fluix 10')
+ .perTick(false)
+ .duration(20 * 20)
+ .daytime(false)
+ .dimension('ad_astra:moon')
+ .EUt(-(GTValues.V[GTValues.LuV]), 2)
+ .circuit(2)
+
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/gregtech/recipes.materials.js b/kubejs/server_scripts/gregtech/recipes.materials.js
index dacf0dad6..636cd6303 100644
--- a/kubejs/server_scripts/gregtech/recipes.materials.js
+++ b/kubejs/server_scripts/gregtech/recipes.materials.js
@@ -1,22 +1,32 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerGTCEUMetalRecipes(event) {
- const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => {
+ /**
+ * @param {GTToolType} toolType
+ * @param {TagPrefix} headTagPrefix
+ * @param {Internal.ItemStack} extruderMold
+ * @param {number} circuitMeta
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ * @returns
+ */
+ function makeToolRecipe(toolType, headTagPrefix, extruderMold, circuitMeta, material) {
const toolItem = ToolHelper.get(toolType, material)
- if (toolItem.isEmpty())
- return
+
+ if (toolItem.isEmpty()) return
const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1)
- if (toolHeadItem.isEmpty())
- return
+
+ if (toolHeadItem.isEmpty()) return
// Skip this one because it has a duping bug, and you can't remove the macerator/arc furnace iron pick recipes
- if (material == GTMaterials.Iron)
- return;
+ if (material === GTMaterials.Iron) return;
- if (toolType == GTToolType.WRENCH) {
+ if (toolType === GTToolType.WRENCH) {
event.recipes.tfc.advanced_shaped_crafting(
TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [
'ABC',
@@ -28,8 +38,7 @@ function registerGTCEUMetalRecipes(event) {
D: `#forge:bolts/${material.getName()}`
}, 0, 0)
.id(`gtceu:shaped/${toolType.name}_${material.getName()}`)
- }
- else if (toolType == GTToolType.WIRE_CUTTER) {
+ } else if (toolType === GTToolType.WIRE_CUTTER) {
event.recipes.tfc.advanced_shaped_crafting(
TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(), [
' AD',
@@ -41,18 +50,24 @@ function registerGTCEUMetalRecipes(event) {
D: '#forge:tools/screwdrivers'
}, 0, 1)
.id(`gtceu:shaped/${toolType.name}_${material.getName()}`)
- }
- else {
+ } else {
event.recipes.tfc.advanced_shapeless_crafting(
TFC.itemStackProvider.of(toolItem).copyForgingBonus().copyHeat(),
[toolHeadItem, '#forge:rods/wooden'], toolHeadItem)
.id(`gtceu:shaped/${toolType.name}_${material.getName()}`)
}
- processToolHead(headTagPrefix, extruderMold, cirucitMeta, material)
+ processToolHead(headTagPrefix, extruderMold, circuitMeta, material)
}
- const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => {
+ /**
+ * @param {TagPrefix} headTagPrefix
+ * @param {Internal.ItemStack} extruderMold
+ * @param {number} circuitMeta
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processToolHead(headTagPrefix, extruderMold, circuitMeta, material) {
+
const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1)
if (toolHeadItem.isEmpty())
return
@@ -61,10 +76,10 @@ function registerGTCEUMetalRecipes(event) {
if (material.hasProperty(PropertyKey.INGOT)) {
const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1)
- if (ingotItem.isEmpty() || ingotItem.hasTag('c:hidden_from_recipe_viewers'))
+ if (ingotItem.isEmpty() || ingotItem.hasTag('c:hidden_from_recipe_viewers'))
return
- const materialAmount = Math.floor(headTagPrefix.materialAmount() / GTValues.M) == 1 ? 1 : 2;
+ const materialAmount = Math.floor(headTagPrefix.materialAmount() / GTValues.M) === 1 ? 1 : 2;
event.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(ingotItem.copyWithCount(materialAmount))
@@ -74,7 +89,7 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.LV])
let ingotArray = [];
- for (var i = 0; i < materialAmount; i++)
+ for (let i = 0; i < materialAmount; i++)
ingotArray.push(ingotItem)
event.custom({
@@ -99,7 +114,7 @@ function registerGTCEUMetalRecipes(event) {
.category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
.EUt(GTValues.VA[GTValues.LV])
- if (GTMaterials.Stone != material) {
+ if (GTMaterials.Stone !== material) {
event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(toolHeadItem)
.outputFluids(Fluid.of(material.getFluid(), materialAmount * 144))
@@ -117,7 +132,7 @@ function registerGTCEUMetalRecipes(event) {
event.recipes.gtceu.laser_engraver(`tfg:engrave_${material.getName()}_gem_to_${new String(headTagPrefix.name).toLowerCase()}_head`)
.itemInputs(gemItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M)))
.notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1))
- .circuit(cirucitMeta)
+ .circuit(circuitMeta)
.itemOutputs(toolHeadItem)
.duration(material.getMass() * 6)
.EUt(GTValues.VA[GTValues.LV])
@@ -132,7 +147,11 @@ function registerGTCEUMetalRecipes(event) {
// else: ignore :3
}
- const processToolMortar = (toolType, material) => {
+ /**
+ * @param {GTToolType} toolType
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processToolMortar(toolType, material) {
const toolItem = ToolHelper.get(toolType, material)
if (toolItem.isEmpty())
return
@@ -155,14 +174,16 @@ function registerGTCEUMetalRecipes(event) {
).id(`gtceu:shaped/mortar_${material.getName()}`)
}
- const processIngot = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processIngot(material) {
const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
if (material.hasFlag(MaterialFlags.GENERATE_PLATE)
- && material != GTMaterials.Wood
- && material != GTMaterials.TreatedWood
- && !material.hasProperty(PropertyKey.POLYMER))
- {
+ && material !== GTMaterials.Wood
+ && material !== GTMaterials.TreatedWood
+ && !material.hasProperty(PropertyKey.POLYMER)) {
const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1)
const blockStack = ChemicalHelper.get(TagPrefix.block, material, 1)
@@ -177,9 +198,9 @@ function registerGTCEUMetalRecipes(event) {
//processingTime: material.getMass() // TODO - controlled by a global config argh
}).id(`tfg:rolling/${material.getName()}_plate`)
- if (!blockStack.isEmpty() && GTMaterials.Stone != material) {
+ if (!blockStack.isEmpty() && GTMaterials.Stone !== material) {
let ingotArray = [];
- for (var i = 0; i < matAmount; i++)
+ for (let i = 0; i < matAmount; i++)
ingotArray.push(ingotStack)
// 9х Слиток -> Блок
@@ -189,8 +210,7 @@ function registerGTCEUMetalRecipes(event) {
.heated()
.id(`greate:compacting/${material.getName()}_block`)
}
- }
- else {
+ } else {
if (!blockStack.isEmpty() && !blockStack.hasTag('c:hidden_from_recipe_viewers')) {
// Блок из гемов -> 9 Пластин
event.recipes.greate.cutting(plateStack.withCount(matAmount), blockStack)
@@ -201,23 +221,40 @@ function registerGTCEUMetalRecipes(event) {
}
}
- const processPlate = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processPlate(material) {
const item = ChemicalHelper.get(TagPrefix.plate, material, 1)
- if (item.isEmpty())
- return
+ if (item.isEmpty()) return
event.remove({ id: `gtceu:shaped/plate_${material.getName()}` })
}
- const processPlateDouble = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processPlateDouble(material) {
const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1)
- if (doublePlateItem.isEmpty() || doublePlateItem.hasTag('c:hidden_from_recipe_viewers'))
- return
+ if (doublePlateItem.isEmpty() || doublePlateItem.hasTag('c:hidden_from_recipe_viewers')) return
const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1)
event.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` })
- if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) == null) {
+ if (material === GTMaterials.CobaltBrass || material === GTMaterials.Potin) {
+ event.recipes.greate.compacting(doublePlateItem, [plateItem, plateItem, 'tfc:powder/flux'])
+ .heated()
+ .recipeTier(1)
+ .id(`greate:compacting/${material.getName()}_double_plate`)
+
+ event.remove({ id: `gtceu:bender/bend_${material.getName()}_plate_to_double_plate` })
+ event.recipes.gtceu.bender(`bend_${material.getName()}_plate_to_double_plate_electric_only`)
+ .itemInputs(plateItem.withCount(2))
+ .itemOutputs(doublePlateItem)
+ .circuit(2)
+ .duration(20 * 5.8)
+ .EUt(24)
+ } else if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) === null) {
event.recipes.greate.compacting(doublePlateItem, [plateItem, plateItem, 'tfc:powder/flux'])
.heated()
.recipeTier(2)
@@ -225,7 +262,10 @@ function registerGTCEUMetalRecipes(event) {
}
}
- const processBlock = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processBlock(material) {
const item = ChemicalHelper.get(TagPrefix.block, material, 1)
if (item.isEmpty())
return
@@ -233,11 +273,14 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` })
}
- const processFoil = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processFoil(material) {
const foilItem = ChemicalHelper.get(TagPrefix.foil, material, 4)
const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1)
- if (plateItem != null && foilItem != null && !plateItem.hasTag('c:hidden_from_recipe_viewers')) {
+ if (plateItem !== null && foilItem !== null && !plateItem.hasTag('c:hidden_from_recipe_viewers')) {
event.custom({
type: "createaddition:rolling",
input: plateItem,
@@ -248,9 +291,12 @@ function registerGTCEUMetalRecipes(event) {
}
}
- const processRodLong = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processRodLong(material) {
const longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1)
- if (longRodItem.isEmpty() || longRodItem.hasTag('c:hidden_from_recipe_viewers'))
+ if (longRodItem.isEmpty() || longRodItem.hasTag('c:hidden_from_recipe_viewers'))
return
const shortRodItem = ChemicalHelper.get(TagPrefix.rod, material, 1)
if (shortRodItem.isEmpty() || shortRodItem.hasTag('c:hidden_from_recipe_viewers'))
@@ -259,7 +305,7 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` })
// Rod welding recipes for all of the other non-tfc materials, since those were handled in tfc/recipes.materials.js
- if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) == null) {
+ if (material.getProperty(TFGPropertyKey.TFC_PROPERTY) === null) {
event.recipes.greate.compacting(longRodItem, [shortRodItem, shortRodItem, 'tfc:powder/flux'])
.heated()
.recipeTier(1)
@@ -267,7 +313,10 @@ function registerGTCEUMetalRecipes(event) {
}
}
- const processIngotDouble = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processIngotDouble(material) {
if (!material.hasFlag(TFGMaterialFlags.GENERATE_DOUBLE_INGOTS))
return;
@@ -308,7 +357,10 @@ function registerGTCEUMetalRecipes(event) {
.circuit(3)
}
- const processSmallOre = (material) => {
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
+ function processSmallOre(material) {
if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return;
const smallOre = ChemicalHelper.get(TFGTagPrefix.oreSmall, material, 1);
@@ -322,6 +374,9 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processSmallNativeOre = (material) => {
if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return;
@@ -336,24 +391,23 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processPoorRawOre = (material) => {
const poorOreItem = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1)
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1)
- if (poorOreItem == null || crushedOreItem == null)
- return;
+ if (poorOreItem === null || crushedOreItem === null) return;
const oreProperty = material.getProperty(PropertyKey.ORE)
- const smeltingMaterial = oreProperty.getDirectSmeltResult() == null ? material : oreProperty.getDirectSmeltResult();
+ const smeltingMaterial = oreProperty.getDirectSmeltResult() === null ? material : oreProperty.getDirectSmeltResult();
const multiplier = oreProperty.getOreMultiplier();
- let ingotItem = null;
- if (smeltingMaterial.hasProperty(PropertyKey.INGOT))
- ingotItem = ChemicalHelper.get(TagPrefix.nugget, smeltingMaterial, 5)
- else if (smeltingMaterial.hasProperty(PropertyKey.GEM))
- ingotItem = ChemicalHelper.get(TagPrefix.gemFlawed, smeltingMaterial, 1)
- else
- ingotItem = ChemicalHelper.get(TagPrefix.dustSmall, smeltingMaterial, 1)
+ let ingotItem;
+ if (smeltingMaterial.hasProperty(PropertyKey.INGOT)) ingotItem = ChemicalHelper.get(TagPrefix.nugget, smeltingMaterial, 5)
+ else if (smeltingMaterial.hasProperty(PropertyKey.GEM)) ingotItem = ChemicalHelper.get(TagPrefix.gemFlawed, smeltingMaterial, 1)
+ else ingotItem = ChemicalHelper.get(TagPrefix.dustSmall, smeltingMaterial, 1)
ingotItem.setCount(ingotItem.getCount() * multiplier)
crushedOreItem.setCount(crushedOreItem.getCount() * multiplier)
@@ -369,18 +423,17 @@ function registerGTCEUMetalRecipes(event) {
const gemItem = ChemicalHelper.get(TagPrefix.gem, material, crushedOreItem.getCount());
hammerRecipe.chancedOutput(gemItem, 7500, 950)
- event.recipes.greate.pressing(TieredOutputItem.of(gemItem).withChance(0.75).withExtraTierChance(0.095), poorOreItem)
+ event.recipes.greate.pressing(Item.of(gemItem).withChance(0.75), poorOreItem)
.recipeTier(1)
.id(`greate:pressing/poor_raw_${material.getName()}_to_gem`)
let polishingCount = Math.max(crushedOreItem.getCount() / 2, 1);
event.recipes.create.sandpaper_polishing(gemItem.copyWithCount(polishingCount), poorOreItem)
.id(`tfg:polishing/poor_raw_${material.getName()}_to_gem`)
- }
- else {
+ } else {
hammerRecipe.chancedOutput(crushedOreItem, 7500, 950)
- event.recipes.greate.pressing(TieredOutputItem.of(crushedOreItem).withChance(0.75).withExtraTierChance(0.095), poorOreItem)
+ event.recipes.greate.pressing(Item.of(crushedOreItem).withChance(0.75), poorOreItem)
.recipeTier(1)
.id(`greate:pressing/poor_raw_${material.getName()}_to_crushed_ore`)
}
@@ -394,8 +447,7 @@ function registerGTCEUMetalRecipes(event) {
if (multiplier > 1) {
maceratorRecipe.itemOutputs(crushedOreItem.copyWithCount(multiplier / 2))
- }
- else {
+ } else {
maceratorRecipe.chancedOutput(crushedOreItem, 5000, 750)
}
maceratorRecipe.chancedOutput(crushedOreItem.copyWithCount(1), 2500, 500)
@@ -407,8 +459,7 @@ function registerGTCEUMetalRecipes(event) {
crushedOreItem.copyWithCount(multiplier / 2),
poorOreItem
).id(`tfg:quern/${material.getName()}_crushed_ore_from_poor_raw_ore`)
- }
- else {
+ } else {
event.recipes.tfc.quern(
ChemicalHelper.get(TagPrefix.dustSmall, material, 2),
poorOreItem
@@ -416,23 +467,26 @@ function registerGTCEUMetalRecipes(event) {
}
// Smelting
- if (!material.hasProperty(PropertyKey.BLAST)) {
+ if (!material.hasProperty(PropertyKey.BLAST) && !ingotItem.isEmpty()) {
event.smelting(ingotItem, poorOreItem).id(`gtceu:smelting/smelt_poor_raw_${material.getName()}_ore_to_ingot`)
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processNormalRawOre = (material) => {
const oreProperty = material.getProperty(PropertyKey.ORE)
const multiplier = oreProperty.getOreMultiplier();
const normalOreItem = ChemicalHelper.get(TagPrefix.rawOre, material, 1)
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, multiplier)
- if (normalOreItem == null || crushedOreItem == null)
+ if (normalOreItem === null || crushedOreItem === null)
return;
- const smeltingMaterial = oreProperty.getDirectSmeltResult() == null ? material : oreProperty.getDirectSmeltResult();
+ const smeltingMaterial = oreProperty.getDirectSmeltResult() === null ? material : oreProperty.getDirectSmeltResult();
- let ingotItem = null;
+ let ingotItem;
if (smeltingMaterial.hasProperty(PropertyKey.INGOT))
ingotItem = ChemicalHelper.get(TagPrefix.ingot, smeltingMaterial, multiplier)
else if (smeltingMaterial.hasProperty(PropertyKey.GEM))
@@ -457,8 +511,7 @@ function registerGTCEUMetalRecipes(event) {
event.recipes.create.sandpaper_polishing(gemItem, normalOreItem)
.id(`tfg:polishing/raw_${material.getName()}_to_gem`)
- }
- else {
+ } else {
hammerRecipe.itemOutputs(crushedOreItem)
event.recipes.greate.pressing(crushedOreItem, normalOreItem)
@@ -484,7 +537,7 @@ function registerGTCEUMetalRecipes(event) {
.id(`tfg:quern/${material.getName()}_crushed_ore_from_normal_raw_ore`)
// Smelting
- if (!material.hasProperty(PropertyKey.BLAST)) {
+ if (!material.hasProperty(PropertyKey.BLAST) && !ingotItem.isEmpty()) {
event.smelting(ingotItem, normalOreItem).id(`gtceu:smelting/smelt_raw_${material.getName()}_ore_to_ingot`)
}
@@ -493,18 +546,21 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:forge_hammer/decompress_${material.getName()}_to_raw_ore` })
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processRichRawOre = (material) => {
const oreProperty = material.getProperty(PropertyKey.ORE)
const multiplier = oreProperty.getOreMultiplier() * 2;
const richOreItem = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1)
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, multiplier)
- if (richOreItem == null || crushedOreItem == null)
+ if (richOreItem === null || crushedOreItem === null)
return;
- const smeltingMaterial = oreProperty.getDirectSmeltResult() == null ? material : oreProperty.getDirectSmeltResult();
+ const smeltingMaterial = oreProperty.getDirectSmeltResult() === null ? material : oreProperty.getDirectSmeltResult();
- let ingotItem = null;
+ let ingotItem;
if (smeltingMaterial.hasProperty(PropertyKey.INGOT))
ingotItem = ChemicalHelper.get(TagPrefix.ingot, smeltingMaterial, multiplier)
else if (smeltingMaterial.hasProperty(PropertyKey.GEM))
@@ -529,8 +585,7 @@ function registerGTCEUMetalRecipes(event) {
event.recipes.create.sandpaper_polishing(gemItem, richOreItem)
.id(`tfg:polishing/rich_raw_${material.getName()}_to_gem`)
- }
- else {
+ } else {
hammerRecipe.itemOutputs(crushedOreItem)
event.recipes.greate.pressing(crushedOreItem, richOreItem)
@@ -554,23 +609,26 @@ function registerGTCEUMetalRecipes(event) {
.id(`tfg:quern/${material.getName()}_crushed_ore_from_rich_raw_ore`)
// Smelting
- if (!material.hasProperty(PropertyKey.BLAST)) {
+ if (!material.hasProperty(PropertyKey.BLAST) && !ingotItem.isEmpty()) {
event.smelting(ingotItem, richOreItem).id(`gtceu:smelting/smelt_rich_raw_${material.getName()}_ore_to_ingot`)
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processCrushedOre = (material) => {
const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1)
const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1)
const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1)
- if (crushedOreItem != null && pureOreItem != null) {
+ if (crushedOreItem !== null && pureOreItem !== null) {
// Bulk washing
let byproductMaterial = material.getProperty(PropertyKey.ORE).getOreByProduct(0, material);
const byproductItem = ChemicalHelper.get(TagPrefix.dust, byproductMaterial, 1)
- event.recipes.greate.splashing([pureOreItem, TieredOutputItem.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem)
+ event.recipes.greate.splashing([pureOreItem, Item.of(byproductItem).withChance(0.333), 'gtceu:stone_dust'], crushedOreItem)
.id(`tfg:splashing/${material.getName()}_purified_ore`)
// Dropping in water
@@ -587,40 +645,49 @@ function registerGTCEUMetalRecipes(event) {
}).id(`tfg:ae_transform/${material.getName()}_purified_ore`)
}
- if (crushedOreItem != null && impureDustItem != null) {
+ if (crushedOreItem !== null && impureDustItem !== null) {
event.recipes.greate.pressing(impureDustItem, crushedOreItem)
.recipeTier(1)
.id(`greate:pressing/crushed_${material.getName()}_to_impure_dust`)
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processPurifiedOre = (material) => {
const pureOreItem = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1)
const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1)
- if (pureOreItem != null && pureDustItem != null) {
+ if (pureOreItem !== null && pureDustItem !== null) {
event.recipes.greate.pressing(pureDustItem, pureOreItem)
.recipeTier(1)
.id(`greate:pressing/pure_crushed_${material.getName()}_to_pure_dust`)
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processRefinedOre = (material) => {
const refinedOreItem = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1)
const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1)
- if (refinedOreItem != null && dustItem != null) {
+ if (refinedOreItem !== null && dustItem !== null) {
event.recipes.greate.pressing(dustItem, refinedOreItem)
.recipeTier(1)
.id(`greate:pressing/refined_${material.getName()}_to_dust`)
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processImpureDust = (material) => {
const impureDustItem = ChemicalHelper.get(TagPrefix.dustImpure, material, 1)
const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1)
- if (impureDustItem != null && dustItem != null) {
+ if (impureDustItem !== null && dustItem !== null) {
// Bulk washing
event.recipes.greate.splashing(dustItem, impureDustItem)
@@ -653,11 +720,14 @@ function registerGTCEUMetalRecipes(event) {
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processPureDust = (material) => {
const pureDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1)
const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1)
- if (pureDust != null && dustItem != null) {
+ if (pureDust !== null && dustItem !== null) {
// Bulk washing
event.recipes.greate.splashing(dustItem, pureDust)
@@ -690,6 +760,9 @@ function registerGTCEUMetalRecipes(event) {
}
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processGems = (material) => {
let gem = ChemicalHelper.get(TagPrefix.gem, material, 1);
if (gem.hasTag('c:hidden_from_recipe_viewers'))
@@ -708,7 +781,7 @@ function registerGTCEUMetalRecipes(event) {
.id(`shapeless/mortar_chipped_${material.getName()}`)
let amount = 9;
- if (material == GTMaterials.NetherQuartz || material == GTMaterials.Amethyst)
+ if (material === GTMaterials.NetherQuartz || material === GTMaterials.Amethyst)
amount = 4;
event.recipes.greate.pressing(ChemicalHelper.get(TagPrefix.gem, material, amount), ChemicalHelper.get(TagPrefix.block, material, 1))
@@ -716,10 +789,12 @@ function registerGTCEUMetalRecipes(event) {
.id(`greate:pressing/unpacking_${material.getName()}_block`)
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processAnvil = (material) => {
const anvilStack = ChemicalHelper.get(TFGTagPrefix.anvil, material, 1)
- if (anvilStack == null)
- return;
+ if (anvilStack === null) return;
event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_anvil`)
.itemInputs(anvilStack)
@@ -758,10 +833,12 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processLamp = (material) => {
const finishedLampStack = ChemicalHelper.get(TFGTagPrefix.lamp, material, 1)
- if (finishedLampStack == null)
- return;
+ if (finishedLampStack === null) return;
const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1)
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
@@ -834,10 +911,12 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processTrapdoor = (material) => {
const trapdoorStack = ChemicalHelper.get(TFGTagPrefix.trapdoor, material, 1)
- if (trapdoorStack == null)
- return;
+ if (trapdoorStack === null) return;
const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1)
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
@@ -879,10 +958,12 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processChain = (material) => {
const chainStack = ChemicalHelper.get(TFGTagPrefix.chain, material, 1)
- if (chainStack == null)
- return;
+ if (chainStack === null) return;
const chain2Stack = ChemicalHelper.get(TFGTagPrefix.chain, material, 2)
@@ -927,10 +1008,12 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processBell = (material) => {
const bellStack = ChemicalHelper.get(TFGTagPrefix.bell, material, 1)
- if (bellStack == null)
- return;
+ if (bellStack === null) return;
const materialDustStack = ChemicalHelper.get(TagPrefix.dust, material, 1)
const materialIngotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
@@ -972,11 +1055,13 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processBars = (material) => {
const barsStack = ChemicalHelper.get(TFGTagPrefix.bars, material, 4)
const ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1)
- if (barsStack == null)
- return;
+ if (barsStack === null) return;
event.recipes.gtceu.cutter(`tfg:${material.getName()}_bars`)
.itemInputs(ingotStack)
@@ -985,13 +1070,15 @@ function registerGTCEUMetalRecipes(event) {
.EUt(GTValues.VA[GTValues.LV])
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const processBuzzsawBlade = (material) => {
const buzzsawBladeItem = ChemicalHelper.get(TagPrefix.toolHeadBuzzSaw, material, 1)
const doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1)
- if (buzzsawBladeItem == null || doublePlateItem == null)
- return;
+ if (buzzsawBladeItem === null || doublePlateItem === null) return;
- var isLowTier = material == GTMaterials.CobaltBrass || material.hasProperty(TFGPropertyKey.TFC_PROPERTY)
+ let isLowTier = material === GTMaterials.CobaltBrass || material.hasProperty(TFGPropertyKey.TFC_PROPERTY)
event.recipes.gtceu.lathe(`buzzsaw_gear_${material.getName()}`)
.itemInputs(doublePlateItem)
@@ -1008,9 +1095,36 @@ function registerGTCEUMetalRecipes(event) {
}).id(`tfg:vi/lathe/${material.getName()}_buzzsaw`)
}
+ removeMaceratorRecipe(event, `macerate_${material.getName()}_buzz_saw_blade`)
+ event.recipes.gtceu.macerator(`tfg:macerate_${material.getName()}_buzz_saw_blade`)
+ .itemInputs(buzzsawBladeItem)
+ .itemOutputs(ChemicalHelper.get(TagPrefix.dust, material, 2))
+ .duration(material.getMass() * 6 * 2)
+ .category(GTRecipeCategories.MACERATOR_RECYCLING)
+ .EUt(GTValues.VA[GTValues.ULV])
+
+ event.remove({ id: `gtceu:arc_furnace/arc_${material.getName()}_buzz_saw_blade` })
+ event.recipes.gtceu.arc_furnace(`tfg:arc_furnace_${material.getName()}_buzz_saw_blade`)
+ .itemInputs(buzzsawBladeItem)
+ .itemOutputs(ChemicalHelper.get(TagPrefix.ingot, material, 2))
+ .duration(material.getMass() * 6 * 2)
+ .category(GTRecipeCategories.ARC_FURNACE_RECYCLING)
+ .EUt(GTValues.VA[GTValues.LV])
+
+ event.remove({ id: `gtceu:extractor/extract_${material.getName()}_buzz_saw_blade` })
+ event.recipes.gtceu.extractor(`tfg:extract_${material.getName()}_buzz_saw_blade`)
+ .itemInputs(buzzsawBladeItem)
+ .outputFluids(Fluid.of(material.getFluid(), 2 * 144))
+ .duration(material.getMass() * 6 * 2)
+ .category(GTRecipeCategories.EXTRACTOR_RECYCLING)
+ .EUt(material.hasProperty(PropertyKey.BLAST) ? GTValues.VA[GTValues.MV] : GTValues.VA[GTValues.ULV])
+
event.remove({ id: `gtceu:shaped/buzzsaw_blade_${material.getName()}` })
}
+ /**
+ * @param {com.gregtechceu.gtceu.api.data.chemical.material.Material_} material
+ */
const removePowerToolRecycling = (material) => {
removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_wrench`)
event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_wrench` })
@@ -1020,8 +1134,8 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:arc_furnace/arc_iv_${material.getName()}_wrench` })
removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_chainsaw`)
event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_chainsaw` })
- removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_buzzsaw`)
- event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_buzzsaw` })
+ removeMaceratorRecipe(event, `macerate_${material.getName()}_buzzsaw`)
+ event.remove({ id: `gtceu:arc_furnace/arc_${material.getName()}_buzzsaw` })
removeMaceratorRecipe(event, `macerate_lv_${material.getName()}_drill`)
event.remove({ id: `gtceu:arc_furnace/arc_lv_${material.getName()}_drill` })
removeMaceratorRecipe(event, `macerate_mv_${material.getName()}_drill`)
@@ -1046,8 +1160,7 @@ function registerGTCEUMetalRecipes(event) {
const toolProperty = material.getProperty(PropertyKey.TOOL)
const ingotProperty = material.getProperty(PropertyKey.INGOT)
const oreProperty = material.getProperty(PropertyKey.ORE)
-
- if (toolProperty != null) {
+ if (toolProperty !== null) {
let circuit = 1;
makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', circuit++, material)
makeToolRecipe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', circuit++, material)
@@ -1064,7 +1177,7 @@ function registerGTCEUMetalRecipes(event) {
makeToolRecipe(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', circuit++, material)
makeToolRecipe(GTToolType.SCREWDRIVER, TagPrefix.toolHeadScrewdriver, 'tfg:screwdriver_tip_extruder_mold', circuit++, material)
makeToolRecipe(GTToolType.WRENCH, TagPrefix.toolHeadWrench, 'tfg:wrench_tip_extruder_mold', circuit++, material)
- makeToolRecipe(GTToolType.WIRE_CUTTER, TagPrefix.toolHeadWireCutter, 'tfg:wire_cutter_extruder_mold', circuit++, material)
+ makeToolRecipe(GTToolType.WIRE_CUTTER, TagPrefix.toolHeadWireCutter, 'tfg:wire_cutter_head_extruder_mold', circuit++, material)
processToolMortar(GTToolType.MORTAR, material)
@@ -1073,12 +1186,12 @@ function registerGTCEUMetalRecipes(event) {
processToolHead(TFGTagPrefix.toolHeadChisel, 'tfg:chisel_head_extruder_mold', circuit++, material)
processToolHead(TFGTagPrefix.toolHeadMace, 'tfg:mace_head_extruder_mold', circuit++, material)
processToolHead(TFGTagPrefix.toolHeadMattock, 'tfg:mattock_head_extruder_mold', circuit++, material)
- processToolHead(TFGTagPrefix.toolHeadHook, 'tfg:fish_hook_extruder_mold', circuit++, material)
+ processToolHead(TFGTagPrefix.toolHeadHook, 'tfg:fish_hook_extruder_mold', circuit, material)
removePowerToolRecycling(material)
}
- if (ingotProperty != null) {
+ if (ingotProperty !== null) {
processIngot(material)
processPlate(material)
processPlateDouble(material)
@@ -1099,7 +1212,7 @@ function registerGTCEUMetalRecipes(event) {
event.remove({ id: `gtceu:shaped/spring_small_${material.getName()}` })
}
- if (oreProperty != null) {
+ if (oreProperty !== null) {
processSmallOre(material)
processSmallNativeOre(material)
processPoorRawOre(material)
diff --git a/kubejs/server_scripts/gregtech/recipes.recycling.js b/kubejs/server_scripts/gregtech/recipes.recycling.js
index 4f7392ca3..543ba3668 100644
--- a/kubejs/server_scripts/gregtech/recipes.recycling.js
+++ b/kubejs/server_scripts/gregtech/recipes.recycling.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerGTCEURecyclingRecipes(event) {
// Tantalum Capacitor
diff --git a/kubejs/server_scripts/gregtech/recipes.removes.js b/kubejs/server_scripts/gregtech/recipes.removes.js
index 8d6ed0cb2..4cf7ce9c1 100644
--- a/kubejs/server_scripts/gregtech/recipes.removes.js
+++ b/kubejs/server_scripts/gregtech/recipes.removes.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function removeGTCEURecipes(event) {
event.replaceInput({ input: 'gtceu:wood_drum' }, 'gtceu:wood_drum', 'minecraft:glass')
@@ -600,6 +603,8 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:shaped/gear_diamond' })
event.remove({ id: 'gtceu:shaped/buzzsaw_blade_diamond' })
event.remove({ id: 'gtceu:shaped/purpur_stair_saw' })
+ event.remove({ id: 'gtceu:shaped/bamboo_button' })
+ event.remove({ id: 'gtceu:shaped/treated_button' })
event.remove({ id: 'gtceu:shapeless/glass_full_dust_flint' })
@@ -623,6 +628,7 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:assembler/map' })
event.remove({ id: 'gtceu:assembler/spyglass' })
event.remove({ id: 'gtceu:assembler/assemble_purpur_into_stair' })
+ event.remove({ id: 'gtceu:assembler/stonecutter' })
event.remove({ id: 'gtceu:chemical_reactor/ghast_tear_separation' })
@@ -688,6 +694,9 @@ function removeGTCEURecipes(event) {
event.remove({ id: 'gtceu:shaped/mortar_grind_steel' })
event.remove({ id: 'gtceu:shaped/mortar_grind_wrought_iron' })
+ // Replace by the Heat Exchanger recipe for Mars
+ event.remove({ id: 'gtceu:fluid_heater/formamide' })
+
// Snow Stuffs
event.remove({ id: 'gtceu:fluid_solidifier/snow_block' })
@@ -720,6 +729,25 @@ function removeGTCEURecipes(event) {
})
event.remove({ output: 'gtceu:damascus_steel_crowbar'})
+
+ //removes metal armor
+ const armor = [
+ 'gtceu:bronze_helmet',
+ 'gtceu:bronze_chestplate',
+ 'gtceu:bronze_leggings',
+ 'gtceu:bronze_boots',
+ 'gtceu:steel_helmet',
+ 'gtceu:steel_chestplate',
+ 'gtceu:steel_leggings',
+ 'gtceu:steel_boots',
+ 'gtceu:titanium_helmet',
+ 'gtceu:titanium_chestplate',
+ 'gtceu:titanium_leggings',
+ 'gtceu:titanium_boots'
+ ];
+ armor.forEach(armor => {
+ event.remove({ output: armor})
+ });
}
function removeMaceratorRecipe(event, id) {
diff --git a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js
index 2e32e7bfb..f88e860e2 100644
--- a/kubejs/server_scripts/gregtech/recipes.tfcmetals.js
+++ b/kubejs/server_scripts/gregtech/recipes.tfcmetals.js
@@ -1,8 +1,10 @@
// priority: 0
"use strict";
-function registerGTCEuTFCMetalsRecipes(event)
-{
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
+function registerGTCEuTFCMetalsRecipes(event) {
//#region LV hull
event.replaceInput('gtceu:shaped/lv_machine_hull', '#forge:plates/wrought_iron', '#forge:plates/red_steel')
diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js
index c6a39339a..f62501506 100644
--- a/kubejs/server_scripts/gregtech/tags.js
+++ b/kubejs/server_scripts/gregtech/tags.js
@@ -60,8 +60,7 @@ const registerGTCEUItemTags = (event) => {
event.add('tfg:sugars', 'afc:birch_sugar')
event.add('tfg:sugars', 'afc:maple_sugar')
- global.MINECRAFT_DYE_NAMES.forEach(dyeName =>
- {
+ global.MINECRAFT_DYE_NAMES.forEach(dyeName => {
event.remove('ae2:p2p_attunements/fluid_p2p_tunnel', `gtceu:${dyeName}_dye_bucket`)
})
diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js
index b3b387b99..0ed85c38e 100644
--- a/kubejs/server_scripts/gregtech/utility.js
+++ b/kubejs/server_scripts/gregtech/utility.js
@@ -29,7 +29,7 @@ const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_o
/**
* Applies if circuit param is not empty
*/
- if (circuit != null) {
+ if (circuit !== null) {
recipe.circuit(circuit)
}
}
@@ -47,13 +47,13 @@ const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_o
* @param {string} id -Recipe ID
*/
const generateCutterRecipe = (event, input, output, duration, EUt, id) => {
-
event.recipes.gtceu.cutter(`tfg:${id}`)
.itemInputs(input)
.itemOutputs(output)
.duration(duration)
.EUt(EUt)
}
+
//#endregion
//#region Green House
@@ -62,60 +62,51 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => {
*
* @param {*} event
* @param {string} input -Item (Not consumed)
- * @param {number} fluid_amount -mB (uses #tfg:clean_water)
+ * @param {string} fluid -Fluid ID or tag
+ * @param {number} fluid_amount -Fluid amount, in mB
* @param {string} output -Item (Chanced output uses input item)
* @param {string} id -Recipe ID
* @param {string} dimension -Dimension ID
* @param {number} fertiliser_count
- * @param {string} output_seconday -Item (Optional, if there should be a third output)
- * @param {string} tier - GTValues.VA[] (Optional, defaults to LV)
+ * @param {string|null} output_seconday -Item (Optional, if there should be a third output)
+ * @param {number} EUt
*/
-const generateGreenHouseRecipe = (event, input, fluid_amount, output, id, dimension, fertiliser_count, output_secondary, tier) => {
-
- // Без удобрения (Without fertilizer)
+function generateGreenHouseRecipe(event, input, fluid, fluid_amount, output, id, dimension, fertiliser_count, output_secondary, EUt) {
+ if (EUt === undefined || output_secondary === undefined || fertiliser_count === undefined || dimension === undefined) {
+ throw new TypeError(`Call to generateGreenHouseRecipe for id ${id} is missing args`);
+ }
let r = event.recipes.gtceu.greenhouse(id)
.notConsumable(input)
.circuit(1)
- .inputFluids(JsonIO.of({ amount: fluid_amount, value: { tag: "tfg:clean_water" }}))
+ .inputFluids(`${fluid} ${fluid_amount}`)
.itemOutputs(output)
.chancedOutput(input, 750, 0)
.chancedOutput(input, 500, 0)
.duration(36000) // 30 mins
+ .EUt(EUt)
- if (dimension != null){
+ if (dimension !== null)
r.dimension(dimension)
- }
- if (output_secondary != null){
+ if (output_secondary !== null)
r.chancedOutput(output_secondary, 750, 0)
- }
- if (tier != null){
- r.EUt(tier)
- } else {
- r.EUt(GTValues.VA[GTValues.LV])
- }
+
// С удобрением (With fertilizer)
r = event.recipes.gtceu.greenhouse(`${id}_fertilized`)
.notConsumable(input)
.itemInputs(Item.of('gtceu:fertilizer', fertiliser_count))
.circuit(2)
- .inputFluids(JsonIO.of({ amount: fluid_amount, value: { tag: "tfg:clean_water" }}))
+ .inputFluids(`${fluid} ${fluid_amount}`)
.itemOutputs(output)
.chancedOutput(input, 4000, 0)
.chancedOutput(input, 3000, 0)
.duration(12000) // 10 mins
+ .EUt(EUt)
- if (dimension != null){
+ if (dimension !== null)
r.dimension(dimension)
- }
- if (output_secondary != null){
+ if (output_secondary !== null)
r.chancedOutput(output_secondary, 4000, 0)
- }
- if (tier != null){
- r.EUt(tier)
- } else {
- r.EUt(GTValues.VA[GTValues.LV])
- }
}
//#endregion
@@ -142,12 +133,12 @@ const getFillingNBT = (material, amount) => {
* Function for generating plated block recipes.
*
* @param {*} event
- * @param {GTMaterials} material
+ * @param {GTMaterial} material
*/
function generatePlatedBlockRecipe(event, material) {
// firmaciv plated blocks don't have this property
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
- let outputMaterial = (tfcProperty == null || tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial()
+ let outputMaterial = (tfcProperty === null || tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial()
let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1);
@@ -155,11 +146,11 @@ function generatePlatedBlockRecipe(event, material) {
let platedSlab = ChemicalHelper.get(TFGTagPrefix.slabPlated, material, 1);
let platedStair = ChemicalHelper.get(TFGTagPrefix.stairPlated, material, 1);
- if (platedBlock == null)
+ if (platedBlock === null)
return
let tfcMetalName = material.getName();
- if (tfcMetalName == "iron")
+ if (tfcMetalName === "iron")
tfcMetalName = "cast_iron";
event.recipes.create.item_application(platedBlock, ['#forge:stone_bricks', plateItem])
@@ -173,7 +164,7 @@ function generatePlatedBlockRecipe(event, material) {
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
- if (tfcProperty != null) {
+ if (tfcProperty !== null) {
event.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${tfcMetalName}_block`)
@@ -203,7 +194,7 @@ function generatePlatedBlockRecipe(event, material) {
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
- if (tfcProperty != null) {
+ if (tfcProperty !== null) {
// Slabs are lossy because it's possible to plate a double slab block with one metal plate
event.recipes.tfc.heating(platedSlab, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 72))
@@ -234,7 +225,7 @@ function generatePlatedBlockRecipe(event, material) {
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
- if (tfcProperty != null) {
+ if (tfcProperty !== null) {
event.recipes.tfc.heating(platedStair, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${tfcMetalName}_block_stairs`)
@@ -259,10 +250,10 @@ function generatePlatedBlockRecipe(event, material) {
* Function for iterating through registered materials
* {@link https://github.com/GregTechCEu/GregTech-Modern/blob/1.20.1/src/main/java/com/gregtechceu/gtceu/api/data/chemical/material/Material.java}
*
- * @param {GTCEuAPI.materialManager.getRegisteredMaterials} iterator -Material
+ * @param {(material: com.gregtechceu.gtceu.api.data.chemical.material.Material_) => void} iterator
*/
function forEachMaterial(iterator) {
- for (var material of GTCEuAPI.materialManager.getRegisteredMaterials()) {
+ for (let material of GTCEuAPI.materialManager.getRegisteredMaterials()) {
iterator(material)
}
}
@@ -332,6 +323,13 @@ function woodBuilder(event, name, lumber, logs, log, stripped_log, plank, stair,
.itemOutputs(stripped_log)
.duration(50)
.EUt(GTValues.VA[GTValues.ULV])
+
+ event.custom({
+ type: 'vintageimprovements:turning',
+ ingredients: [{ item: log }],
+ results: [{ item: stripped_log }],
+ processingTime: 50
+ }).id(`tfg:vi/lathe/stripping_${name}_log`)
}
if (logs && lumber && name) {
diff --git a/kubejs/server_scripts/hotornot/tags.js b/kubejs/server_scripts/hotornot/tags.js
index 556bd9d0d..a31e6fced 100644
--- a/kubejs/server_scripts/hotornot/tags.js
+++ b/kubejs/server_scripts/hotornot/tags.js
@@ -8,6 +8,8 @@ const registerHotOrNotItemTags = (event) => {
event.removeAllTagsFrom(item)
event.add('c:hidden_from_recipe_viewers', item)
})
+
+ event.add('tfchotornot:hot_whitelist', '#forge:hot_ingots')
}
const registerHotOrNotBlockTags = (event) => {
diff --git a/kubejs/server_scripts/immersive_aircraft/data.js b/kubejs/server_scripts/immersive_aircraft/data.js
index bb888fb33..37c117716 100644
--- a/kubejs/server_scripts/immersive_aircraft/data.js
+++ b/kubejs/server_scripts/immersive_aircraft/data.js
@@ -5,8 +5,7 @@
* @param {Internal.TFCDataEventJS} evt
*/
-const registerTFCDataForImmersiveAircraft = (evt) =>
-{
+const registerTFCDataForImmersiveAircraft = (evt) => {
evt.itemSize('immersive_aircraft:quadrocopter', 'large', 'heavy');
evt.itemSize('immersive_aircraft:airship', 'very_large', 'heavy');
evt.itemSize('immersive_aircraft:gyrodyne', 'very_large', 'very_heavy');
diff --git a/kubejs/server_scripts/immersive_aircraft/recipes.js b/kubejs/server_scripts/immersive_aircraft/recipes.js
index 84377b668..923c39b7b 100644
--- a/kubejs/server_scripts/immersive_aircraft/recipes.js
+++ b/kubejs/server_scripts/immersive_aircraft/recipes.js
@@ -14,8 +14,7 @@ function registerImmersiveAircraftRecipes(event) {
* @param {string} id
* @param {{input: string, duration: number, outputsMacerator: Internal.ItemStack[], outputsArcFurnace: Internal.ItemStack[]}} args
*/
- let generateRecyclingRecipe = (id, args) =>
- {
+ let generateRecyclingRecipe = (id, args) => {
event.recipes.gtceu.macerator(id)
.itemInputs(args.input)
// macerator only has 6 output slots
@@ -39,17 +38,14 @@ function registerImmersiveAircraftRecipes(event) {
* @param {{tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number}[]} materialToResults
* @returns {input: string, duration: number, outputsMacerator: Internal.ItemStack[], outputsArcFurnace: Internal.ItemStack[]}
*/
- let createRecyclingRecipeArgs = (inputItem, outputMaterialsArray, materialToResults) =>
- {
+ let createRecyclingRecipeArgs = (inputItem, outputMaterialsArray, materialToResults) => {
let outputsMacerator = []
let outputsArcFurnace = []
let duration = 0;
- for(let i = 0; i < outputMaterialsArray.length; i++)
- {
- if(i > 9)
- {
+ for (let i = 0; i < outputMaterialsArray.length; i++) {
+ if (i > 9) {
break;
}
@@ -85,8 +81,7 @@ function registerImmersiveAircraftRecipes(event) {
* @param {number} count
* @returns {tagPrefixMacerator: TagPrefix, tagPrefixArcFurnace: TagPrefix, count: number}
*/
- let createMaterialsToResults = (tagPrefixMacerator, tagPrefixArcFurnace, count) =>
- {
+ let createMaterialsToResults = (tagPrefixMacerator, tagPrefixArcFurnace, count) => {
let result =
{
tagPrefixMacerator: tagPrefixMacerator,
diff --git a/kubejs/server_scripts/immersive_aircraft/tags.js b/kubejs/server_scripts/immersive_aircraft/tags.js
index 1824e8fd4..6ea391132 100644
--- a/kubejs/server_scripts/immersive_aircraft/tags.js
+++ b/kubejs/server_scripts/immersive_aircraft/tags.js
@@ -4,8 +4,7 @@
*
* @param {TagEvent.Item} evt
*/
-const registerImmersiveAircraftItemTags = (evt) =>
-{
+const registerImmersiveAircraftItemTags = (evt) => {
evt.add('c:hidden_from_recipe_viewers', 'immersive_aircraft:propeller');
evt.add('c:hidden_from_recipe_viewers', 'immersive_aircraft:boiler')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js
index 9ce54c7fd..919180713 100644
--- a/kubejs/server_scripts/main_server_script.js
+++ b/kubejs/server_scripts/main_server_script.js
@@ -249,6 +249,7 @@ ServerEvents.recipes(event => {
registerSpeciesRecipes(event)
registerTACZRecipes(event)
registerTFCRecipes(event)
+ registerTFCAmbientalRecipes(event)
registerTFCBetterBFRecipes(event)
registerTFCLunchBoxRecipes(event)
registerTFCGroomingStationRecipes(event)
@@ -270,4 +271,14 @@ TaCZServerEvents.ammoIndexLoad((event) => {
TaCZServerEvents.attachmentIndexLoad((event) => {
attachmentIndexLogic(event)
-})
\ No newline at end of file
+})
+
+TaCZServerEvents.gunDataLoad((event) => {
+ gunDataLogic(event)
+})
+
+TaCZServerEvents.attachmentDataLoad((event) => {
+ attachmentDataLogic(event)
+})
+
+
diff --git a/kubejs/server_scripts/minecraft/recipes.dyes.js b/kubejs/server_scripts/minecraft/recipes.dyes.js
index a7950c2b5..4a7c41962 100644
--- a/kubejs/server_scripts/minecraft/recipes.dyes.js
+++ b/kubejs/server_scripts/minecraft/recipes.dyes.js
@@ -17,7 +17,7 @@ function registerMinecraftDyeRecipes(event) {
`minecraft:${dye}_wool`
]).id(`minecraft:${dye}_carpet`)
- if (dye != 'white') {
+ if (dye !== 'white') {
event.recipes.gtceu.chemical_bath(`tfg:${dye}_carpet`)
.itemInputs(`minecraft:white_carpet`)
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 72))
diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js
index 559ce2df0..6f7b2a40a 100644
--- a/kubejs/server_scripts/minecraft/recipes.js
+++ b/kubejs/server_scripts/minecraft/recipes.js
@@ -42,7 +42,7 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`)
.itemInputs(element.block)
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 150")
.circuit(1)
.itemOutputs(element2.block)
.duration(1000)
@@ -50,7 +50,7 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`)
.itemInputs(element.cutted)
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 150")
.circuit(1)
.itemOutputs(element2.cutted)
.duration(1000)
@@ -58,7 +58,7 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`)
.itemInputs(element.stairs)
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 150")
.circuit(1)
.itemOutputs(element2.stairs)
.duration(1000)
@@ -66,7 +66,7 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`)
.itemInputs(element.slabs)
- .inputFluids(JsonIO.of({ amount: 150, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 150")
.circuit(1)
.itemOutputs(element2.slabs)
.duration(1000)
@@ -105,7 +105,7 @@ const registerMinecraftRecipes = (event) => {
// Обрезанный блок
event.recipes.tfc.damage_inputs_shapeless_crafting(
- event.shapeless('4x ' + element.cutted, [element.block, '#tfc:chisels'])
+ event.shapeless(`4x ${ element.cutted}`, [element.block, '#tfc:chisels'])
).id(`tfg:shapeless/cutted_${element.name}`)
}
@@ -153,7 +153,7 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.chemical_bath('paper_from_papyrus')
.itemInputs('tfc:papyrus')
- .inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 100")
.itemOutputs('minecraft:paper')
.duration(100)
.EUt(7)
@@ -164,7 +164,7 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.centrifuge('sugar_from_sugarcane')
.itemInputs('tfc:food/sugarcane')
- .inputFluids(JsonIO.of({ amount: 600, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 600")
.itemOutputs('minecraft:sugar', 'gtceu:plant_ball')
.duration(800)
.EUt(6)
@@ -230,9 +230,9 @@ const registerMinecraftRecipes = (event) => {
event.recipes.gtceu.chemical_reactor('minecraft:gtceu/chemical_reactor/sponge')
.itemInputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.SodiumBisulfate, 1))
- .inputFluids(Fluid.of('gtceu:polyethylene', 144), JsonIO.of({ amount: 250, value: { tag: "tfg:clean_water" }}))
+ .inputFluids('gtceu:polyethylene 144', "#tfg:clean_water 250")
.itemOutputs('2x minecraft:sponge')
- .outputFluids(Fluid.of('gtceu:sodium_persulfate', 35))
+ .outputFluids('gtceu:sodium_persulfate 35')
.duration(80)
.EUt(GTValues.VA[GTValues.LV])
@@ -1115,6 +1115,8 @@ const registerMinecraftRecipes = (event) => {
event.shapeless('8x minecraft:bone_meal', ['#forge:tools/mortars', 'minecraft:skeleton_skull'])
+ event.replaceInput({ id: 'minecraft:writable_book' }, 'minecraft:ink_sac', '#forge:dyes/black')
+
//Pressure Plates
const PRESSURE_PLATES = [
{type: 'bamboo', material: 'minecraft:bamboo_slab'},
diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js
index 785572351..3e6d0e5e2 100644
--- a/kubejs/server_scripts/minecraft/tags.js
+++ b/kubejs/server_scripts/minecraft/tags.js
@@ -63,18 +63,26 @@ const registerMinecraftItemTags = (event) => {
event.remove('forge:gems', 'minecraft:coal')
event.remove('forge:gems', 'minecraft:flint')
- event.add('tfc:compost_greens_high', 'minecraft:red_mushroom_block')
- event.add('tfc:compost_greens_high', 'minecraft:brown_mushroom_block')
- event.add('tfc:compost_greens_high', 'minecraft:twisting_vines')
+ event.add('tfc:compost_greens', 'minecraft:red_mushroom_block')
+ event.add('tfc:compost_greens', 'minecraft:brown_mushroom_block')
+ event.add('tfc:compost_greens', 'minecraft:moss_block')
+ event.add('tfc:compost_greens_low', 'minecraft:moss_carpet')
+ event.add('tfc:compost_greens_low', 'minecraft:twisting_vines')
event.add('tfc:compost_greens_high', 'minecraft:pearlescent_froglight')
event.add('tfc:compost_greens_high', 'minecraft:verdant_froglight')
event.add('tfc:compost_greens_high', 'minecraft:ochre_froglight')
+ event.add('tfc:moss', 'minecraft:moss_carpet')
event.add('tfc:colored_terracotta', 'minecraft:white_terracotta')
event.add('tfc:bells', 'minecraft:bell')
event.add('tfc:plants', 'minecraft:spore_blossom')
+
+ event.add('tfc:compost_greens', 'minecraft:nether_wart_block')
+ event.add('tfc:compost_greens', 'minecraft:warped_wart_block')
+
+ event.add('forge:dyes/black', 'minecraft:ink_sac')
}
const registerMinecraftBlockTags = (event) => {
@@ -146,4 +154,6 @@ const registerMinecraftBlockTags = (event) => {
event.add('tfg:brick_walls', 'minecraft:blackstone_wall')
//#region
+
+ event.removeAll('minecraft:sniffer_diggable_block')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/primitive_creatures/recipes.js b/kubejs/server_scripts/primitive_creatures/recipes.js
index ef7c83d35..4927613a7 100644
--- a/kubejs/server_scripts/primitive_creatures/recipes.js
+++ b/kubejs/server_scripts/primitive_creatures/recipes.js
@@ -13,10 +13,11 @@ function registerPrimitiveCreaturesRecipes(event) {
event.remove({ id: 'primitive_creatures:egwgew' })
// lodestone?
event.remove({ id: 'primitive_creatures:hhg' })
+ // primitive shears
+ event.remove({ id: 'primitive_creatures:uuyu' })
+ // upgrade idol into terrible idol
+ event.remove({ id: 'primitive_creatures:ge' })
- // craft fortified flint club
- event.replaceInput({ id: 'primitive_creatures:wegfweg' }, 'primitive_creatures:tt_5', '#tfc:nuggets')
- event.replaceInput({ id: 'primitive_creatures:wegfweg' }, 'primitive_creatures:grh', 'tfc:wool')
event.recipes.tfc.knapping(
'tfg:flint_club_head',
@@ -35,6 +36,16 @@ function registerPrimitiveCreaturesRecipes(event) {
event.shapeless('primitive_creatures:yhgi', ['tfg:flint_club_head', '#forge:rods/wooden'])
.id('tfg:shapeless/flint_club')
+ // craft fortified flint club
+ event.shaped('primitive_creatures:reh', [
+ 'AB',
+ 'CA'
+ ], {
+ A: '#tfc:nuggets',
+ B: 'primitive_creatures:yhgi',
+ C: 'tfc:wool',
+ }).id('primitive_creatures:wegfweg')
+
// turn battered wool into tfc wool
event.shapeless('tfc:wool', ['primitive_creatures:grh', 'primitive_creatures:grh', '#forge:tools/knives'])
.id('tfg:shapeless/cleaning_battered_wool')
diff --git a/kubejs/server_scripts/primitive_creatures/tags.js b/kubejs/server_scripts/primitive_creatures/tags.js
index c0adee253..501c74bac 100644
--- a/kubejs/server_scripts/primitive_creatures/tags.js
+++ b/kubejs/server_scripts/primitive_creatures/tags.js
@@ -9,6 +9,10 @@ function registerPrimitiveCreaturesItemTags(event) {
'primitive_creatures:kopo',
// the friendly idol (spawns an allay)
'primitive_creatures:jjj',
+ // flint shears
+ 'primitive_creatures:fragileprimitivescissors',
+ // upgrade item for terrible idol
+ 'primitive_creatures:rw'
]
DISABLED_ITEMS.forEach(item => {
diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js
index 966a3f9c9..b8bbbb5ea 100644
--- a/kubejs/server_scripts/railways/recipes.js
+++ b/kubejs/server_scripts/railways/recipes.js
@@ -116,7 +116,7 @@ const registerRailWaysRecipes = (event) => {
.duration(200)
.EUt(4)
.category(GTRecipeCategories.CHEM_DYES)
- if (dye != "white") {
+ if (dye !== "white") {
event.recipes.tfc.barrel_sealed(1000)
.inputs(`railways:white_conductor_cap`, Fluid.of(`tfc:${dye}_dye`, 288))
.outputItem(`railways:${dye}_conductor_cap`)
@@ -357,11 +357,11 @@ const registerRailWaysRecipes = (event) => {
event.recipes.createSequencedAssembly([
'16x create:track',
], '#tfg:rock_slabs', [
- event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']),
- event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', 'gtceu:steel_rod']),
- event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']),
- event.recipes.greate.pressing('create:incomplete_track', 'create:incomplete_track'),
- ]).transitionalItem('create:incomplete_track').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
+ event.recipes.createDeploying('railways:track_incomplete_blackstone', ['railways:track_incomplete_blackstone', '#tfg:rock_slabs']),
+ event.recipes.createDeploying('railways:track_incomplete_blackstone', ['railways:track_incomplete_blackstone', 'gtceu:steel_rod']),
+ event.recipes.createDeploying('railways:track_incomplete_blackstone', ['railways:track_incomplete_blackstone', '#tfc:mortar']),
+ event.recipes.greate.pressing('railways:track_incomplete_blackstone', 'railways:track_incomplete_blackstone'),
+ ]).transitionalItem('railways:track_incomplete_blackstone').loops(2).id('tfg:railways/sequenced_assembly/track_create_andesite')
event.recipes.gtceu.assembler('railways/track')
.itemInputs('3x #tfg:rock_slabs', '2x gtceu:steel_rod')
@@ -442,6 +442,81 @@ const registerRailWaysRecipes = (event) => {
.circuit(3)
});
+ const OTHER_TRACKS = [
+ { rail: 'blackstone', slab: 'minecraft:blackstone_slab', block: 'minecraft:blackstone' },
+ { rail: 'acacia', slab: 'afc:wood/planks/baobab_slab', block: 'afc:wood/planks/baobab' },
+ { rail: 'birch', slab: 'afc:wood/planks/eucalyptus_slab', block: 'afc:wood/planks/eucalyptus' },
+ { rail: 'cherry', slab: 'afc:wood/planks/fig_slab', block: 'afc:wood/planks/fig' },
+ { rail: 'jungle', slab: 'afc:wood/planks/teak_slab', block: 'afc:wood/planks/teak' },
+ { rail: 'spruce', slab: 'afc:wood/planks/cypress_slab', block: 'afc:wood/planks/cypress' },
+ { rail: 'crimson', slab: 'beneath:wood/planks/crimson_slab', block: 'beneath:wood/planks/crimson' },
+ { rail: 'warped', slab: 'beneath:wood/planks/warped_slab', block: 'beneath:wood/planks/warped' },
+ { rail: 'stripped_bamboo', slab: 'minecraft:bamboo_slab', block: 'minecraft:bamboo_planks' },
+ { rail: 'bamboo', slab: 'minecraft:bamboo_block', block: 'minecraft:stripped_bamboo_block' },
+ { rail: 'tieless', slab: 'framedblocks:framed_slab', block: 'framedblocks:framed_cube' }
+ ]
+
+ OTHER_TRACKS.forEach(x => {
+ event.recipes.createSequencedAssembly([
+ `16x railways:track_${x.rail}_narrow`,
+ ], x.slab, [
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_narrow`, [`railways:track_incomplete_${x.rail}_narrow`, `gtceu:steel_rod`]),
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_narrow`, [`railways:track_incomplete_${x.rail}_narrow`, `#tfc:mortar`]),
+ event.recipes.greate.pressing(`railways:track_incomplete_${x.rail}_narrow`, `railways:track_incomplete_${x.rail}_narrow`),
+ ]).transitionalItem(`railways:track_incomplete_${x.rail}_narrow`).loops(2).id(`tfg:railways/sequenced_assembly/track_${x.rail}_narrow_alt`)
+
+ event.recipes.gtceu.assembler(`tfg:railways/track_${x.rail}_narrow_alt`)
+ .itemInputs(x.slab, `2x gtceu:steel_rod`)
+ .inputFluids(Fluid.of(`gtceu:concrete`, 144))
+ .itemOutputs(`16x railways:track_${x.rail}_narrow`)
+ .duration(800)
+ .EUt(16)
+ .circuit(1)
+
+ event.recipes.createSequencedAssembly([
+ `16x railways:track_${x.rail}`,
+ ], x.slab, [
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}`, [`railways:track_incomplete_${x.rail}`, x.slab]),
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}`, [`railways:track_incomplete_${x.rail}`, `gtceu:steel_rod`]),
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}`, [`railways:track_incomplete_${x.rail}`, `#tfc:mortar`]),
+ event.recipes.greate.pressing(`railways:track_incomplete_${x.rail}`, `railways:track_incomplete_${x.rail}`),
+ ]).transitionalItem(`railways:track_incomplete_${x.rail}`).loops(2).id(`tfg:railways/sequenced_assembly/track_${x.rail}_alt`)
+
+ event.recipes.gtceu.assembler(`tfg:railways/track_${x.rail}_normal_alt`)
+ .itemInputs(`3x ${x.slab}`, `2x gtceu:steel_rod`)
+ .inputFluids(Fluid.of(`gtceu:concrete`, 144))
+ .itemOutputs(`16x railways:track_${x.rail}`)
+ .duration(800)
+ .EUt(16)
+ .circuit(2)
+
+ event.recipes.createSequencedAssembly([
+ `16x railways:track_${x.rail}_wide`,
+ ], x.slab, [
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_wide`, [`railways:track_incomplete_${x.rail}_wide`, x.block]),
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_wide`, [`railways:track_incomplete_${x.rail}_wide`, `gtceu:steel_rod`]),
+ event.recipes.createDeploying(`railways:track_incomplete_${x.rail}_wide`, [`railways:track_incomplete_${x.rail}_wide`, `#tfc:mortar`]),
+ event.recipes.greate.pressing(`railways:track_incomplete_${x.rail}_wide`, `railways:track_incomplete_${x.rail}_wide`),
+ ]).transitionalItem(`railways:track_incomplete_${x.rail}_wide`).loops(2).id(`tfg:railways/sequenced_assembly/track_${x.rail}_wide_alt`)
+
+ event.recipes.gtceu.assembler(`tfg:railways/track_${x.rail}_wide_alt`)
+ .itemInputs(`5x ${x.slab}`, `2x gtceu:steel_rod`)
+ .inputFluids(Fluid.of(`gtceu:concrete`, 144))
+ .itemOutputs(`16x railways:track_${x.rail}_wide`)
+ .duration(800)
+ .EUt(16)
+ .circuit(3)
+ })
+
+ event.recipes.gtceu.assembler('tfg:railways/phantom_tracks')
+ .itemInputs('32x create:track', 'ae2:ender_dust')
+ .itemOutputs('32x railways:track_phantom')
+ .duration(100)
+ .EUt(16)
+
+ event.shapeless('8x railways:track_phantom', ['#forge:small_dusts/ender_pearl', '8x create:track'])
+ .id('tfg:shapeless/phantom_tracks')
+
event.shaped('1x railways:handcar', [
'EFE',
'BAA',
diff --git a/kubejs/server_scripts/railways/recipes.locometal.js b/kubejs/server_scripts/railways/recipes.locometal.js
index e47d71976..1dcf3dfda 100644
--- a/kubejs/server_scripts/railways/recipes.locometal.js
+++ b/kubejs/server_scripts/railways/recipes.locometal.js
@@ -21,7 +21,7 @@ const locometalBase = {
}
const registerRailwaysLocometalRecipes = (event) => {
- for (var locometal in locometalBase) {
+ for (let locometal in locometalBase) {
event.recipes.create.cutting(`8x railways:${locometal}`, '#forge:storage_blocks/iron').processingTime(200);
event.recipes.create.cutting(`16x railways:${locometal}`, '#forge:storage_blocks/wrought_iron').processingTime(200);
event.recipes.create.cutting(`24x railways:${locometal}`, '#forge:storage_blocks/steel').processingTime(200);
@@ -90,7 +90,7 @@ const registerRailwaysLocometalRecipes = (event) => {
.category(GTRecipeCategories.CHEM_DYES)
global.MINECRAFT_DYE_NAMES.forEach(dye => {
- for (var locometal in locometalBase) {
+ for (let locometal in locometalBase) {
event.recipes.gtceu.chemical_bath(`tfg:chemical_dying_locometal/${locometal}/${dye}`)
.itemInputs(Item.of(locometalDyeGroups[`${locometal}`], 1))
.inputFluids(Fluid.of(`tfc:${dye}_dye`, 18))
diff --git a/kubejs/server_scripts/railways/tags.js b/kubejs/server_scripts/railways/tags.js
index 9150a1a53..8bcfd6a53 100644
--- a/kubejs/server_scripts/railways/tags.js
+++ b/kubejs/server_scripts/railways/tags.js
@@ -10,7 +10,7 @@ const registerRailWaysItemTags = (event) => {
})
// Adding Conductor tags
global.MINECRAFT_DYE_NAMES.forEach(dye => {
- if (dye != 'white') event.add('tfg:colored_caps', `railways:${dye}_conductor_cap`)
+ if (dye !== 'white') event.add('tfg:colored_caps', `railways:${dye}_conductor_cap`)
event.remove('c:hidden_from_recipe_viewers',`railways:${dye}_conductor_cap`)
})
}
diff --git a/kubejs/server_scripts/rnr/recipes.js b/kubejs/server_scripts/rnr/recipes.js
index 913a9736b..27cd2d635 100644
--- a/kubejs/server_scripts/rnr/recipes.js
+++ b/kubejs/server_scripts/rnr/recipes.js
@@ -53,8 +53,8 @@ const registerRnrRecipes = (event) => {
).id('rnr:smelting/unfired_roof_tile')
event.recipes.gtceu.mixer('rnr:mixer/wet_concrete_mix')
- .inputFluids(Fluid.of('gtceu:concrete', 192), JsonIO.of({ amount: 808, value: { tag: "tfg:clean_water" }}))
- .outputFluids(Fluid.of('rnr:concrete', 1000))
+ .inputFluids('gtceu:concrete 192', "#tfg:clean_water 808")
+ .outputFluids('rnr:concrete 1000')
.circuit(7)
.duration(200)
.EUt(GTValues.VA[GTValues.ULV])
diff --git a/kubejs/server_scripts/simplylight/recipes.js b/kubejs/server_scripts/simplylight/recipes.js
index ee8858e9f..186c841e7 100644
--- a/kubejs/server_scripts/simplylight/recipes.js
+++ b/kubejs/server_scripts/simplylight/recipes.js
@@ -23,7 +23,7 @@ const registerSimplylightRecipes = (event) => {
global.MINECRAFT_DYE_NAMES.forEach(color => {
//exeption for white lamps because who needs consistency?
- if (color != 'white') {
+ if (color !== 'white') {
event.recipes.gtceu.chemical_bath(`simplylight:chemical_bath/dyeing/illuminant_${color}_block_on`)
.itemInputs('#simplylight:any_lamp_on')
.inputFluids(Fluid.of(`tfc:${color}_dye`, 25))
diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js
index 0033ebd93..375727909 100644
--- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js
+++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js
@@ -435,4 +435,25 @@ const registerSophisticatedBackpacksRecipes = (event) => {
C: '#forge:plates/steel',
D: 'sophisticatedbackpacks:upgrade_base',
}).id('tfg:sophisticated_backpacks/shaped/stonecutter_upgrade')
+
+ // Feeding upgrade
+ event.recipes.tfc.no_remainder_shaped_crafting(
+ event.shaped('sophisticatedbackpacks:feeding_upgrade', [
+ 'ADA',
+ 'BEF',
+ 'CGC'
+ ], {
+ A: '#gtceu:circuits/lv',
+ B: 'firmalife:spoon',
+ C: 'gtceu:lv_robot_arm',
+ D: '#tfc:bowls',
+ E: 'sophisticatedbackpacks:upgrade_base',
+ F: '#forge:tools/knives',
+ G: '#forge:rods/steel'
+ })).id('tfg:sophisticated_backpacks/shaped/feeding_upgrade')
+
+ event.shapeless('sophisticatedbackpacks:advanced_feeding_upgrade', [
+ 'sophisticatedbackpacks:feeding_upgrade',
+ '#gtceu:circuits/mv'
+ ]).id('tfg:sophisticated_backpacks/shapeless/advanced_feeding_upgrade')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/species/tags.js b/kubejs/server_scripts/species/tags.js
index 3b710f52c..7fa969ebb 100644
--- a/kubejs/server_scripts/species/tags.js
+++ b/kubejs/server_scripts/species/tags.js
@@ -5,6 +5,8 @@ const registerSpeciesBlockTags = (event) => {
event.removeAllTagsFrom(block)
event.add('c:hidden_from_recipe_viewers', block)
})
+
+ event.removeAll('species:wraptor_nesting_blocks')
}
const registerSpeciesItemTags = (event) => {
diff --git a/kubejs/server_scripts/tacz/index_modifiers.js b/kubejs/server_scripts/tacz/index_modifiers.js
index 258ad96a9..b3e0422d4 100644
--- a/kubejs/server_scripts/tacz/index_modifiers.js
+++ b/kubejs/server_scripts/tacz/index_modifiers.js
@@ -1,24 +1,78 @@
"use strict";
+//IndexLogic is used mainly for the removal of tacz items
+// const json = JSON.parse(event.getStdJson());
+// console.log(json);
+// return event.setJson(JSON.stringify(json));
+//This can be used to read what the json contains for any given id
+
const ammoIndexLogic = (event) => {
const id = event.getId().toString();
-
+
if (!global.TACZ_ENABLED_AMMO.includes(id)) {
return event.removeAmmo();
}
-
-
}
const attachmentIndexLogic = (event) => {
- const id = event.getId().toString();
+ const id = event.getId().toString();
if (!global.TACZ_ENABLED_ATTACH.includes(id)) {
return event.removeAttachment();
}
+ const json = JSON.parse(event.getStdJson());
+
+
+ switch(id) {
+
+ //Scope Sorting
+ case "create_armorer:sight_simple": json.sort = 100; break;
+ case "create_armorer:sight_reflex": json.sort = 101; break;
+ case "applied_armorer:si_pricision": json.sort = 102; break;
+ case "applied_armorer:si_double_sided_mirror": json.sort = 103; break;
+
+ case "create_armorer:sight_standard": json.sort = 200; break;
+ case "applied_armorer:si_ms_12": json.sort = 201; break;
+
+ case "create_armorer:sight_medium_distance": json.sort = 400; break;
+ case "applied_armorer:scope_ms_14": json.sort = 401; break;
+ case "tacz:scope_1873_6x": json.sort = 600; break;
+ case "create_armorer:scope_telephoto": json.sort = 800; break;
+ case "applied_armorer:scope_xgs_905": json.sort = 801; break;
+
+ //Muzzle Sorting
+ case "create_armorer:muzzle_refit_bigger_cylinder": json.sort = 100; break;
+ case "create_armorer:muzzle_refit_lava_perfusion_bottle": json.sort = 101; break;
+ case "applied_armorer:muzzle_ns_1": json.sort = 201; break;
+ case "applied_armorer:muzzle_classic": json.sort = 202; break;
+ case "applied_armorer:muzzle_bs_mod4": json.sort = 203; break;
+ case "applied_armorer:muzzle_commander": json.sort = 204; break;
+
+ //Grip Sorting
+ case "create_armorer:grip_wooden": json.sort = 100; break;
+ case "create_armorer:grip_gantry_shaft": json.sort = 101; break;
+ case "applied_armorer:grip_light": json.sort = 102; break;
+ case "applied_armorer:grip_stable": json.sort = 103; break;
+
+ case "create_armorer:grip_shaft": json.sort = 200; break;
+ case "applied_armorer:grip_hf_17": json.sort = 201; break;
+
+ case "applied_armorer:grip_lf11": json.sort = 300; break;
+ case "applied_armorer:grip_sl_2": json.sort = 301; break;
+
+ //Mag Sorting
+ case "applied_armorer:extended_mag_aa_1": json.sort = 401; break;
+ case "applied_armorer:extended_mag_aa_2": json.sort = 402; break;
+ case "applied_armorer:extended_mag_aa_3": json.sort = 403; break;
+ case "applied_armorer:extended_mid_mag_aa_1": json.sort = 404; break;
+ case "applied_armorer:extended_mid_mag_aa_2": json.sort = 405; break;
+ case "applied_armorer:extended_mid_mag_aa_3": json.sort = 406; break;
+ }
+
+ return event.setJson(JSON.stringify(json));
}
const gunIndexLogic = (event) => {
@@ -28,6 +82,75 @@ const gunIndexLogic = (event) => {
return event.removeGun();
}
+}
+
+const attachmentDataLogic = (event) => {
+}
+
+const gunDataLogic = (event) => {
+ const id = event.getId().toString();
+ const json = JSON.parse(event.getStdJson());
-}
\ No newline at end of file
+ if(id === "create_armorer:pistol_revolver_torque_data"){
+ json.bullet.extra_damage.armor_ignore = 0.25;
+ }
+
+ if(id === "create_armorer:sniper_semi_clockwork_data"){
+ json.bullet.extra_damage.armor_ignore = 0.30;
+ json.bullet.damage = 22;
+ json.bullet.extra_damage.damage_adjust =
+ [
+ {"distance": 60, "damage": 22},
+ {"distance": 120, "damage": 19},
+ {"distance": "infinite", "damage": 17}
+ ]
+ json.builtin_attachments = {};
+ json.builtin_attachments.scope = "create_armorer:sight_simple";
+ }
+
+ if(id === "applied_armorer:moritz_rifle_ar77_data") {
+ json.ammo = "applied_armorer:hard_core_quartz_bullet";
+ json.bullet.damage = 13;
+ json.bullet.extra_damage.armor_ignore = 0.35;
+ json.bullet.extra_damage.head_shot_multiplier = 1.75;
+ json.bullet.extra_damage.damage_adjust =
+ [
+ {"distance": 80, "damage": 13},
+ {"distance": 120, "damage": 11},
+ {"distance": "infinite", "damage": 9}
+ ]
+
+ }
+
+ if(id === "tacz:db_long_data"){
+ json.bullet.extra_damage.armor_ignore = 0.22;
+ }
+
+ if(id === "tacz:db_short_data"){
+ json.bullet.extra_damage.armor_ignore = 0.22;
+ }
+
+ if(id === "create_armorer:cannon_40mm_salamander_data"){
+ json.bullet.damage = 50;
+ json.bullet.extra_damage.damage_adjust =
+ [
+ {"distance": 200, "damage": 50},
+ {"distance": "infinite", "damage": 45}
+ ]
+ json.builtin_attachments = {};
+ json.builtin_attachments.scope = "create_armorer:sight_simple";
+ }
+
+ if(id === "applied_armorer:moritz_gernade_gl3_data"){
+ json.ammo_amount = 2;
+ json.extended_mag_ammo_amount =
+ [
+ 3,
+ 4,
+ 5
+ ]
+ }
+
+ return event.setJson(JSON.stringify(json));
+}
diff --git a/kubejs/server_scripts/tacz/recipes.ammo.js b/kubejs/server_scripts/tacz/recipes.ammo.js
index 94269d0ec..43c977617 100644
--- a/kubejs/server_scripts/tacz/recipes.ammo.js
+++ b/kubejs/server_scripts/tacz/recipes.ammo.js
@@ -71,6 +71,13 @@ function registerTACZAmmoRecipes(event){
'{AmmoId:"create_armorer:rbapb"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:rb_small_nc')
+ .itemInputs('8x #forge:nuggets/lead','4x #forge:foils/copper', '8x tfg:small_bullet_casing',
+ 'tfg:nitrocellulose')
+ .itemOutputs(Item.of('tacz:ammo', 8,
+ '{AmmoId:"create_armorer:rbapb"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
event.recipes.gtceu.assembler('tfg_tacz:slap_large')
.itemInputs('4x #forge:nuggets/lead','4x #forge:foils/copper', '4x tfg:large_bullet_casing',
'#forge:dusts/gunpowder')
@@ -78,54 +85,102 @@ function registerTACZAmmoRecipes(event){
'{AmmoId:"create_armorer:slap"}'))
.EUt(GTValues.VA[GTValues.MV])
.duration(20)
- event.recipes.gtceu.assembler('tfg_tacz:12g_shell_peth')
- .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '#forge:dusts/gunpowder')
- .inputFluids(Fluid.of('gtceu:polyethylene', 288))
- .itemOutputs(Item.of('tacz:ammo', 4,
- '{AmmoId:"tacz:12g"}'))
- .EUt(GTValues.VA[GTValues.MV])
+ event.recipes.gtceu.assembler('tfg_tacz:slap_large_nc')
+ .itemInputs('8x #forge:nuggets/lead','8x #forge:foils/copper', '8x tfg:large_bullet_casing',
+ 'tfg:nitrocellulose')
+ .itemOutputs(Item.of('tacz:ammo', 8,
+ '{AmmoId:"create_armorer:slap"}'))
+ .EUt(GTValues.VA[GTValues.EV])
.duration(20)
- event.recipes.gtceu.assembler('tfg_tacz:12g_shell_pvc')
- .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '#forge:dusts/gunpowder')
- .inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 144))
- .itemOutputs(Item.of('tacz:ammo', 4,
- '{AmmoId:"tacz:12g"}'))
- .EUt(GTValues.VA[GTValues.MV])
- .duration(30)
+
//Certus era
event.recipes.gtceu.assembler('tfg_tacz:fluix_grenade')
- .itemInputs('#forge:ingots/magnalium', '4x gtceu:gelled_toluene', 'tfg:nitrocellulose')
+ .itemInputs('#forge:ingots/magnalium', '2x gtceu:gelled_toluene', '4x tfg:nitrocellulose')
.inputFluids(Fluid.of('tfg:fluix', 720))
.itemOutputs(Item.of('tacz:ammo',
'{AmmoId:"applied_armorer:fluix_infused_grenade"}'))
.EUt(GTValues.VA[GTValues.EV])
- .duration(20)
+ .duration(40)
+ event.recipes.gtceu.assembler('tfg_tacz:40mm_he')
+ .itemInputs('#forge:ingots/brass', '#forge:ingots/steel', '8x gtceu:gelled_toluene',
+ '6x tfg:nitrocellulose')
+ .itemOutputs(Item.of('tacz:ammo',
+ '{AmmoId:"create_armorer:40mmhe"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(40)
event.recipes.gtceu.assembler('tfg_tacz:etched_quartz_small')
- .itemInputs('2x ae2:certus_quartz_crystal', '4x tfg:small_bullet_casing', 'tfg:nitrocellulose')
+ .itemInputs('2x #forge:flawless_gems/certus_quartz', '4x tfg:small_bullet_casing', '2x tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:etched_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:hard_quartz_large')
- .itemInputs('4x ae2:charged_certus_quartz_crystal', '4x tfg:large_bullet_casing', 'tfg:nitrocellulose')
+ .itemInputs('4x #forge:exquisite_gems/certus_quartz', '8x #forge:bolts/tungsten', '4x tfg:large_bullet_casing',
+ '2x tfg:nitrocellulose')
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:hard_core_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:cluster_quartz_shell_ptfe')
- .itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
+ .itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', '2x tfg:nitrocellulose')
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:cluster_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(20)
event.recipes.gtceu.assembler('tfg_tacz:cluster_quartz_shell_pbi')
- .itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
+ .itemInputs('16x gtceu:chipped_certus_quartz_gem', '4x tfg:shell_bullet_casing', '2x tfg:nitrocellulose')
.inputFluids(Fluid.of('gtceu:polybenzimidazole', 72))
.itemOutputs(Item.of('tacz:ammo', 4,
'{AmmoId:"applied_armorer:cluster_quartz_bullet"}'))
.EUt(GTValues.VA[GTValues.EV])
.duration(30)
+
+ //12gauge shell
+ event.recipes.gtceu.assembler('tfg_tacz:12g_shell_peth')
+ .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
+ .inputFluids(Fluid.of('gtceu:polyethylene', 288))
+ .itemOutputs(Item.of('tacz:ammo', 4,
+ '{AmmoId:"tacz:12g"}'))
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:12g_shell_pvc')
+ .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
+ .inputFluids(Fluid.of('gtceu:polyvinyl_chloride', 144))
+ .itemOutputs(Item.of('tacz:ammo', 4,
+ '{AmmoId:"tacz:12g"}'))
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:12g_shell_ptfe')
+ .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 72))
+ .itemOutputs(Item.of('tacz:ammo', 4,
+ '{AmmoId:"tacz:12g"}'))
+ .EUt(GTValues.VA[GTValues.HV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:12g_shell_pbi')
+ .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', '2x #forge:dusts/gunpowder')
+ .inputFluids(Fluid.of('gtceu:polybenzimidazole', 36))
+ .itemOutputs(Item.of('tacz:ammo', 4,
+ '{AmmoId:"tacz:12g"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+
+ event.recipes.gtceu.assembler('tfg_tacz:12g_shell_nc_ptfe')
+ .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 72))
+ .itemOutputs(Item.of('tacz:ammo', 4,
+ '{AmmoId:"tacz:12g"}'))
+ .EUt(GTValues.VA[GTValues.HV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:12g_shell_nc_pbi')
+ .itemInputs('12x #forge:nuggets/lead', '4x tfg:shell_bullet_casing', 'tfg:nitrocellulose')
+ .inputFluids(Fluid.of('gtceu:polybenzimidazole', 36))
+ .itemOutputs(Item.of('tacz:ammo', 4,
+ '{AmmoId:"tacz:12g"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+
}
diff --git a/kubejs/server_scripts/tacz/recipes.attach.js b/kubejs/server_scripts/tacz/recipes.attach.js
index d60de1ba6..189860a47 100644
--- a/kubejs/server_scripts/tacz/recipes.attach.js
+++ b/kubejs/server_scripts/tacz/recipes.attach.js
@@ -16,7 +16,6 @@ function registerTACZAttachRecipes(event){
F: '#forge:tools/files'
}).id('tfg_tacz:trapdoor_scope');
-
event.recipes.gtceu.assembler('tfg_tacz:ca_reflex')
.itemInputs('tfc:lens', '#forge:rings/brass', '#forge:plates/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:sight_reflex"}'))
@@ -44,6 +43,12 @@ function registerTACZAttachRecipes(event){
.circuit(4)
.EUt(GTValues.VA[GTValues.MV])
.duration(10);
+ event.recipes.gtceu.assembler('tfg_tacz:ca_simple')
+ .itemInputs('#forge:rings/brass', '2x #forge:screws/black_steel', '2x #forge:plates/steel')
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:sight_simple"}'))
+ .circuit(5)
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(10)
event.recipes.gtceu.assembler('tfg_tacz:aa_pricision')
@@ -134,11 +139,116 @@ function registerTACZAttachRecipes(event){
event.recipes.gtceu.assembler('tfg_tacz:wooden_grip')
.itemInputs('gtceu:treated_wood_planks', '2x #forge:ingots/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:grip_wooden"}'))
+ .circuit(1)
.EUt(GTValues.VA[GTValues.MV])
.duration(10)
event.recipes.gtceu.assembler('tfg_tacz:gantry_grip')
.itemInputs('create:gantry_shaft', '2x #forge:ingots/steel')
.itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:grip_gantry_shaft"}'))
+ .circuit(2)
.EUt(GTValues.VA[GTValues.MV])
.duration(10)
+ event.recipes.gtceu.assembler('tfg_tacz:grip_shaft')
+ .itemInputs('greate:aluminium_shaft', '#forge:ingots/steel', '#forge:leather')
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:grip_shaft"}'))
+ .circuit(3)
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(10)
+
+ event.recipes.gtceu.assembler('tfg_tacz:light_grip')
+ .itemInputs('#forge:ingots/tungsten', '2x #forge:screws/tungsten')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*2))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_light"}'))
+ .circuit(1)
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:stable_grip')
+ .itemInputs('2x #forge:ingots/tungsten', '4x #forge:screws/tungsten')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*4))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_stable"}'))
+ .circuit(2)
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:hf17_grip')
+ .itemInputs('2x #forge:ingots/tungsten', '4x #forge:screws/tungsten')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*6))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_hf_17"}'))
+ .circuit(3)
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+
+ event.recipes.gtceu.assembler('tfg_tacz:laser_a_grip')
+ .itemInputs('2x #forge:ingots/tungsten', '8x #forge:screws/tungsten', '#forge:lenses/light_blue',
+ '#gtceu:batteries/ev', '8x #forge:fine_wires/aluminium')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*4))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_lf11"}'))
+ .circuit(4)
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+ event.recipes.gtceu.assembler('tfg_tacz:laser_b_grip')
+ .itemInputs('3x #forge:ingots/tungsten', '10x #forge:screws/tungsten', '#forge:lenses/light_blue',
+ '2x #gtceu:batteries/ev', '16x #forge:fine_wires/aluminium')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*8))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:grip_sl_2"}'))
+ .circuit(5)
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(20)
+
+ //Mags
+ event.recipes.gtceu.assembler('tfg_tacz:invar_mag')
+ .itemInputs('4x #forge:ingots/invar', '#forge:springs/kanthal')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 288))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:extended_mag_ca_1"}'))
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:copper_mag')
+ .itemInputs('6x #forge:ingots/stainless_steel', '6x #forge:plates/copper', '#forge:springs/nichrome')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 432))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:extended_mag_ca_2"}'))
+ .EUt(GTValues.VA[GTValues.HV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:brass_mag')
+ .itemInputs('8x #forge:ingots/titanium', '8x #forge:plates/brass', '#forge:springs/niobium_titanium')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 576))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"create_armorer:extended_mag_ca_3"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(60)
+
+ event.recipes.gtceu.assembler('tfg_tacz:fluix_mag_1')
+ .itemInputs('6x #forge:ingots/titanium', '4x #forge:exquisite_gems/fluix', '#forge:springs/niobium_titanium')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*6))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mid_mag_aa_1"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:fluix_mag_2')
+ .itemInputs('8x #forge:ingots/tungsten_steel', '6x #forge:exquisite_gems/fluix', '#forge:springs/hssg')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*8))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mid_mag_aa_2"}'))
+ .EUt(GTValues.VA[GTValues.IV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:fluix_mag_3')
+ .itemInputs('10x #forge:ingots/rhodium_plated_palladium', '8x #forge:exquisite_gems/fluix', '#forge:springs/naquadah')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*10))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mid_mag_aa_3"}'))
+ .EUt(GTValues.VA[GTValues.LuV])
+ .duration(60)
+
+ event.recipes.gtceu.assembler('tfg_tacz:certus_mag_1')
+ .itemInputs('4x #forge:ingots/titanium', '2x #forge:exquisite_gems/certus_quartz', '#forge:springs/niobium_titanium')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*4))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mag_aa_1"}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:certus_mag_2')
+ .itemInputs('6x #forge:ingots/tungsten_steel', '4x #forge:exquisite_gems/certus_quartz', '#forge:springs/hssg')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*6))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mag_aa_2"}'))
+ .EUt(GTValues.VA[GTValues.IV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:certus_mag_3')
+ .itemInputs('8x #forge:ingots/rhodium_plated_palladium', '6x #forge:exquisite_gems/certus_quartz', '#forge:springs/naquadah')
+ .inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 144*8))
+ .itemOutputs(Item.of('tacz:attachment', '{AttachmentId:"applied_armorer:extended_mag_aa_3"}'))
+ .EUt(GTValues.VA[GTValues.LuV])
+ .duration(60)
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tacz/recipes.guns.js b/kubejs/server_scripts/tacz/recipes.guns.js
index b1e6dce6a..1257fb74a 100644
--- a/kubejs/server_scripts/tacz/recipes.guns.js
+++ b/kubejs/server_scripts/tacz/recipes.guns.js
@@ -48,6 +48,26 @@ function registerTACZGunRecipes(event){
}).id('tacz:trapdoor_rifle');
+ //DB shotguns
+ event.recipes.gtceu.assembler('tfg_tacz:db_short')
+ .itemInputs('2x gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '#forge:rods/black_steel',
+ '3x gtceu:treated_wood_planks', '10x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 432))
+ .itemOutputs(Item.of('tacz:modern_kinetic_gun',
+ '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"tacz:db_short",HasBulletInBarrel:1b}'))
+ .circuit(1)
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(60)
+ event.recipes.gtceu.assembler('tfg_tacz:db_long')
+ .itemInputs('4x gtceu:steel_small_fluid_pipe', '4x #forge:ingots/black_steel', '#forge:rods/black_steel',
+ '6x gtceu:treated_wood_planks', '14x #forge:screws/black_steel', 'tfg:advanced_clockwork_mechanism')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 576))
+ .itemOutputs(Item.of('tacz:modern_kinetic_gun',
+ '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"tacz:db_long",HasBulletInBarrel:1b}'))
+ .circuit(2)
+ .EUt(GTValues.VA[GTValues.MV])
+ .duration(100)
+
//Region clockwork era
event.recipes.gtceu.assembler('tfg_tacz:ca_torque_revo')
.itemInputs('gtceu:steel_small_fluid_pipe', '4x #forge:ingots/aluminium', '2x #forge:plates/brass',
@@ -170,8 +190,18 @@ function registerTACZGunRecipes(event){
.inputFluids(Fluid.of('gtceu:polytetrafluoroethylene', 2304))
.itemOutputs(Item.of('tacz:modern_kinetic_gun',
'{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"applied_armorer:moritz_gernade_gl3",HasBulletInBarrel:1b}'))
- .circuit(7)
+ .circuit(8)
.EUt(GTValues.VA[GTValues.EV])
.duration(240)
+ event.recipes.gtceu.assembler('tfg_tacz:ca_cannon')
+ .itemInputs('2x gtceu:tungsten_large_fluid_pipe', '2x gtceu:tungsten_normal_fluid_pipe', '10x #forge:ingots/titanium',
+ '4x #forge:ingots/tungsten', '10x #forge:plates/brass', 'create:gantry_shaft',
+ '4x gtceu:treated_wood_planks', '30x #forge:screws/tungsten', '3x tfg:advanced_clockwork_mechanism')
+ .inputFluids(Fluid.of('gtceu:soldering_alloy', 3024))
+ .itemOutputs(Item.of('tacz:modern_kinetic_gun',
+ '{GunCurrentAmmoCount:0,GunFireMode:"SEMI",GunId:"create_armorer:cannon_40mm_salamander",HasBulletInBarrel:1b}'))
+ .EUt(GTValues.VA[GTValues.EV])
+ .duration(300)
+
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tacz/recipes.misc.js b/kubejs/server_scripts/tacz/recipes.misc.js
index f25fab6cd..57f685168 100644
--- a/kubejs/server_scripts/tacz/recipes.misc.js
+++ b/kubejs/server_scripts/tacz/recipes.misc.js
@@ -29,12 +29,13 @@ function registerTACZMiscRecipes(event) {
//Molds
event.shaped('tfg:small_casing_extruder_mold',[
- ' A',
- ' B ',
- ' '
+ ' A ',
+ 'B ',
+ ' C'
],{
A: '#forge:tools/wire_cutters',
- B: 'gtceu:empty_mold'
+ B: 'gtceu:empty_mold',
+ C: '#forge:tools/files'
}).id('tfg:small_casing_extruder_mold');
event.shaped('tfg:large_casing_extruder_mold',[
diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js
index e5da61c11..540e44c93 100644
--- a/kubejs/server_scripts/tfc/data.js
+++ b/kubejs/server_scripts/tfc/data.js
@@ -83,11 +83,6 @@ const registerTFCItemSize = (event) => {
const registerTFCFoodData = (event) => {
- event.foodItem('gtceu:chocolate_coin', food => {
- food.hunger(1)
- food.dairy(0.5)
- })
-
event.foodItem('firmalife:ice_shavings', food => {
food.water(5)
food.decayModifier(0)
diff --git a/kubejs/server_scripts/tfc/recipes.alabaster.js b/kubejs/server_scripts/tfc/recipes.alabaster.js
index 968f29823..3fe1055cb 100644
--- a/kubejs/server_scripts/tfc/recipes.alabaster.js
+++ b/kubejs/server_scripts/tfc/recipes.alabaster.js
@@ -39,6 +39,21 @@ function registerTFCAlabasterRecipes(event) {
}
// Raw Alabaster
+
+ event.remove({ id: 'tfc:barrel/raw_alabaster' })
+ event.recipes.tfc.barrel_sealed(1000)
+ .inputs('gtceu:poor_raw_gypsum', TFC.fluidStackIngredient('tfc:limewater', 50))
+ .outputItem('tfc:alabaster/raw')
+ .id('tfg:barrel/poor_raw_ore_alabaster')
+ event.recipes.tfc.barrel_sealed(1000)
+ .inputs('gtceu:raw_gypsum', TFC.fluidStackIngredient('tfc:limewater', 100))
+ .outputItem('2x tfc:alabaster/raw')
+ .id('tfg:barrel/raw_ore_alabaster')
+ event.recipes.tfc.barrel_sealed(1000)
+ .inputs('gtceu:rich_raw_gypsum', TFC.fluidStackIngredient('tfc:limewater', 150))
+ .outputItem('3x tfc:alabaster/raw')
+ .id('tfg:barrel/rich_raw_ore_alabaster')
+
event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum')
.itemInputs('gtceu:poor_raw_gypsum')
.inputFluids(Fluid.of('tfc:limewater', 50))
@@ -93,4 +108,4 @@ function registerTFCAlabasterRecipes(event) {
.EUt(7)
.category(GTRecipeCategories.CHEM_DYES)
}
-}
\ No newline at end of file
+}
diff --git a/kubejs/server_scripts/tfc/recipes.dirt.js b/kubejs/server_scripts/tfc/recipes.dirt.js
index 95df9f597..cda85a26b 100644
--- a/kubejs/server_scripts/tfc/recipes.dirt.js
+++ b/kubejs/server_scripts/tfc/recipes.dirt.js
@@ -33,7 +33,7 @@ function registerTFCDirtRecipes(event) {
// Dirt -> Mud
event.recipes.gtceu.mixer(`${mud}_grass_to_mud`)
.itemInputs(`tfc:dirt/${mud}`)
- .inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:any_water 100")
.circuit(2)
.itemOutputs(`tfc:mud/${mud}`)
.duration(200)
diff --git a/kubejs/server_scripts/tfc/recipes.dyes.js b/kubejs/server_scripts/tfc/recipes.dyes.js
index 9d2365847..8499a98f5 100644
--- a/kubejs/server_scripts/tfc/recipes.dyes.js
+++ b/kubejs/server_scripts/tfc/recipes.dyes.js
@@ -142,7 +142,7 @@ function registerTFCDyeRecipes(event) {
event.recipes.gtceu.chemical_reactor(`chemical_dye_${dyeName}_acetic`)
.itemInputs(`#forge:dyes/${dyeName}`)
- .inputFluids(Fluid.of('gtceu:acetic_acid', 250), JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
+ .inputFluids('gtceu:acetic_acid 250', "#tfg:clean_water 1000")
.outputFluids(Fluid.of(`tfc:${dyeName}_dye`, 144 * 3))
.duration(15 * 20)
.EUt(24)
diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js
index d1bb9ef04..cf193f1f9 100644
--- a/kubejs/server_scripts/tfc/recipes.js
+++ b/kubejs/server_scripts/tfc/recipes.js
@@ -57,34 +57,40 @@ const registerTFCRecipes = (event) => {
// Дерево
global.TFC_WOOD_TYPES.forEach(wood => {
- generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, 16000, `64x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`, 'minecraft:overworld', 8)
+ generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, '#tfg:clean_water', 16000, `64x tfc:wood/log/${wood}`,
+ `tfg:greenhouse/${wood}`, 'minecraft:overworld', 16, null, GTValues.VA[GTValues.MV])
})
global.AFC_SAPLINGS.forEach(x => {
- generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, 16000, `64x ${x.log}`, `tfg:greenhouse/${x.sapling}`, 'minecraft:overworld', 8)
+ generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, '#tfg:clean_water', 16000, `64x ${x.log}`,
+ `tfg:greenhouse/${x.sapling}`, 'minecraft:overworld', 16, null, GTValues.VA[GTValues.MV])
})
// Семена фруктов
global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => {
- generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, 'minecraft:overworld', 1)
+ generateGreenHouseRecipe(event, element.input, '#tfg:clean_water', element.fluid_amount, element.output,
+ element.name, 'minecraft:overworld', 8, null, GTValues.VA[GTValues.LV])
})
// Семена овощей
global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => {
- generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, null, 1)
+ generateGreenHouseRecipe(event, element.input, '#tfg:clean_water', element.fluid_amount, element.output,
+ element.name, null, 8, null, GTValues.VA[GTValues.LV])
})
// Семена ягод
global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => {
- generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name, null, 1)
+ generateGreenHouseRecipe(event, element.input, '#tfg:clean_water', element.fluid_amount, element.output,
+ element.name, null, 8, null, GTValues.VA[GTValues.LV])
})
// Растения
- Ingredient.of('#tfc:plants').stacks.forEach(element => {
+ Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => {
const itemId = element.id;
const recipeId = `greenhouse_${itemId.replace(':', '_')}`;
- generateGreenHouseRecipe(event, itemId, 8000, `8x ${itemId}`, recipeId, null, 1);
+ generateGreenHouseRecipe(event, itemId, '#tfg:clean_water', 8000, `8x ${itemId}`,
+ recipeId, null, 8, null, GTValues.VA[GTValues.LV]);
});
//#endregion
@@ -125,12 +131,12 @@ const registerTFCRecipes = (event) => {
// Тыква -> Кусочки тыквы
event.recipes.tfc.advanced_shapeless_crafting(
- TFC.itemStackProvider.of('5x tfc:food/pumpkin_chunks').copyFood(),
+ TFC.itemStackProvider.of('4x tfc:food/pumpkin_chunks').copyFood(),
[TFC.ingredient.notRotten('tfc:pumpkin'), '#forge:tools/hammers'], 'tfc:pumpkin')
.id(`tfc:crafting/pumpkin_chunks_hammer`)
event.recipes.tfc.advanced_shapeless_crafting(
- TFC.itemStackProvider.of('5x tfc:food/pumpkin_chunks').copyFood(),
+ TFC.itemStackProvider.of('4x tfc:food/pumpkin_chunks').copyFood(),
[TFC.ingredient.notRotten('tfc:pumpkin'), '#tfc:knives'], 'tfc:pumpkin')
.id(`tfc:crafting/pumpkin_chunks_knife`)
@@ -165,9 +171,7 @@ const registerTFCRecipes = (event) => {
.id('tfg:tfc/pot/salt')
// Salt Water
- generateMixerRecipe(event,
- ['#forge:dusts/salt'],
- JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}),
+ generateMixerRecipe(event, ['#forge:dusts/salt'], "#tfg:clean_water 1000",
[], 2, Fluid.of('tfc:salt_water', 1000), 40, 7, 64, 'tfg:tfc/salt_water')
@@ -199,8 +203,7 @@ const registerTFCRecipes = (event) => {
.id('tfg:splashing/wash_torch')
//Lye in mixer
- generateMixerRecipe(event, 'tfc:powder/wood_ash',
- JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}),
+ generateMixerRecipe(event, 'tfc:powder/wood_ash', "#tfg:clean_water 200",
[], null, Fluid.of('tfc:lye', 200), 100, 2, 64, 'lye_in_mixer')
// Brass Mechanism
@@ -310,4 +313,10 @@ const registerTFCRecipes = (event) => {
.inputFluid(Fluid.of('minecraft:water', 1000))
.outputFluid(Fluid.of('tfc:salt_water', 1000))
.id('tfg:barrel/water_to_salt_water')
+
+ event.recipes.tfc.barrel_instant()
+ .inputItem("tfc:powder/salt")
+ .inputFluid(Fluid.of('minecraft:water', 250))
+ .outputFluid(Fluid.of('tfc:salt_water', 250))
+ .id('tfg:barrel/water_to_salt_water_tfc')
}
diff --git a/kubejs/server_scripts/tfc/recipes.machines.js b/kubejs/server_scripts/tfc/recipes.machines.js
index 8c5a207c1..c9e5cd79b 100644
--- a/kubejs/server_scripts/tfc/recipes.machines.js
+++ b/kubejs/server_scripts/tfc/recipes.machines.js
@@ -312,8 +312,7 @@ function registerTFCMachineRecipes(event) {
.EUt(4)
// Jute Fiber
- generateMixerRecipe(event, 'tfc:jute',
- JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}),
+ generateMixerRecipe(event, 'tfc:jute', "#tfg:clean_water 200",
'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber')
// Ceramic Recycling
@@ -371,8 +370,8 @@ function registerTFCMachineRecipes(event) {
.duration(1200)
.EUt(2)
- const BROWNS = [ '16x #tfc:compost_browns_low', '4x #tfc:compost_browns_high' ];
- const GREENS = [ '16x #tfc:compost_greens_low', '4x #tfc:compost_greens_high' ];
+ const BROWNS = [ '16x #tfc:compost_browns_low', '8x #tfc:compost_browns', '4x #tfc:compost_browns_high' ];
+ const GREENS = [ '16x #tfc:compost_greens_low', '8x #tfc:compost_greens', '4x #tfc:compost_greens_high' ];
let i = 0;
BROWNS.forEach(brown => {
diff --git a/kubejs/server_scripts/tfc/recipes.materials.js b/kubejs/server_scripts/tfc/recipes.materials.js
index 37fb037eb..4a5baee4d 100644
--- a/kubejs/server_scripts/tfc/recipes.materials.js
+++ b/kubejs/server_scripts/tfc/recipes.materials.js
@@ -6,11 +6,14 @@ function registerTFCMaterialsRecipes(event) {
forEachMaterial(material => {
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
- if (tfcProperty == null) {
+ if (tfcProperty === null) {
return;
}
+
+ // Add any other early game metals here with GT tools but no TFC ones
+ const onlyHasGTTools = material === GTMaterials.Invar;
- let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial()
+ let outputMaterial = (tfcProperty.getOutputMaterial() === null) ? material : tfcProperty.getOutputMaterial()
// Ingots
let ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1)
@@ -21,7 +24,7 @@ function registerTFCMaterialsRecipes(event) {
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfc:heating/metal/${material.getName()}_ingot`)
- if (material != GTMaterials.WroughtIron) {
+ if (material !== GTMaterials.WroughtIron) {
// Отливка слитка в обычной форме
event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1)
@@ -224,7 +227,7 @@ function registerTFCMaterialsRecipes(event) {
}
// Tools (From Double Plate)
- if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
+ if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) && !onlyHasGTTools) {
//#region Фурма
// Декрафт инструмента в жидкость
@@ -238,6 +241,24 @@ function registerTFCMaterialsRecipes(event) {
.tier(tfcProperty.getTier())
.id(`tfc:anvil/${material.getName()}_tuyere`)
+ // These aren't TFC recipes but they go here since they don't have a tag prefix
+ // and I'm too lazy to make them one
+ event.custom({
+ type: 'vintageimprovements:curving',
+ ingredients: [doublePlateItem],
+ // tuyeres are roughly bottle shaped, right?
+ // (there's no other mold that wouldn't conflict and this seems close enough)
+ itemAsHead: 'gtceu:bottle_extruder_mold',
+ results: [{ item: `tfc:metal/tuyere/${material.getName()}` }],
+ processingTime: material.getMass() * 6 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
+ }).id(`tfg:vi/curving/${material.getName()}_tuyere`)
+
+ event.recipes.gtceu.extruder(`tfg:${material.getName()}_tuyere`)
+ .itemInputs(doublePlateItem)
+ .notConsumable('gtceu:bottle_extruder_mold')
+ .itemOutputs(`tfc:metal/tuyere/${material.getName()}`)
+ .duration(material.getMass() * 6)
+ .EUt(GTValues.VA[GTValues.LV])
//#endregion
//#region Щит
@@ -280,7 +301,7 @@ function registerTFCMaterialsRecipes(event) {
}
// Tools (From Plate)
- if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
+ if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL) && !onlyHasGTTools) {
//#region Удочка
// Декрафт оголовья в жидкость
@@ -289,7 +310,7 @@ function registerTFCMaterialsRecipes(event) {
.id(`tfc:heating/metal/${material.getName()}_fish_hook`)
// Крюк удочки
- event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['draw_not_last', 'bend_any', 'hit_any'])
+ event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['bend_any', 'hit_any', 'draw_not_last'])
.tier(tfcProperty.getTier())
.bonus(true)
.id(`tfc:anvil/${material.getName()}_fish_hook`)
@@ -357,32 +378,32 @@ function registerTFCMaterialsRecipes(event) {
//#region Дубина
- // Декрафт инструмента в жидкость
- event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
- .useDurability(true)
- .id(`tfc:heating/metal/${material.getName()}_mace`)
+ if (!onlyHasGTTools) {
+ // Декрафт инструмента в жидкость
+ event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
+ .useDurability(true)
+ .id(`tfc:heating/metal/${material.getName()}_mace`)
- // Металл + Форма -> Оголовье
- if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
- event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1)
- .id(`tfc:casting/${material.getName()}_mace_head`)
+ // Металл + Форма -> Оголовье
+ if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
+ event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1)
+ .id(`tfc:casting/${material.getName()}_mace_head`)
- event.recipes.create.filling(
- Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)),
- [
- Fluid.of(outputMaterial.getFluid(), 288),
- Item.of('tfc:ceramic/mace_head_mold').strongNBT()
- ]
- ).id(`tfg:tfc/filling/${material.getName()}_mace_head`)
+ event.recipes.create.filling(
+ Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)),
+ [
+ Fluid.of(outputMaterial.getFluid(), 288),
+ Item.of('tfc:ceramic/mace_head_mold').strongNBT()
+ ]
+ ).id(`tfg:tfc/filling/${material.getName()}_mace_head`)
+ }
+ // Декрафт оголовья в жидкость
+ event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
+ .id(`tfc:heating/metal/${material.getName()}_mace_head`)
}
-
- // Декрафт оголовья в жидкость
- event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
- .id(`tfc:heating/metal/${material.getName()}_mace_head`)
-
//#endregion
//#region Мясницкий нож
@@ -604,10 +625,27 @@ function registerTFCMaterialsRecipes(event) {
}
}
+ // Small Gears
+ let smallGearItem = ChemicalHelper.get(TagPrefix.gearSmall, material, 1)
+ if (!smallGearItem.isEmpty()) {
+
+ if (tfcProperty.getMeltTemp() <= 1540) {
+ event.recipes.tfc.heating(`gtceu:small_${material.getName()}_gear`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(`gtceu:${material.getName()}`, 144))
+ .id(`tfc:heating/small_${material.getName()}_gear`)
+ }
+
+ if (material.hasFlag(MaterialFlags.GENERATE_SMALL_GEAR)) {
+ event.recipes.tfc.anvil(`gtceu:small_${material.getName()}_gear`, `#forge:ingots/${material.getName()}`, ['hit_last', 'shrink_second_last', 'draw_third_last'])
+ .tier(tfcProperty.getTier())
+ .id(`tfc:anvil/small_${material.getName()}_gear`)
+ }
+ }
+
// Tools (From Ingot)
if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) {
- //#region Кирка
+ //#region pickaxe
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` })
@@ -654,15 +692,17 @@ function registerTFCMaterialsRecipes(event) {
}
//#endregion
- // #region Mattock
- event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .useDurability(true)
- .id(`rnr:heating/metal/${material.getName()}_mattock`)
+ // #region mattock
+ if (!onlyHasGTTools) {
+ event.recipes.tfc.heating(`rnr:metal/mattock/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .useDurability(true)
+ .id(`rnr:heating/metal/${material.getName()}_mattock`)
- event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .id(`rnr:heating/metal/${material.getName()}_mattock_head`)
+ event.recipes.tfc.heating(`rnr:metal/mattock_head/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .id(`rnr:heating/metal/${material.getName()}_mattock_head`)
+ }
//#endregion
// #region screwdriver
@@ -710,7 +750,7 @@ function registerTFCMaterialsRecipes(event) {
.id(`gtceu:anvil/${material.getName()}_wire_cutter_head`)
//#endregion
- //#region Топор
+ //#region axe
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` })
@@ -756,7 +796,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Лопата
+ //#region shovel
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` })
@@ -804,7 +844,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Мотыга
+ //#region hoe
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` })
@@ -850,7 +890,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Молот
+ //#region crafting hammer
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` })
@@ -898,7 +938,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Пила
+ //#region saw
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` })
@@ -946,7 +986,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Коса
+ //#region scythe
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` })
@@ -992,7 +1032,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Напильник
+ //#region file
// Декрафт инструмента в жидкость
let fileItem = ToolHelper.get(GTToolType.FILE, material)
@@ -1021,7 +1061,7 @@ function registerTFCMaterialsRecipes(event) {
//#endregion
- //#region Нож
+ //#region knife
// Крафт инструмента
event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` })
@@ -1063,114 +1103,122 @@ function registerTFCMaterialsRecipes(event) {
).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`)
}
- //#region Ножницы
+ //#region shears
// Сварка оголовий
- event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier())
- .id(`tfc:welding/${material.getName()}_shears`)
+ if (!onlyHasGTTools) {
+ event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier())
+ .id(`tfc:welding/${material.getName()}_shears`)
- event.recipes.greate.compacting(`tfc:metal/shears/${material.getName()}`, [knifeHeadItem, knifeHeadItem, 'tfc:powder/flux'])
- .heated()
- .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1)
- .id(`greate:compacting/${material.getName()}_shears`)
+ event.recipes.greate.compacting(`tfc:metal/shears/${material.getName()}`, [knifeHeadItem, knifeHeadItem, 'tfc:powder/flux'])
+ .heated()
+ .recipeTier(tfcProperty.getTier() < 4 ? 0 : 1)
+ .id(`greate:compacting/${material.getName()}_shears`)
- // Декрафт инструмента в жидкость
- event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
- .useDurability(true)
- .id(`tfc:heating/metal/${material.getName()}_shears`)
+ // Декрафт инструмента в жидкость
+ event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
+ .useDurability(true)
+ .id(`tfc:heating/metal/${material.getName()}_shears`)
+ event.recipes.gtceu.forge_hammer(`tfc:metal/shears/${material.getName()}`)
+ .itemInputs(knifeHeadItem.withCount(2))
+ .itemOutputs(`tfc:metal/shears/${material.getName()}`)
+ .duration(40)
+ .EUt(7)
+ }
//#endregion
}
//#endregion
- //#region Проспектор
+ //#region prospector pick
- // Декрафт инструмента в жидкость
- event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .useDurability(true)
- .id(`tfc:heating/metal/${material.getName()}_propick`)
+ if (!onlyHasGTTools) {
+ // Декрафт инструмента в жидкость
+ event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .useDurability(true)
+ .id(`tfc:heating/metal/${material.getName()}_propick`)
- // Декрафт оголовья в жидкость
- event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .id(`tfc:heating/metal/${material.getName()}_propick_head`)
+ // Декрафт оголовья в жидкость
+ event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .id(`tfc:heating/metal/${material.getName()}_propick_head`)
- // Металл + Форма -> Оголовье
- if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
- event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
- .id(`tfc:casting/${material.getName()}_propick_head`)
+ // Металл + Форма -> Оголовье
+ if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
+ event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
+ .id(`tfc:casting/${material.getName()}_propick_head`)
- event.recipes.create.filling(
- Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)),
- [
- Fluid.of(outputMaterial.getFluid(), 144),
- Item.of('tfc:ceramic/propick_head_mold').strongNBT()
- ]
- ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`)
+ event.recipes.create.filling(
+ Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)),
+ [
+ Fluid.of(outputMaterial.getFluid(), 144),
+ Item.of('tfc:ceramic/propick_head_mold').strongNBT()
+ ]
+ ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`)
+ }
}
-
//#endregion
- //#region Стамеска
+ //#region chisel
+ if (!onlyHasGTTools) {
+ // Декрафт инструмента в жидкость
+ event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .useDurability(true)
+ .id(`tfc:heating/metal/${material.getName()}_chisel`)
- // Декрафт инструмента в жидкость
- event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .useDurability(true)
- .id(`tfc:heating/metal/${material.getName()}_chisel`)
+ // Декрафт оголовья в жидкость
+ event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .id(`tfc:heating/metal/${material.getName()}_chisel_head`)
- // Декрафт оголовья в жидкость
- event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .id(`tfc:heating/metal/${material.getName()}_chisel_head`)
+ // Металл + Форма -> Оголовье
+ if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
+ event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
+ .id(`tfc:casting/${material.getName()}_chisel_head`)
- // Металл + Форма -> Оголовье
- if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
- event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
- .id(`tfc:casting/${material.getName()}_chisel_head`)
-
- event.recipes.create.filling(
- Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)),
- [
- Fluid.of(outputMaterial.getFluid(), 144),
- Item.of('tfc:ceramic/chisel_head_mold').strongNBT()
- ]
- ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`)
+ event.recipes.create.filling(
+ Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)),
+ [
+ Fluid.of(outputMaterial.getFluid(), 144),
+ Item.of('tfc:ceramic/chisel_head_mold').strongNBT()
+ ]
+ ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`)
+ }
}
-
//#endregion
- //#region Копье
+ //#region javelin
+ if (!onlyHasGTTools) {
+ // Декрафт инструмента в жидкость
+ event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .useDurability(true)
+ .id(`tfc:heating/metal/${material.getName()}_javelin`)
- // Декрафт инструмента в жидкость
- event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .useDurability(true)
- .id(`tfc:heating/metal/${material.getName()}_javelin`)
+ // Декрафт оголовья в жидкость
+ event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
+ .id(`tfc:heating/metal/${material.getName()}_javelin_head`)
- // Декрафт оголовья в жидкость
- event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp())
- .resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
- .id(`tfc:heating/metal/${material.getName()}_javelin_head`)
+ // Металл + Форма -> Оголовье
+ if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
+ event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
+ .id(`tfc:casting/${material.getName()}_javelin_head`)
- // Металл + Форма -> Оголовье
- if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) {
- event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1)
- .id(`tfc:casting/${material.getName()}_javelin_head`)
-
- event.recipes.create.filling(
- Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)),
- [
- Fluid.of(outputMaterial.getFluid(), 144),
- Item.of('tfc:ceramic/javelin_head_mold').strongNBT()
- ]
- ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`)
+ event.recipes.create.filling(
+ Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)),
+ [
+ Fluid.of(outputMaterial.getFluid(), 144),
+ Item.of('tfc:ceramic/javelin_head_mold').strongNBT()
+ ]
+ ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`)
+ }
}
-
//#endregion
}
}
@@ -1240,11 +1288,11 @@ function registerTFCMaterialsRecipes(event) {
.id(`tfc:heating/metal/${material.getName()}_anvil`)
}
- //#region Щипцы
+ //#region tongs
let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`)
let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`)
- if (!tongsStack.isEmpty() && !tongPartStack.isEmpty() && material != GTMaterials.Iron) {
+ if (!tongsStack.isEmpty() && !tongPartStack.isEmpty() && material !== GTMaterials.Iron) {
event.recipes.tfc.advanced_shaped_crafting(
TFC.isp.of(tongsStack).copyForgingBonus(), [
'AA',
@@ -1255,12 +1303,12 @@ function registerTFCMaterialsRecipes(event) {
C: '#forge:tools/hammers'
}, 0, 0).id(`tfchotornot:crafting/tongs/${material.getName()}`)
- // Ручка щипцов
+ // tong parts
event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 144))
.id(`tfchotornot:heating/tong_part/${material.getName()}`)
- // Щипцы
+ // tong heating
event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp())
.resultFluid(Fluid.of(outputMaterial.getFluid(), 288))
.useDurability(true)
@@ -1273,10 +1321,9 @@ function registerTFCMaterialsRecipes(event) {
// Workaround for limonite/bismuth
let materialName = material.getName();
- if (materialName == "yellow_limonite") {
+ if (materialName === "yellow_limonite") {
materialName = "limonite";
- }
- else if (materialName == "bismuth") {
+ } else if (materialName === "bismuth") {
materialName = "bismuthinite";
}
diff --git a/kubejs/server_scripts/tfc/recipes.metals.js b/kubejs/server_scripts/tfc/recipes.metals.js
index 39396a510..8a2f48fdd 100644
--- a/kubejs/server_scripts/tfc/recipes.metals.js
+++ b/kubejs/server_scripts/tfc/recipes.metals.js
@@ -15,9 +15,14 @@ function registerTFCMetalsRecipes(event) {
TFC.alloyPart('tfc:cast_iron', 0.45, 0.55)
]).id('tfg:alloy/tin_alloy')
+ event.recipes.tfc.alloy('tfg:invar', [
+ TFC.alloyPart('tfc:nickel', 0.60, 0.70),
+ TFC.alloyPart('tfc:cast_iron', 0.30, 0.40)
+ ]).id('tfg:alloy/invar')
+
//#endregion
-
+
//#region Фикс рецептов колоколов
//#region Из золота
@@ -152,17 +157,17 @@ function registerTFCMetalsRecipes(event) {
.EUt(4)
const TFC_INTERMEDIATE_METALS =
- [
- { metal: 'pig_iron', meltTemp: 1535 },
- { metal: 'high_carbon_steel', meltTemp: 1540 },
- { metal: 'high_carbon_black_steel', meltTemp: 1540 },
- { metal: 'high_carbon_red_steel', meltTemp: 1540 },
- { metal: 'high_carbon_blue_steel', meltTemp: 1540 },
- { metal: 'weak_steel', meltTemp: 1540 },
- { metal: 'weak_blue_steel', meltTemp: 1540 },
- { metal: 'weak_red_steel', meltTemp: 1540 },
- { metal: 'unknown', meltTemp: 400 }
- ]
+ [
+ { metal: 'pig_iron', meltTemp: 1535 },
+ { metal: 'high_carbon_steel', meltTemp: 1540 },
+ { metal: 'high_carbon_black_steel', meltTemp: 1540 },
+ { metal: 'high_carbon_red_steel', meltTemp: 1540 },
+ { metal: 'high_carbon_blue_steel', meltTemp: 1540 },
+ { metal: 'weak_steel', meltTemp: 1540 },
+ { metal: 'weak_blue_steel', meltTemp: 1540 },
+ { metal: 'weak_red_steel', meltTemp: 1540 },
+ { metal: 'unknown', meltTemp: 400 }
+ ]
TFC_INTERMEDIATE_METALS.forEach(x => {
@@ -278,32 +283,6 @@ function registerTFCMetalsRecipes(event) {
.tier(5)
.id('tfc:anvil/blue_steel_ingot')
- // Small Gears
- event.recipes.tfc.anvil('gtceu:small_wrought_iron_gear', '#forge:ingots/wrought_iron', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(3)
- .id('tfc:anvil/small_wrought_iron_gear')
- event.recipes.tfc.anvil('gtceu:small_steel_gear', '#forge:ingots/steel', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(4)
- .id('tfc:anvil/small_steel_gear')
- event.recipes.tfc.anvil('gtceu:small_iron_gear', '#forge:ingots/iron', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(2)
- .id('tfc:anvil/small_iron_gear')
- event.recipes.tfc.anvil('gtceu:small_brass_gear', '#forge:ingots/brass', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(2)
- .id('tfc:anvil/small_brass_gear')
- event.recipes.tfc.anvil('gtceu:small_bronze_gear', '#forge:ingots/bronze', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(2)
- .id('tfc:anvil/small_bronze_gear')
- event.recipes.tfc.anvil('gtceu:small_bismuth_bronze_gear', '#forge:ingots/bismuth_bronze', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(2)
- .id('tfc:anvil/small_bismuth_bronze_gear')
- event.recipes.tfc.anvil('gtceu:small_black_bronze_gear', '#forge:ingots/black_bronze', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(2)
- .id('tfc:anvil/small_black_bronze_gear')
- event.recipes.tfc.anvil('gtceu:small_red_alloy_gear', '#forge:ingots/red_alloy', ['hit_last', 'shrink_second_last', 'draw_third_last'])
- .tier(2)
- .id('tfc:anvil/small_red_alloy_gear')
-
// Cast iron -> Raw Iron Bloom
event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000)
.id('tfc:bloomery/raw_iron_bloom')
@@ -323,23 +302,52 @@ function registerTFCMetalsRecipes(event) {
];
global.TFC_STONE_TYPES.forEach(stone => {
- deposit_ores.forEach(ore => {
-
- event.recipes.gtceu.ore_washer(`tfc:ore_washer/water/deposit/${ore}/${stone}`)
- .itemInputs(`1x tfc:deposit/${ore}/${stone}`)
- .inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
- .circuit(4)
- .itemOutputs(`1x tfc:ore/normal_${ore}`)
- .duration(400)
- .EUt(GTValues.VA[GTValues.LV])
+ deposit_ores.forEach(ore => {
- event.recipes.gtceu.ore_washer(`tfc:ore_washer/distilled_water/deposit/${ore}/${stone}`)
- .itemInputs(`1x tfc:deposit/${ore}/${stone}`)
- .inputFluids(Fluid.of('gtceu:distilled_water', 50))
- .circuit(4)
- .itemOutputs(`1x tfc:ore/normal_${ore}`)
- .duration(200)
- .EUt(GTValues.VA[GTValues.LV])
- })})
+ event.recipes.gtceu.ore_washer(`tfc:ore_washer/water/deposit/${ore}/${stone}`)
+ .itemInputs(`1x tfc:deposit/${ore}/${stone}`)
+ .inputFluids("#tfg:clean_water 100")
+ .circuit(4)
+ .itemOutputs(`1x tfc:ore/normal_${ore}`)
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.LV])
+
+ event.recipes.gtceu.ore_washer(`tfc:ore_washer/distilled_water/deposit/${ore}/${stone}`)
+ .itemInputs(`1x tfc:deposit/${ore}/${stone}`)
+ .inputFluids(Fluid.of('gtceu:distilled_water', 50))
+ .circuit(4)
+ .itemOutputs(`1x tfc:ore/normal_${ore}`)
+ .duration(200)
+ .EUt(GTValues.VA[GTValues.LV])
+ })
+ })
//#endregion
+
+ // Melting powders
+
+ const METAL_POWDERS = [
+ { powder: 'tfc:powder/native_copper', material: GTMaterials.Copper },
+ { powder: 'tfc:powder/native_gold', material: GTMaterials.Gold },
+ { powder: 'tfc:powder/hematite', material: GTMaterials.Hematite },
+ { powder: 'tfc:powder/native_silver', material: GTMaterials.Silver },
+ { powder: 'tfc:powder/cassiterite', material: GTMaterials.Cassiterite },
+ { powder: 'tfc:powder/bismuthinite', material: GTMaterials.Bismuth },
+ { powder: 'tfc:powder/garnierite', material: GTMaterials.Garnierite },
+ { powder: 'tfc:powder/malachite', material: GTMaterials.Malachite },
+ { powder: 'tfc:powder/magnetite', material: GTMaterials.Magnetite },
+ { powder: 'tfc:powder/limonite', material: GTMaterials.YellowLimonite },
+ { powder: 'tfc:powder/sphalerite', material: GTMaterials.Sphalerite },
+ { powder: 'tfc:powder/tetrahedrite', material: GTMaterials.Tetrahedrite },
+ { powder: 'tfc:powder/pyrite', material: GTMaterials.Pyrite }
+ ]
+
+ METAL_POWDERS.forEach(x => {
+ const tfcProperty = x.material.getProperty(TFGPropertyKey.TFC_PROPERTY)
+
+ let outputMaterial = (tfcProperty.getOutputMaterial() === null) ? x.material : tfcProperty.getOutputMaterial()
+
+ event.recipes.tfc.heating(x.powder, tfcProperty.getMeltTemp())
+ .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetalProcessed(36, tfcProperty.getPercentOfMaterial())))
+ .id(`tfg:heating/powder/${x.material.getName()}`)
+ })
}
diff --git a/kubejs/server_scripts/tfc/recipes.removes.js b/kubejs/server_scripts/tfc/recipes.removes.js
index f30cc8538..95ee811ee 100644
--- a/kubejs/server_scripts/tfc/recipes.removes.js
+++ b/kubejs/server_scripts/tfc/recipes.removes.js
@@ -149,6 +149,7 @@ function removeTFCRecipes(event) {
event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' })
event.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' })
event.remove({ id: 'tfc:crafting/cake' })
+ event.remove({ id: 'tfc:crafting/pumpkin_chunks' })
event.remove({ id: /^tfc:crafting\/dough\/.*/ })
diff --git a/kubejs/server_scripts/tfc/recipes.stone.js b/kubejs/server_scripts/tfc/recipes.stone.js
index 8fcaf4944..09a873d09 100644
--- a/kubejs/server_scripts/tfc/recipes.stone.js
+++ b/kubejs/server_scripts/tfc/recipes.stone.js
@@ -253,7 +253,7 @@ function registerTFCStoneRecipes(event) {
event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`)
.itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low')
.circuit(0)
- .inputFluids(JsonIO.of({ amount: 144, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 144")
.itemOutputs(`tfc:rock/mossy_cobble/${stone}`)
.duration(50)
.EUt(2)
@@ -265,7 +265,7 @@ function registerTFCStoneRecipes(event) {
event.recipes.gtceu.assembler(`mossy_bricks_${stone}`)
.itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low')
.circuit(0)
- .inputFluids(JsonIO.of({ amount: 144, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 144")
.itemOutputs(`tfc:rock/mossy_bricks/${stone}`)
.duration(50)
.EUt(2)
diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js
index 1d84b8815..9e20c78f9 100644
--- a/kubejs/server_scripts/tfc/tags.js
+++ b/kubejs/server_scripts/tfc/tags.js
@@ -7,7 +7,7 @@ const registerTFCItemTags = (event) => {
forEachMaterial(material => {
if (material.hasProperty(PropertyKey.TOOL)) {
for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) {
- var tool = ToolHelper.get(value, material)
+ let tool = ToolHelper.get(value, material)
if (!tool.isEmpty()) {
event.add(key, tool.getId())
}
@@ -73,6 +73,8 @@ const registerTFCItemTags = (event) => {
event.add('tfc:pileable_sheets', '#forge:plates')
event.add('tfc:pileable_double_ingots', 'gtceu:tin_alloy_double_ingot')
event.add('tfc:pileable_double_ingots', 'gtceu:red_alloy_double_ingot')
+ event.add('tfc:pileable_double_ingots', 'gtceu:lead_double_ingot')
+ event.add('tfc:pileable_double_ingots', 'gtceu:invar_double_ingot')
// Рыба
event.add('minecraft:fishes', 'tfc:food/calamari')
@@ -487,6 +489,7 @@ const registerTFCFluidTags = (event) => {
event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy')
event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy')
event.add('tfc:usable_in_ingot_mold', 'gtceu:lead')
+ event.add('tfc:usable_in_ingot_mold', 'gtceu:invar')
event.add('tfc:usable_in_bell_mold', 'gtceu:bronze')
event.add('tfc:usable_in_bell_mold', 'gtceu:gold')
diff --git a/kubejs/server_scripts/tfcambiental/recipes.js b/kubejs/server_scripts/tfcambiental/recipes.js
new file mode 100644
index 000000000..c8b96819c
--- /dev/null
+++ b/kubejs/server_scripts/tfcambiental/recipes.js
@@ -0,0 +1,9 @@
+// priority: 0
+"use strict";
+
+function registerTFCAmbientalRecipes(event) {
+ event.replaceInput({ id: 'tfcambiental:crafting/silk_cowl' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
+ event.replaceInput({ id: 'tfcambiental:crafting/silk_shirt' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
+ event.replaceInput({ id: 'tfcambiental:crafting/silk_pants' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
+ event.replaceInput({ id: 'tfcambiental:crafting/silk_shoes' }, 'tfc:silk_cloth', '#tfg:lightweight_cloth')
+}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tfcambiental/tags.js b/kubejs/server_scripts/tfcambiental/tags.js
index fd79e1c5f..aeabe274a 100644
--- a/kubejs/server_scripts/tfcambiental/tags.js
+++ b/kubejs/server_scripts/tfcambiental/tags.js
@@ -19,4 +19,8 @@ const registerTFCAmbientalItemTags = (event) => {
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_tunic')
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_pants')
event.add('minecraft:trimmable_armor', 'tfcambiental:insulated_leather_boots')
+
+ event.add('tfg:lightweight_cloth', 'tfc:silk_cloth')
+ event.add('tfg:lightweight_cloth', 'tfg:phantom_silk')
+ event.add('tfg:lightweight_cloth', 'tfg:polycaprolactam_fabric')
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tfcbetterbf/recipes.js b/kubejs/server_scripts/tfcbetterbf/recipes.js
index 2c451ddd3..12cc0d3db 100644
--- a/kubejs/server_scripts/tfcbetterbf/recipes.js
+++ b/kubejs/server_scripts/tfcbetterbf/recipes.js
@@ -4,8 +4,7 @@
*
* @param {Internal.RecipesEventJS} event
*/
-const registerTFCBetterBFRecipes = (event) =>
-{
+const registerTFCBetterBFRecipes = (event) => {
event.remove("tfcbetterbf:heating/metal/insulation")
event.recipes.tfc.heating('tfcbetterbf:insulation', 1535)
diff --git a/kubejs/server_scripts/tfclunchbox/recipes.js b/kubejs/server_scripts/tfclunchbox/recipes.js
index 1976010b1..d96eef2ea 100644
--- a/kubejs/server_scripts/tfclunchbox/recipes.js
+++ b/kubejs/server_scripts/tfclunchbox/recipes.js
@@ -25,7 +25,7 @@ function registerTFCLunchBoxRecipes(event) {
event.recipes.gtceu.canner(`tfclunchbox:fill_${cell.name}_cell_with_liquid_ice`)
.itemInputs(cell.id)
.inputFluids(Fluid.of('gtceu:ice', cell.capacity))
- .itemOutputs(Item.of(cell.id, '{Fluid:{Amount:' + cell.capacity + ',FluidName:"gtceu:ice"}}'))
+ .itemOutputs(Item.of(cell.id, `{Fluid:{Amount:${ cell.capacity },FluidName:"gtceu:ice"}}`))
.duration(Math.max(16, Math.floor(cell.capacity / 64)))
.EUt(GTValues.VA[GTValues.LV]);
});
diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js
index a23b52bc5..49247f7f7 100644
--- a/kubejs/server_scripts/tfg/data.js
+++ b/kubejs/server_scripts/tfg/data.js
@@ -6,7 +6,6 @@ function registerTFCDataForTFG(event) {
registerTFGItemSize(event);
registerTFGSupportData(event);
registerTFGFoodData(event);
- registerTFGFauna(event);
registerTFGCropRanges(event);
registerTFGFLPlanters(event);
}
@@ -50,7 +49,7 @@ const registerTFGItemSize = (event) => {
event.itemSize('tfg:rapeseed_product', 'small', 'light', 'rapeseed_product')
event.itemSize('tfg:sunflower_product', 'small', 'light', 'sunflower_product')
-
+ event.itemSize('betterend:amber_roots', 'small', 'light', 'amber_roots')
}
@@ -79,7 +78,7 @@ const registerTFGSupportData = (event) => {
const registerTFGFoodData = (event) => {
- // birt has the same stats as chicken
+ // meats
event.foodItem('tfg:food/raw_birt', food => {
food.hunger(4)
@@ -122,6 +121,21 @@ const registerTFGFoodData = (event) => {
food.decayModifier(2.25)
})
+ event.foodItem('tfg:food/raw_moon_rabbit', food => {
+ food.hunger(4)
+ food.protein(2.0)
+ food.decayModifier(3)
+ })
+
+ event.foodItem('tfg:food/cooked_moon_rabbit', food => {
+ food.hunger(6)
+ food.saturation(2.5)
+ food.protein(5)
+ food.decayModifier(2.25)
+ })
+
+ // high-tech food
+
global.FOOD_FRUIT.forEach(fruit => {
event.foodItem(`tfg:food/freeze_dried/${fruit.name}`, food => {
food.hunger(4)
@@ -145,6 +159,8 @@ const registerTFGFoodData = (event) => {
food.type('dynamic')
})
+ // crops
+
event.foodItem('tfg:roasted_sunflower_seeds', food => {
food.hunger(4)
food.decayModifier(0.5)
@@ -156,50 +172,186 @@ const registerTFGFoodData = (event) => {
food.decayModifier(0.5)
})
- event.foodItem('tfg:food/raw_moon_rabbit', food => {
- food.hunger(4)
- food.protein(2.0)
- food.decayModifier(3)
+ event.foodItem('tfg:rapeseed_product', food => {
+ food.decayModifier(0.3)
})
- event.foodItem('tfg:food/cooked_moon_rabbit', food => {
- food.hunger(6)
- food.saturation(2.5)
- food.protein(5)
- food.decayModifier(2.25)
+ event.foodItem('betterend:amber_root_product', food => {
+ food.hunger(4)
+ food.decayModifier(1)
+ food.saturation(1)
+ food.grain(3)
})
+ event.foodItem('betterend:blossom_berry_product', food => {
+ food.hunger(5)
+ food.decayModifier(2)
+ food.saturation(1)
+ food.water(7.5)
+ food.fruit(1.5)
+ })
+
+ event.foodItem('betterend:cave_pumpkin', food => {
+ food.hunger(4)
+ food.saturation(0)
+ food.decayModifier(0.5)
+ })
+
+ event.foodItem('betterend:cave_pumpkin_chunks', food => {
+ food.hunger(4)
+ food.saturation(1)
+ food.decayModifier(1.5)
+ food.water(5)
+ food.fruit(0.75)
+ })
+
+ event.foodItem('betterend:cave_pumpkin_pie', food => {
+ food.hunger(4)
+ food.saturation(3)
+ food.decayModifier(2.5)
+ food.water(5)
+ food.fruit(2)
+ food.grain(1.5)
+ })
+
+ event.foodItem('betterend:chorus_mushroom_product', food => {
+ food.hunger(2)
+ food.saturation(1)
+ food.decayModifier(3)
+ food.water(3)
+ food.vegetables(1.5)
+ })
+
+ event.foodItem('betterend:chorus_mushroom_cooked', food => {
+ food.hunger(2)
+ food.saturation(2.5)
+ food.decayModifier(1.5)
+ food.vegetables(2)
+ })
+
+ event.foodItem('betterend:shadow_berry_product', food => {
+ food.hunger(5)
+ food.decayModifier(2)
+ food.saturation(1)
+ food.water(5)
+ food.fruit(1.5)
+ })
+
+ event.foodItem('betterend:shadow_berry_cooked', food => {
+ food.hunger(5)
+ food.decayModifier(1)
+ food.saturation(2)
+ food.fruit(2)
+ })
+
+ event.foodItem('betterend:bolux_mushroom_product', food => {
+ food.hunger(2)
+ food.saturation(1)
+ food.decayModifier(3)
+ food.water(3)
+ food.vegetables(1.5)
+ })
+
+ event.foodItem('betterend:bolux_mushroom_cooked', food => {
+ food.hunger(2)
+ food.saturation(2.5)
+ food.decayModifier(1.5)
+ food.vegetables(2)
+ })
+
+ // misc
+
event.foodItem('tfg:food/ice_soup', food => {
food.hunger(1)
food.water(20)
food.decayModifier(0)
})
+
+ event.drinkable('tfg:semiheavy_ammoniacal_water', data => {
+ data.thirst(10)
+ data.effect('minecraft:nausea', effect => {
+ effect.chance(0.5)
+ effect.duration(200)
+ })
+ })
}
-const registerTFGFauna = (event) => {
-
- //event.fauna(climate => { }, fauna => { fauna.chance(0) }, 'tfg:moon_rabbit')
-}
const registerTFGCropRanges = (event) => {
+ // Earth
event.climateRange(climate => {
- climate.minHydration(20)
- climate.maxHydration(80)
- climate.minTemperature(5)
- climate.maxTemperature(40)
- climate.hydrationWiggle(7.5)
- climate.temperatureWiggle(5.5)
- }, 'tfg:sunflower')
+ climate.minHydration(20)
+ climate.maxHydration(80)
+ climate.minTemperature(5)
+ climate.maxTemperature(40)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'tfg:sunflower')
- event.climateRange(climate => {
- climate.minHydration(10)
- climate.maxHydration(60)
- climate.minTemperature(-5)
- climate.maxTemperature(25)
- climate.hydrationWiggle(7.5)
- climate.temperatureWiggle(1.5)
- }, 'tfg:rapeseed')
+ event.climateRange(climate => {
+ climate.minHydration(10)
+ climate.maxHydration(60)
+ climate.minTemperature(-5)
+ climate.maxTemperature(25)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(1.5)
+ }, 'tfg:rapeseed')
+
+ // Mars
+ event.climateRange(climate => {
+ climate.minHydration(0)
+ climate.maxHydration(40)
+ climate.minTemperature(-150)
+ climate.maxTemperature(15)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'betterend:amber_root')
+
+ event.climateRange(climate => {
+ climate.minHydration(0)
+ climate.maxHydration(100)
+ climate.minTemperature(-80)
+ climate.maxTemperature(30)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'betterend:blossom_berry')
+
+ event.climateRange(climate => {
+ climate.minHydration(0)
+ climate.maxHydration(40)
+ climate.minTemperature(-150)
+ climate.maxTemperature(15)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'betterend:bolux_mushroom')
+
+ event.climateRange(climate => {
+ climate.minHydration(0)
+ climate.maxHydration(60)
+ climate.minTemperature(-100)
+ climate.maxTemperature(30)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'betterend:cave_pumpkin_plant')
+
+ event.climateRange(climate => {
+ climate.minHydration(0)
+ climate.maxHydration(40)
+ climate.minTemperature(-150)
+ climate.maxTemperature(15)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'betterend:chorus_mushroom')
+
+ event.climateRange(climate => {
+ climate.minHydration(0)
+ climate.maxHydration(100)
+ climate.minTemperature(-80)
+ climate.maxTemperature(30)
+ climate.hydrationWiggle(7.5)
+ climate.temperatureWiggle(5.5)
+ }, 'betterend:shadow_berry')
}
const registerTFGFLPlanters = (event) => {
@@ -207,7 +359,7 @@ const registerTFGFLPlanters = (event) => {
event.firmalifePlantable(
'tfg:sunflower_seeds',
'large',
- 10,
+ 0,
3,
0.15,
'tfg:sunflower_seeds',
@@ -225,7 +377,7 @@ const registerTFGFLPlanters = (event) => {
event.firmalifePlantable(
'tfg:rapeseed_seeds',
'large',
- 10,
+ 0,
3,
0.15,
'tfg:rapeseed_seeds',
@@ -239,4 +391,115 @@ const registerTFGFLPlanters = (event) => {
],
null
)
+
+ event.firmalifePlantable(
+ 'betterend:amber_root_seeds',
+ 'large',
+ 0,
+ 3,
+ 0.15,
+ 'betterend:amber_root_seeds',
+ 'betterend:amber_root_product',
+ 'phosphorous',
+ [
+ 'betterend:block/amber_root_0',
+ 'betterend:block/amber_root_1',
+ 'betterend:block/amber_root_2',
+ 'betterend:block/amber_root_3'
+ ],
+ null
+ )
+
+ event.firmalifePlantable(
+ 'betterend:blossom_berry_seeds',
+ 'large',
+ 0,
+ 3,
+ 0.15,
+ 'betterend:blossom_berry_seeds',
+ 'betterend:blossom_berry_product',
+ 'potassium',
+ [
+ 'betterend:block/blossom_berry_seed_0',
+ 'betterend:block/blossom_berry_seed_1',
+ 'betterend:block/blossom_berry_seed_2',
+ 'betterend:block/blossom_berry_seed_3' // TODO
+ ],
+ null
+ )
+
+ event.firmalifePlantable(
+ 'betterend:bolux_mushroom_seeds',
+ 'quad',
+ 1,
+ 3,
+ 0.15,
+ 'betterend:bolux_mushroom_seeds',
+ 'betterend:bolux_mushroom_product',
+ 'phosphorous',
+ [
+ // TODO: all
+ 'betterend:block/bolux_mushroom_greenhouse_0',
+ 'betterend:block/bolux_mushroom_greenhouse_1',
+ 'betterend:block/bolux_mushroom_greenhouse_2',
+ 'betterend:block/bolux_mushroom_greenhouse_3'
+ ],
+ null
+ )
+
+ event.firmalifePlantable(
+ 'betterend:chorus_mushroom_seeds',
+ 'quad',
+ 1,
+ 3,
+ 0.15,
+ 'betterend:chorus_mushroom_seeds',
+ 'betterend:chorus_mushroom_product',
+ 'phosphorous',
+ [
+ 'betterend:block/chorus_mushroom_0',
+ 'betterend:block/chorus_mushroom_1',
+ 'betterend:block/chorus_mushroom_2',
+ 'betterend:block/chorus_mushroom_3'
+ ],
+ null
+ )
+
+ event.firmalifePlantable(
+ 'betterend:cave_pumpkin_seeds',
+ 'hanging',
+ 2,
+ 3,
+ 0.15,
+ 'betterend:cave_pumpkin_seeds',
+ 'betterend:cave_pumpkin',
+ 'phosphorous',
+ [
+ // TODO: all
+ 'betterend:block/cave_pumpkin_greenhouse_0',
+ 'betterend:block/cave_pumpkin_greenhouse_1',
+ 'betterend:block/cave_pumpkin_greenhouse_2',
+ 'betterend:block/cave_pumpkin_greenhouse_3'
+ ],
+ 'betterend:block/cave_pumpkin_greenhouse_fruit'
+ )
+
+ event.firmalifePlantable(
+ 'betterend:shadow_berry_seeds',
+ 'quad',
+ 1,
+ 3,
+ 0.15,
+ 'betterend:shadow_berry_seeds',
+ 'betterend:shadow_berry_product',
+ 'potassium',
+ [
+ // TODO: all
+ 'betterend:block/shadow_berry_greenhouse_0',
+ 'betterend:block/shadow_berry_greenhouse_1',
+ 'betterend:block/shadow_berry_greenhouse_2',
+ 'betterend:block/shadow_berry_greenhouse_3'
+ ],
+ null
+ )
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tfg/events.chunks.js b/kubejs/server_scripts/tfg/events.chunks.js
index 3a748dfed..4cb83a835 100644
--- a/kubejs/server_scripts/tfg/events.chunks.js
+++ b/kubejs/server_scripts/tfg/events.chunks.js
@@ -15,13 +15,13 @@ TFCEvents.createChunkDataProvider('mars', event => {
.scaled(6, 18, 0, 1)
// Precompute the surface & aquifer heights as constants as this is nether and does not realistically change
- var heights = [];
- var i = 0;
+ let heights = [];
+ let i = 0;
while (i < 256) {
heights.push(127);
i++;
}
- var aquifer = [];
+ let aquifer = [];
i = 0;
while (i < 16) {
aquifer.push(32);
@@ -29,10 +29,10 @@ TFCEvents.createChunkDataProvider('mars', event => {
}
event.partial((data, chunk) => {
- var x = chunk.pos.minBlockX;
- var z = chunk.pos.minBlockZ;
+ let x = chunk.pos.minBlockX;
+ let z = chunk.pos.minBlockZ;
- var temp = TFC.misc.lerpFloatLayer(
+ let temp = TFC.misc.lerpFloatLayer(
tempLayer.noise(x, z),
tempLayer.noise(x, z + 15),
tempLayer.noise(x + 15, z),
diff --git a/kubejs/server_scripts/tfg/events.js b/kubejs/server_scripts/tfg/events.js
index fec1c8e1f..cc193ed06 100644
--- a/kubejs/server_scripts/tfg/events.js
+++ b/kubejs/server_scripts/tfg/events.js
@@ -19,7 +19,7 @@
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:${pill_event}_pill`) return
+ if (item.id !== `tfg:${pill_event}_pill`) return
item.count--
player.addItemCooldown(item, 100)
server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 480 0 true`)
@@ -28,7 +28,7 @@
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:${pill_event}_tablet`) return
+ if (item.id !== `tfg:${pill_event}_tablet`) return
item.count--
player.addItemCooldown(item, 100)
server.runCommandSilent(`effect give ${player.username} minecraft:${pill_event} 1800 0 true`)
@@ -38,7 +38,7 @@
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:antipoison_pill`) return
+ if (item.id !== `tfg:antipoison_pill`) return
item.count--
player.addItemCooldown(item, 50)
event.player.removeEffect('minecraft:poison')
@@ -47,7 +47,7 @@
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:antipoison_tablet`) return
+ if (item.id !== `tfg:antipoison_tablet`) return
item.count--
player.addItemCooldown(item, 50)
event.player.removeEffect('minecraft:poison')
@@ -76,7 +76,7 @@
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:${salvo_event}_salvo`) return
+ if (item.id !== `tfg:${salvo_event}_salvo`) return
item.count--
player.addItemCooldown(item, 100)
server.runCommandSilent(`effect give ${player.username} minecraft:${salvo_event} 480 0 true`)
@@ -86,7 +86,7 @@
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:absorption_salvo`) return
+ if (item.id !== `tfg:absorption_salvo`) return
item.count--
player.addItemCooldown(item, 200)
server.runCommandSilent(`effect give ${player.username} minecraft:absorption 480 4 true`)
@@ -95,7 +95,7 @@ ItemEvents.rightClicked(event => {
ItemEvents.rightClicked(event => {
const {item,server,player,player:{x,y,z}} = event
- if (item.id != `tfg:instant_health_salvo`) return
+ if (item.id !== `tfg:instant_health_salvo`) return
item.count--
player.addItemCooldown(item, 100)
server.runCommandSilent(`effect give ${player.username} minecraft:instant_health 1 1 true`)
@@ -108,28 +108,29 @@ ItemEvents.rightClicked(event => {
global.MINECRAFT_DYE_NAMES.forEach(color => {
BlockEvents.rightClicked(event => {
const {block,server,player} = event
- if (block.id != `tfg:decorative_vase/${color}`) {return}{
+ if (block.id !== `tfg:decorative_vase/${color}`) return
server.runCommandSilent(`playsound tfc:block.quern.drag block ${player.username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
- }})
+
+})
});
BlockEvents.rightClicked(event => {
const {block,server,player} = event
- if (block.id != 'tfg:decorative_vase') {return}{
+ if (block.id !== 'tfg:decorative_vase') return
server.runCommandSilent(`playsound tfc:block.quern.drag block ${player.username} ${block.x} ${block.y} ${block.z} 0.3 2.0 0.1`)
-}});
+});
//#endregion
-BlockEvents.rightClicked(event=>{
+BlockEvents.rightClicked(event => {
let item = event.item
- if(item.id != 'tfg:armor_stand_arms') return
+ if (item.id !== 'tfg:armor_stand_arms') return
let mob = event.block[event.facing].createEntity('minecraft:armor_stand')
mob.mergeNbt('{ShowArms:1b}')
mob.setPos(mob.x + 0.5, mob.y, mob.z + 0.5)
mob.setYaw(event.player.yaw + 180)
mob.spawn()
- if (event.player.isCreative() == false){
+ if (event.player.isCreative() === false){
item.shrink(1)
}
})
@@ -139,10 +140,8 @@ BlockEvents.rightClicked(event=>{
* @param {Internal.Player} player
* @returns {Internal.CompoundTag}
*/
-function getTFGPersistentDataRoot(player)
-{
- if(!player.persistentData.contains("tfg:custom_data"))
- {
+function getTFGPersistentDataRoot(player) {
+ if (!player.persistentData.contains("tfg:custom_data")) {
player.persistentData.put("tfg:custom_data", {});
}
return player.persistentData.getCompound("tfg:custom_data")
@@ -186,13 +185,13 @@ function getTFGPersistentDataRoot(player)
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
const {item, player, server, target} = event;
- if (target.type != `tfc:${fish}`) return
+ if (target.type !== `tfc:${fish}`) return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give(`tfc:food/${fish}`)
player.swing()
- if (player.isCreative() == false){
+ if (player.isCreative() === false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
@@ -207,13 +206,13 @@ function getTFGPersistentDataRoot(player)
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
const {item, player, server, target} = event;
- if (target.type != `tfc:${shellfish}`) return
+ if (target.type !== `tfc:${shellfish}`) return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give('tfc:food/shellfish')
player.swing()
- if (player.isCreative() == false){
+ if (player.isCreative() === false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
@@ -227,13 +226,13 @@ function getTFGPersistentDataRoot(player)
ItemEvents.entityInteracted(`tfg:fishing_net/${tier}`, (event) => {
const {item, player, server, target} = event;
- if (target.type != 'tfc:pufferfish') return
+ if (target.type !== 'tfc:pufferfish') return
server.runCommandSilent(`particle minecraft:bubble_pop ${target.x} ${target.y} ${target.z} 0.5 0.5 0.5 0.00001 10`)
server.runCommandSilent(`playsound minecraft:entity.player.splash player ${player.username} ${target.x} ${target.y} ${target.z} 2 2 1`)
server.runCommandSilent(`tp ${target.uuid} ${target.x} ${target.y - 382} ${target.z}`)
event.player.give('minecraft:pufferfish')
player.swing()
- if (player.isCreative() == false){
+ if (player.isCreative() === false){
item.damageValue++
if (item.damageValue >= item.maxDamage) {
server.runCommandSilent(`playsound minecraft:item.shield.break player ${player.username} ${player.x} ${player.y} ${player.z} 1 1 1`)
@@ -269,7 +268,7 @@ function getTFGPersistentDataRoot(player)
*/
/** @type {BrickVariant[]} */
-global.BRICK_INDEX = (global.TFC_STONE_TYPES ?? []).map(tfc_stone => ({
+global.BRICK_INDEX = (global.TFC_STONE_TYPES ? global.TFC_STONE_TYPES : []).map(tfc_stone => ({
brick_type: tfc_stone,
brick: `tfc:rock/bricks/${tfc_stone}`, brick_stairs: `tfc:rock/bricks/${tfc_stone}_stairs`, brick_slab: `tfc:rock/bricks/${tfc_stone}_slab`, brick_wall: `tfc:rock/bricks/${tfc_stone}_wall`,
cracked_brick: `tfc:rock/cracked_bricks/${tfc_stone}`, cracked_stairs: `tfc:rock/cracked_bricks/${tfc_stone}_stairs`, cracked_slab: `tfc:rock/cracked_bricks/${tfc_stone}_slab`, cracked_wall: `tfc:rock/cracked_bricks/${tfc_stone}_wall`,
@@ -277,7 +276,7 @@ global.BRICK_INDEX = (global.TFC_STONE_TYPES ?? []).map(tfc_stone => ({
smooth_brick: `tfc:rock/smooth/${tfc_stone}`, smooth_stairs: `tfc:rock/smooth/${tfc_stone}_stairs`, smooth_slab: `tfc:rock/smooth/${tfc_stone}_slab`, smooth_wall: `tfc:rock/smooth/${tfc_stone}_wall`,
chiseled_brick: `tfc:rock/chiseled/${tfc_stone}`
}));
-(global.CREATE_DECO_BRICK_TYPES ?? []).slice(0, -1).forEach(create_brick => {
+(global.CREATE_DECO_BRICK_TYPES ? global.CREATE_DECO_BRICK_TYPES : []).slice(0, -1).forEach(create_brick => {
global.BRICK_INDEX.push({
brick_type: create_brick,
brick: `createdeco:${create_brick}_bricks`, brick_stairs: `createdeco:${create_brick}_brick_stairs`, brick_slab: `createdeco:${create_brick}_brick_slab`, brick_wall: `createdeco:${create_brick}_brick_wall`,
@@ -347,7 +346,7 @@ global.BRICK_INDEX = global.BRICK_INDEX.concat([
function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTool, soundId, particleId, copyBlockstate) {
const { server, item, player, block } = event;
- if (!inputBlock || !outputBlock) {return};
+ if (!inputBlock || !outputBlock) return;
if (inputBlock.startsWith('#')) {
if (!block.hasTag(inputBlock.substring(1))) return;
@@ -356,15 +355,15 @@ function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTo
}
if (toolId.startsWith('#')) {
- if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) {return};
+ if (item.isEmpty() || !player.mainHandItem.hasTag(toolId.substring(1))) return;
} else {
- if (item.isEmpty() || player.mainHandItem.id !== toolId) {return};
+ if (item.isEmpty() || player.mainHandItem.id !== toolId) return;
}
- if (!player.crouching) {return};
+ if (!player.crouching) return;
let state = block.getBlockState().toString();
- if (state.includes('[') && copyBlockstate == true) {
+ if (state.includes('[') && copyBlockstate === true) {
state = state.substring(state.indexOf('['));
} else {
state = '';
@@ -409,7 +408,7 @@ function transformBlockWithTool(event, inputBlock, outputBlock, toolId, damageTo
function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeItem, consumeAmount, soundId, particleId, copyBlockstate) {
const { server, item, player, block } = event;
- if (!inputBlock || !outputBlock) {return};
+ if (!inputBlock || !outputBlock) return;
if (inputBlock.startsWith('#')) {
if (!block.hasTag(inputBlock.substring(1))) return;
@@ -418,14 +417,14 @@ function transformBlockWithItem(event, inputBlock, outputBlock, itemId, consumeI
}
if (itemId.startsWith('#')) {
- if (item.isEmpty() || !player.mainHandItem.hasTag(itemId.substring(1))) {return};
+ if (item.isEmpty() || !player.mainHandItem.hasTag(itemId.substring(1))) return;
} else {
- if (item.isEmpty() || player.mainHandItem.id != itemId) {return};
+ if (item.isEmpty() || player.mainHandItem.id !== itemId) return;
}
- if (!player.crouching) {return};
+ if (!player.crouching) return;
- var state = block.getBlockState().toString()
- if (state.includes('[') && copyBlockstate == true){
+ let state = block.getBlockState().toString()
+ if (state.includes('[') && copyBlockstate === true){
state = state.substring(block.getBlockState().toString().indexOf('['));
} else {
state = ''
diff --git a/kubejs/server_scripts/tfg/loot_tables.js b/kubejs/server_scripts/tfg/loot_tables.js
index 8b2b532a0..f377a8868 100644
--- a/kubejs/server_scripts/tfg/loot_tables.js
+++ b/kubejs/server_scripts/tfg/loot_tables.js
@@ -34,7 +34,7 @@ function registerTFGLoots(event) {
LootEntry.of('gtceu:rich_raw_rock_salt').when((c) => c.randomChance(0.1)),
LootEntry.of('gtceu:rich_raw_salt').when((c) => c.randomChance(0.1)),
- LootEntry.of('gtceu:rich_raw_saltpeter').when((c) => c.randomChance(0.1)),
+ LootEntry.of('gtceu:rich_raw_saltpeter').when((c) => c.randomChance(0.1))
);
})
//seeds
@@ -48,8 +48,7 @@ function registerTFGLoots(event) {
LootEntry.of('tfc:seeds/sugarcane').when((c) => c.randomChance(0.1)),
LootEntry.of('firmalife:plant/pineapple_bush').when((c) => c.randomChance(0.1)),
LootEntry.of('tfc:plant/peach_sapling').when((c) => c.randomChance(0.1)),
- LootEntry.of('tfc:plant/red_apple_sapling').when((c) => c.randomChance(0.1)),
- );
+ LootEntry.of('tfc:plant/red_apple_sapling').when((c) => c.randomChance(0.1)));
})
//loot
.pool((pool) => {
@@ -79,8 +78,7 @@ function registerTFGLoots(event) {
LootEntry.of('gtceu:bismuth_bronze_pickaxe_head').when((c) => c.randomChance(0.1)),
LootEntry.of('gtceu:bismuth_bronze_axe_head').when((c) => c.randomChance(0.1)),
LootEntry.of('gtceu:bismuth_bronze_shovel_head').when((c) => c.randomChance(0.1)),
- LootEntry.of('gtceu:bismuth_bronze_knife_head').when((c) => c.randomChance(0.1)),
- );
+ LootEntry.of('gtceu:bismuth_bronze_knife_head').when((c) => c.randomChance(0.1)));
})
});
@@ -120,9 +118,9 @@ function registerTFGLoots(event) {
STRONG_GLASSES.forEach(glass => {
event.addBlockLootModifier(glass[0])
.addLoot(glass[0])
- if(glass[1]){
- event.addBlockLootModifier(glass[0] + "_pane")
- .addLoot(glass[0] + "_pane")
+ if (glass[1]) {
+ event.addBlockLootModifier(`${glass[0] }_pane`)
+ .addLoot(`${glass[0] }_pane`)
}
});
@@ -131,25 +129,25 @@ function registerTFGLoots(event) {
event.addBlockLootModifier(glass)
.matchMainHand(Item.of('tfc:gem_saw'))
.addLoot(glass)
- event.addBlockLootModifier(glass + "_pane")
+ event.addBlockLootModifier(`${glass }_pane`)
.matchMainHand(Item.of('tfc:gem_saw'))
- .addLoot(glass + "_pane")
+ .addLoot(`${glass }_pane`)
})
global.TFC_WOOD_TYPES.forEach(wood => {
- const id = 'everycomp:c/tfc/' + wood + "_window_pane"
+ const id = `everycomp:c/tfc/${ wood }_window_pane`
event.addBlockLootModifier(id)
.addLoot(id)
})
global.AFC_WOOD_TYPES.forEach(wood => {
- const id = 'everycomp:c/afc/' + wood + "_window_pane"
+ const id = `everycomp:c/afc/${ wood }_window_pane`
event.addBlockLootModifier(id)
.addLoot(id)
})
global.AD_ASTRA_WOOD.forEach(wood => {
- const id = 'everycomp:c/ad_astra/' + wood.name + "_window_pane"
+ const id = `everycomp:c/ad_astra/${ wood.name }_window_pane`
event.addBlockLootModifier(id)
.addLoot(id)
})
diff --git a/kubejs/server_scripts/tfg/recipes.collapse.js b/kubejs/server_scripts/tfg/recipes.collapse.js
index 48501107c..570a5055c 100644
--- a/kubejs/server_scripts/tfg/recipes.collapse.js
+++ b/kubejs/server_scripts/tfg/recipes.collapse.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGCollapseRecipes(event) {
// #region Nether
diff --git a/kubejs/server_scripts/tfg/recipes.converting.js b/kubejs/server_scripts/tfg/recipes.converting.js
index 505880a2a..f29da9fe2 100644
--- a/kubejs/server_scripts/tfg/recipes.converting.js
+++ b/kubejs/server_scripts/tfg/recipes.converting.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGConvertingRecipes(event) {
event.shapeless("afc:tree_tap", "treetap:tap")
diff --git a/kubejs/server_scripts/tfg/recipes.fishing_nets.js b/kubejs/server_scripts/tfg/recipes.fishing_nets.js
index d074b6268..32968ed7d 100644
--- a/kubejs/server_scripts/tfg/recipes.fishing_nets.js
+++ b/kubejs/server_scripts/tfg/recipes.fishing_nets.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGFishingNetsRecipes(event) {
//wood
diff --git a/kubejs/server_scripts/tfg/recipes.food.js b/kubejs/server_scripts/tfg/recipes.food.js
index 8fcb8b342..34bac7321 100644
--- a/kubejs/server_scripts/tfg/recipes.food.js
+++ b/kubejs/server_scripts/tfg/recipes.food.js
@@ -56,7 +56,7 @@ function registerTFGFoodRecipes(event) {
}
})
- $ISPRecipeLogic.RegisterRecipeData(type + "/" + id, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i)))
+ $ISPRecipeLogic.RegisterRecipeData(`${type }/${ id}`, inputs, (data.itemOutputProvider === undefined) ? null : data.itemOutputProvider.asCanonClass(), data.itemOutputs.slice(outputFirstIndex).map(i => Item.of(i)))
let r = event.recipes.gtceu[type](id)
.duration(duration)
@@ -67,7 +67,7 @@ function registerTFGFoodRecipes(event) {
if (data.itemInputs.length > 0) r.itemInputs(data.itemInputs)
if (data.fluidInputs.length > 0) r.inputFluids(data.fluidInputs);
if (data.fluidOutputs.length > 0) r.outputFluids(data.fluidOutputs);
- if (text != "") r.addDataString("action", text);
+ if (text !== "") r.addDataString("action", text);
return r;
}
@@ -101,7 +101,6 @@ function registerTFGFoodRecipes(event) {
itemInputs: [input],
itemOutputs: [out],
fluidInputs: (fluid === undefined) ? [] : [fluid],
- itemInputs: [input],
itemOutputProvider: (isFirmaDynamic) ? TFC.isp.of(out).firmaLifeCopyDynamicFood() : TFC.isp.of(out).copyFood().addTrait("firmalife:oven_baked")
})
}
@@ -135,19 +134,23 @@ function registerTFGFoodRecipes(event) {
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_flour`).copyOldestFood()
})
- event.recipes.tfc.advanced_shapeless_crafting(
+ event.recipes.tfc.advanced_shaped_crafting(
TFC.isp.of(`tfc:food/${grain}_flour`).copyFood(), [
- TFC.ingredient.notRotten(`tfc:food/${grain}_grain`),
- '#forge:tools/mortars'
- ]).id(`tfg:mortar/${grain}_flour`)
+ 'A',
+ 'B'
+ ], {
+ A: TFC.ingredient.notRotten(`tfc:food/${grain}_grain`),
+ B: '#forge:tools/mortars'
+ }, 0, 0).id(`tfg:mortar/${grain}_flour`)
// Flatbread dough
processorRecipe(`${grain}_flatbread_dough`, 300, 8, {
itemInputs: [`tfc:food/${grain}_flour`],
itemOutputs: [`2x tfc:food/${grain}_dough`],
circuit: 1,
+ fluidInputs: ['#tfg:clean_water 100'],
itemOutputProvider: TFC.isp.of(`2x tfc:food/${grain}_dough`).copyFood()
- }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ })
// Firmalife dough
processorRecipe(`${grain}_dough`, 300, 16, {
@@ -277,41 +280,46 @@ function registerTFGFoodRecipes(event) {
processorRecipe(`white_chocolate_blend`, 300, 16, {
circuit: 3,
itemInputs: ['2x firmalife:food/cocoa_butter', '#tfc:sweetener'],
+ fluidInputs: ['#tfc:milks 1000'],
itemOutputs: ['2x firmalife:food/white_chocolate_blend'],
itemOutputProvider: TFC.isp.of('2x firmalife:food/white_chocolate_blend').resetFood(),
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ })
processorRecipe(`dark_chocolate_blend`, 300, 16, {
circuit: 2,
itemInputs: ['2x firmalife:food/cocoa_powder', '#tfc:sweetener'],
+ fluidInputs: ['#tfc:milks 1000'],
itemOutputs: ['2x firmalife:food/dark_chocolate_blend'],
itemOutputProvider: TFC.isp.of('2x firmalife:food/dark_chocolate_blend').resetFood(),
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ })
processorRecipe(`milk_chocolate_blend`, 300, 16, {
circuit: 1,
itemInputs: ['firmalife:food/cocoa_powder', 'firmalife:food/cocoa_butter', '#tfc:sweetener'],
+ fluidInputs: ['#tfc:milks 1000'],
itemOutputs: ['2x firmalife:food/milk_chocolate_blend'],
itemOutputProvider: TFC.isp.of('2x firmalife:food/milk_chocolate_blend').resetFood(),
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ })
// TODO: this has nutrition dynamically set in the pot recipe, can we do that here?
processorRecipe(`egg_noodles`, 50, 8, {
circuit: 6,
itemInputs: ["#tfc:foods/flour", 'tfc:powder/salt', '#forge:eggs'],
+ fluidInputs: ['#tfc:milks 1000'],
itemOutputs: ['firmalife:food/raw_egg_noodles'],
itemOutputProvider: TFC.isp.of("firmalife:food/raw_egg_noodles").copyOldestFood(),
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ })
processorRecipe(`rice_noodles`, 50, 8, {
itemInputs: ["tfc:food/rice_flour", 'tfc:food/maize_flour', 'tfc:powder/salt'],
+ fluidInputs: ['#tfc:milks 1000'],
itemOutputs: ['2x firmalife:food/raw_rice_noodles'],
itemOutputProvider: TFC.isp.of('2x firmalife:food/raw_rice_noodles').copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ })
// No ISP needed here
event.recipes.gtceu.fermenter(`tfg:fermenter/cream`)
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ .inputFluids("#tfc:milks 1000")
.outputFluids(Fluid.of('firmalife:cream'))
.circuit(6)
.duration(1200)
@@ -451,30 +459,47 @@ function registerTFGFoodRecipes(event) {
processorRecipe(`${name}_jam`, 200, 8, {
circuit: 15,
itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "4x #tfc:empty_jar_with_lid"],
+ fluidInputs: ['#tfg:clean_water 100'],
itemOutputs: [`4x tfc:jar/${name}`],
itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}`).copyFood()
- }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ })
processorRecipe(`${name}_jam_no_seal`, 200, 8, {
circuit: 16,
itemInputs: [`4x tfc:food/${name}`, "#tfg:sugars", "4x tfc:empty_jar"],
+ fluidInputs: ['#tfg:clean_water 100'],
itemOutputs: [`4x tfc:jar/${name}_unsealed`],
itemOutputProvider: TFC.isp.of(`4x tfc:jar/${name}_unsealed`).copyFood()
- }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ })
})
- cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta")
- .inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ global.FIRMALIFE_JAMS.forEach(name => {
+ processorRecipe(`${name}_jam`, 200, 8, {
+ circuit: 15,
+ itemInputs: [`4x firmalife:food/${name}`, "#tfg:sugars", "4x #tfc:empty_jar_with_lid"],
+ fluidInputs: ['#tfg:clean_water 100'],
+ itemOutputs: [`4x firmalife:jar/${name}`],
+ itemOutputProvider: TFC.isp.of(`4x firmalife:jar/${name}`).copyFood()
+ })
+
+ processorRecipe(`${name}_jam_no_seal`, 200, 8, {
+ circuit: 16,
+ itemInputs: [`4x firmalife:food/${name}`, "#tfg:sugars", "4x tfc:empty_jar"],
+ fluidInputs: ['#tfg:clean_water 100'],
+ itemOutputs: [`4x firmalife:jar/${name}_unsealed`],
+ itemOutputProvider: TFC.isp.of(`4x firmalife:jar/${name}_unsealed`).copyFood()
+ })
+ })
+
+ cookingRecipe("pasta", "firmalife:food/raw_egg_noodles", "firmalife:food/cooked_pasta", "#tfg:clean_water 100")
cookingRecipe("corn_tortilla", "firmalife:food/masa", "firmalife:food/corn_tortilla")
cookingRecipe("baked_potato", "tfc:food/potato", "tfc:food/baked_potato")
- cookingRecipe("boiled_egg", "#firmalife:foods/raw_eggs", "tfc:food/boiled_egg")
- .inputFluids(JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}))
+ cookingRecipe("boiled_egg", "#firmalife:foods/raw_eggs", "tfc:food/boiled_egg", "#tfg:clean_water 200")
- cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice")
- .inputFluids(JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}))
+ cookingRecipe("cooked_rice", "tfc:food/rice_grain", "tfc:food/cooked_rice", "#tfg:clean_water 200")
processorRecipe("pasta_tomato_sauce", 60, 8, {
itemInputs: ["firmalife:food/cooked_pasta", "firmalife:food/tomato_sauce"],
@@ -489,18 +514,31 @@ function registerTFGFoodRecipes(event) {
itemOutputProvider: TFC.isp.of(`4x firmalife:food/masa_flour`).copyOldestFood()
})
- event.recipes.tfc.advanced_shapeless_crafting(
- TFC.isp.of(`4x firmalife:food/masa_flour`).copyFood(), [
- TFC.ingredient.notRotten(`firmalife:food/nixtamal`),
- '#forge:tools/mortars'
- ]).id(`tfg:mortar/masa_flour`)
+ event.recipes.tfc.advanced_shaped_crafting(
+ TFC.isp.of(`4x firmalife:food/masa_flour`).copyFood(), ['A', 'B'], {
+ A: TFC.ingredient.notRotten(`firmalife:food/nixtamal`),
+ B: '#forge:tools/mortars'
+ }, 0, 0).id(`tfg:mortar/masa_flour`)
+
+ event.recipes.tfc.advanced_shaped_crafting(
+ TFC.isp.of(`4x firmalife:food/soybean_paste`).copyFood(), ['A', 'B'], {
+ A: TFC.ingredient.notRotten(`firmalife:food/dehydrated_soybeans`),
+ B: '#forge:tools/mortars'
+ }, 0, 0).id(`tfg:mortar/soybean_paste`)
+
+ event.recipes.tfc.advanced_shaped_crafting(
+ TFC.isp.of(`2x tfc:olive_paste`).copyFood(), ['A', 'B'], {
+ A: TFC.ingredient.notRotten(`tfc:food/olive`),
+ B: '#forge:tools/mortars'
+ }, 0, 0).id(`tfg:mortar/olive_paste`)
processorRecipe('firmalife_masa', 300, 2, {
circuit: 3,
itemInputs: ["firmalife:food/masa_flour"],
+ fluidInputs: ['#tfg:clean_water 100'],
itemOutputs: ["2x firmalife:food/masa"],
itemOutputProvider: TFC.isp.of("2x firmalife:food/masa").copyFood()
- }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ })
processorRecipe("tortilla_chips", 40, 16, {
itemInputs: ["firmalife:food/taco_shell", "tfc:powder/salt"],
@@ -516,14 +554,16 @@ function registerTFGFoodRecipes(event) {
processorRecipe("tomato_sauce_from_mix", 200, 8, {
itemInputs: ['firmalife:food/tomato_sauce_mix'],
+ fluidInputs: ['#tfg:clean_water 200'],
itemOutputs: ['firmalife:food/tomato_sauce'],
itemOutputProvider: TFC.isp.of('firmalife:food/tomato_sauce').copyOldestFood(),
- }).inputFluids(JsonIO.of({ amount: 200, value: { tag: "tfg:clean_water" }}))
+ })
processorRecipe("olive_paste", 60, 8, {
itemInputs: ['tfc:food/olive'],
itemOutputs: ['2x tfc:olive_paste'],
itemOutputProvider: TFC.isp.of('2x tfc:olive_paste'),
+ circuit: 3
})
processorRecipe("soybean_paste", 60, 8, {
@@ -553,14 +593,9 @@ function registerTFGFoodRecipes(event) {
processorRecipe('vinegar_alcohol', 600, 32, {
circuit: 5,
itemInputs: ['#tfc:foods/fruits'],
+ fluidInputs: ['#tfc:alcohols 250'],
fluidOutputs: [Fluid.of('tfc:vinegar', 250)],
})
- .inputFluids(JsonIO.of({
- amount: 250,
- value: {
- tag: "tfc:alcohols"
- }
- }))
processorRecipe("pizza_no_extra", 600, 16, {
itemInputs: ["firmalife:food/pizza_dough", "firmalife:food/tomato_sauce", "firmalife:food/shredded_cheese"],
@@ -593,9 +628,10 @@ function registerTFGFoodRecipes(event) {
processorRecipe("pizza_dough", 300, 16, {
itemInputs: ['firmalife:spice/basil_leaves', '#tfc:foods/dough', 'tfc:powder/salt'],
+ fluidInputs: ['#firmalife:oils 100'],
itemOutputs: ['4x firmalife:food/pizza_dough'],
itemOutputProvider: TFC.isp.of("4x firmalife:food/pizza_dough").copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "firmalife:oils" }}))
+ })
processorRecipe("vanilla_ice_cream", 300, 16, {
itemInputs: ['firmalife:ice_shavings', '#tfc:sweetener', 'firmalife:spice/vanilla'],
@@ -633,16 +669,18 @@ function registerTFGFoodRecipes(event) {
processorRecipe("pie_dough", 300, 16, {
circuit: 2,
itemInputs: ['#tfc:sweetener', 'firmalife:food/butter', '#tfc:foods/flour'],
+ fluidInputs: ['#tfg:clean_water 1000'],
itemOutputs: ['firmalife:food/pie_dough'],
itemOutputProvider: TFC.isp.of('firmalife:food/pie_dough').copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
+ })
processorRecipe("pumpkin_pie_dough", 300, 16, {
circuit: 2,
itemInputs: ['#tfc:sweetener', '#forge:eggs', '2x tfc:food/pumpkin_chunks', '#tfc:foods/flour'],
+ fluidInputs: ['#tfg:clean_water 1000'],
itemOutputs: ['firmalife:food/pumpkin_pie_dough'],
itemOutputProvider: TFC.isp.of('firmalife:food/pumpkin_pie_dough').copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
+ })
processorRecipe("raw_pumpkin_pie", 20, 8, {
itemInputs: ["firmalife:food/pumpkin_pie_dough", "firmalife:pie_pan"],
@@ -664,9 +702,10 @@ function registerTFGFoodRecipes(event) {
processorRecipe("hardtack_dough", 300, 16, {
itemInputs: ['tfc:powder/salt', '#tfc:foods/flour'],
+ fluidInputs: ['#tfg:clean_water 1000'],
itemOutputs: ['4x firmalife:food/hardtack_dough'],
itemOutputProvider: TFC.isp.of('4x firmalife:food/hardtack_dough').copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfg:clean_water" }}))
+ })
processorRecipe("yeast_starter", 1200, 8, {
circuit: 2,
@@ -677,9 +716,10 @@ function registerTFGFoodRecipes(event) {
processorRecipe("yeast_starter_from_water", 7200, 8, {
circuit: 10,
- fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)],
itemInputs: ['#tfc:foods/fruits'],
- }).inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ fluidInputs: ['#tfg:clean_water 100'],
+ fluidOutputs: [Fluid.of('firmalife:yeast_starter', 600)],
+ })
processorRecipe("cocoa_dust", 100, 4, {
itemInputs: ["firmalife:food/roasted_cocoa_beans"],
@@ -708,18 +748,31 @@ function registerTFGFoodRecipes(event) {
processorRecipe("soy_mixture", 300, 8, {
itemInputs: ["tfc:food/soybean", 'tfc:powder/salt'],
+ fluidInputs: ['#tfg:clean_water 50'],
itemOutputs: ["firmalife:food/soy_mixture"],
itemOutputProvider: TFC.isp.of('firmalife:food/soy_mixture').copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 50, value: { tag: "tfg:clean_water" }}))
+ })
+
+ // Alcohols
+
+ global.TFC_ALCOHOL.forEach(alcohol => {
+ processorRecipe(alcohol.id.replace(/:/g, "_"), 2400, 1, {
+ itemInputs: [alcohol.ingredient],
+ fluidInputs: ['#tfg:clean_water 500', 'firmalife:yeast_starter 10'],
+ fluidOutputs: [Fluid.of(alcohol.id, 500)],
+ circuit: 11
+ }).notConsumable('#tfc:barrels')
+ })
// Cakes
processorRecipe("cake_base", 300, 8, {
circuit: 4,
itemInputs: ["#forge:eggs", "2x #tfg:sugars", "2x #tfc:foods/flour"],
+ fluidInputs: ['#tfc:milks 1000'],
itemOutputs: ["createaddition:cake_base"],
itemOutputProvider: TFC.isp.of("createaddition:cake_base").copyOldestFood()
- }).inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:milks" }}))
+ })
cookingRecipe("baked_cake_base", "createaddition:cake_base", "createaddition:cake_base_baked")
@@ -776,7 +829,7 @@ function registerTFGFoodRecipes(event) {
event.recipes.gtceu.fermenter('soybean_oil')
.itemInputs('firmalife:food/soybean_paste')
- .inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 100")
.outputFluids(Fluid.of('firmalife:soybean_oil', 250))
.EUt(GTValues.VA[GTValues.ULV])
.duration(600)
@@ -820,6 +873,9 @@ function registerTFGFoodRecipes(event) {
.itemOutput('tfg:food/ice_soup')
.id('tfg:pot/ice_soup')
+ event.shaped('4x tfc:powder/salt', ['A', 'B'], {A: '#forge:dusts/salt', B: '#forge:tools/mortars'})
+ .id(`tfg:mortar/salt`)
+
//#endregion
//#region Heating recipes for new foods
@@ -891,6 +947,17 @@ function registerTFGFoodRecipes(event) {
.circuit(7)
.EUt(GTValues.VA[GTValues.LV])
+ event.shaped('tfg:electric_greenhouse', [
+ 'ABA',
+ 'CDC',
+ 'BCB'
+ ], {
+ A: '#gtceu:circuits/mv',
+ B: '#forge:single_cables/copper',
+ C: 'tfc:compost',
+ D: 'gtceu:steel_machine_casing'
+ }).id('tfg:shaped/electric_greenhouse')
+
// Tweaks to the machine crafts that are more annoying to do in java
event.replaceInput({id: 'gtceu:shaped/lv_food_processor'}, 'gtceu:lv_electric_piston', 'gtceu:steel_whisk')
event.replaceInput({id: 'gtceu:shaped/mv_food_processor'}, 'gtceu:mv_electric_piston', 'gtceu:aluminium_whisk')
diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js
index 4cf6389e9..855d8b072 100644
--- a/kubejs/server_scripts/tfg/recipes.js
+++ b/kubejs/server_scripts/tfg/recipes.js
@@ -20,5 +20,6 @@ const registerTFGRecipes = (event) => {
registerTFGSpaceRecipes(event)
registerTFGStoneDustRecipes(event)
registerTFGRecyclingRecipes(event)
+ registerTFGNuclearRecipes(event)
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tfg/recipes.medicine.js b/kubejs/server_scripts/tfg/recipes.medicine.js
index e82b12aa7..72bb7e4fc 100644
--- a/kubejs/server_scripts/tfg/recipes.medicine.js
+++ b/kubejs/server_scripts/tfg/recipes.medicine.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGMedicineRecipes(event) {
//#region Antipoison
diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js
index 0f642d4e6..58938b23d 100644
--- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js
+++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js
@@ -253,7 +253,7 @@ function registerTFGMiscellaneousRecipes(event) {
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.fluid_solidifier('tfg:ice')
- .inputFluids(JsonIO.of({ amount: 144, value: { tag: "tfg:clean_water" } }))
+ .inputFluids("#tfg:clean_water 144")
.notConsumable('gtceu:block_casting_mold')
.itemOutputs('minecraft:ice')
.duration(200)
@@ -263,7 +263,7 @@ function registerTFGMiscellaneousRecipes(event) {
event.recipes.gtceu.mixer('tfg:ice_slush_from_dry_ice')
.itemInputs('1x tfg:dry_ice')
- .inputFluids( JsonIO.of({ amount: 8000, value: { tag: "tfc:water" }}))
+ .inputFluids("#tfc:water 8000")
.outputFluids(Fluid.of('gtceu:ice', 8000))
.duration(80)
.EUt(GTValues.VA[GTValues.ULV])
@@ -451,23 +451,34 @@ function registerTFGMiscellaneousRecipes(event) {
.duration(100)
.EUt(GTValues.VA[GTValues.MV])
- event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/dry_ice')
+ event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/liq_co2')
.inputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
+ .outputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
+ .duration(160)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.vacuum_freezer('tfg:vacuum_freezer/dry_ice')
+ .inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 1000))
.notConsumable('gtceu:block_casting_mold')
.itemOutputs('10x tfg:dry_ice')
- .duration(100)
- .EUt(GTValues.VA[GTValues.MV])
-
- event.recipes.gtceu.chemical_reactor('tfg:chemical_reactor/decompress_dry_ice')
- .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100))
+ .duration(60)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_liq_co2')
.itemInputs('1x tfg:dry_ice')
+ .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100))
+ .duration(20)
+ .EUt(GTValues.VA[GTValues.ULV])
+
+ event.recipes.gtceu.fluid_heater('tfg:fluid_heater/decompress_dry_ice')
+ .inputFluids(Fluid.of('gtceu:liquid_carbon_dioxide', 100))
+ .outputFluids(Fluid.of('gtceu:carbon_dioxide', 100))
.duration(20)
- .circuit(4)
.EUt(GTValues.VA[GTValues.ULV])
event.recipes.gtceu.mixer('tfg:clean_foil_pack')
.itemInputs('1x tfg:used_foil_pack')
- .inputFluids(JsonIO.of({ amount: 100, value: { tag: "tfg:clean_water" } }))
+ .inputFluids("#tfg:clean_water 100")
.itemOutputs('1x tfg:clean_foil_pack')
.duration(200)
.circuit(1)
@@ -548,28 +559,28 @@ function registerTFGMiscellaneousRecipes(event) {
// Biofuels
event.recipes.gtceu.chemical_reactor(`seed_oil_alcohol_biodiesel`)
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
+ .inputFluids("#tfc:alcohols 1000")
.inputFluids(Fluid.of('gtceu:seed_oil', 6000))
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
.duration(20 * 10)
.EUt(GTValues.VHA[GTValues.ULV])
event.recipes.gtceu.chemical_reactor(`olive_oil_alcohol_biodiesel`)
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
+ .inputFluids("#tfc:alcohols 1000")
.inputFluids(Fluid.of('tfc:olive_oil', 4000))
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
.duration(20 * 10)
.EUt(GTValues.VHA[GTValues.ULV])
event.recipes.gtceu.chemical_reactor(`soybean_oil_alcohol_biodiesel`)
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
+ .inputFluids("#tfc:alcohols 1000")
.inputFluids(Fluid.of('firmalife:soybean_oil', 4000))
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
.duration(20 * 10)
.EUt(GTValues.VHA[GTValues.ULV])
event.recipes.gtceu.chemical_reactor(`fish_oil_alcohol_biodiesel`)
- .inputFluids(JsonIO.of({ amount: 1000, value: { tag: "tfc:alcohols" } }))
+ .inputFluids("#tfc:alcohols 1000")
.inputFluids(Fluid.of('gtceu:fish_oil', 6000))
.outputFluids(Fluid.of('gtceu:bio_diesel', 6000))
.duration(20 * 10)
@@ -774,6 +785,42 @@ function registerTFGMiscellaneousRecipes(event) {
.itemOutputs('gtceu:ev_sensor')
.duration(100)
.EUt(30)
+
+ //quantum eye IV replacements
+ event.shaped('gtceu:iv_emitter', [
+ 'ABC',
+ 'BDB',
+ 'CBA'
+ ], {
+ A: '#forge:single_cables/tungsten',
+ B: '#forge:rods/iridium',
+ C: '#gtceu:circuits/iv',
+ D: 'gtceu:quantum_eye'
+ }).id('gtceu:shaped/emitter_iv')
+
+ event.recipes.gtceu.assembler('emitter_iv')
+ .itemInputs('gtceu:quantum_eye', '4x #forge:rods/iridium', '2x #gtceu:circuits/iv', '2x #forge:single_cables/tungsten')
+ .itemOutputs('gtceu:iv_emitter')
+ .circuit(1)
+ .duration(100)
+ .EUt(30)
+
+ event.shaped('gtceu:iv_sensor', [
+ 'A B',
+ 'AC ',
+ 'DAA'
+ ], {
+ A: '#forge:plates/tungsten_steel',
+ B: 'gtceu:quantum_eye',
+ C: '#forge:rods/iridium',
+ D: '#gtceu:circuits/iv',
+ }).id('gtceu:shaped/sensor_iv')
+
+ event.recipes.gtceu.assembler('sensor_iv')
+ .itemInputs('gtceu:quantum_eye', '#forge:rods/iridium', '#gtceu:circuits/iv', '4x #forge:plates/tungsten_steel')
+ .itemOutputs('gtceu:ev_sensor')
+ .duration(100)
+ .EUt(30)
// Temporary
event.recipes.gtceu.chemical_bath('quantum_eye')
@@ -923,6 +970,27 @@ function registerTFGMiscellaneousRecipes(event) {
'tfg:aes_insulation_roll'
]).id('tfg:shapeless/aes_insulation_sheet')
+ event.recipes.gtceu.electric_blast_furnace('smelt_aes_sheet')
+ .itemInputs('tfg:aes_insulation_sheet')
+ .inputFluids(Fluid.of('gtceu:helium', 200))
+ .outputFluids(Fluid.of('tfg:molten_aes', 800))
+ .chancedOutput('gtceu:ash_dust', 2500, 0)
+ .circuit(1)
+ .duration(140)
+ .blastFurnaceTemp(3000)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.electric_blast_furnace('smelt_aes_roll')
+ .itemInputs('tfg:aes_insulation_roll')
+ .inputFluids(Fluid.of('gtceu:helium', 1000))
+ .itemOutputs('2x gtceu:ash_dust')
+ .outputFluids(Fluid.of('tfg:molten_aes', 7200))
+ .circuit(9)
+ .duration(1000)
+ .blastFurnaceTemp(3000)
+ .EUt(GTValues.VA[GTValues.EV])
+ //endregion
+
+ //#region Casings
global.GTCEU_SUPERCONDUCTORS.forEach((type, index) => {
const multiplier = index + 1
@@ -931,9 +999,9 @@ function registerTFGMiscellaneousRecipes(event) {
ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4),
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1),
- ChemicalHelper.get(TagPrefix.wireFine, GTMaterials[type.materialId], 4),
+ ChemicalHelper.get(TagPrefix.wireFine, GTMaterials[type.materialId], 4)
)
- .inputFluids(Fluid.of('gtceu:silicone_rubber', 144))
+ .inputFluids(Fluid.of('gtceu:epoxy', 144))
.itemOutputs(Item.of('tfg:superconductor_coil_small', 4 * multiplier))
.circuit(4)
.duration(400)
@@ -944,9 +1012,8 @@ function registerTFGMiscellaneousRecipes(event) {
ChemicalHelper.get(TagPrefix.plate, GTMaterials.HSLASteel, 4),
ChemicalHelper.get(TagPrefix.rod, GTMaterials.Steel, 2),
ChemicalHelper.get(TagPrefix.rod, GTMaterials.SteelMagnetic, 1),
- ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4),
- )
- .inputFluids(Fluid.of('gtceu:silicone_rubber', 144))
+ ChemicalHelper.get(TagPrefix.wireGtSingle, GTMaterials[type.materialId], 4))
+ .inputFluids(Fluid.of('gtceu:epoxy', 144))
.itemOutputs(Item.of('tfg:superconductor_coil_large', 4 * multiplier))
.circuit(7)
.duration(600)
@@ -965,4 +1032,255 @@ function registerTFGMiscellaneousRecipes(event) {
.circuit(4)
.duration(800)
.EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.assembler('tfg:assembler/machine_casing_aluminium_plated_steel')
+ .itemInputs(
+ ChemicalHelper.get(TagPrefix.plate, GTMaterials.Aluminium, 6),
+ ChemicalHelper.get(TagPrefix.frameGt, GTMaterials.Steel, 1),
+ )
+ .inputFluids(Fluid.of('gtceu:silicon', 72))
+ .itemOutputs('2x tfg:machine_casing_aluminium_plated_steel')
+ .circuit(6)
+ .duration(20 * (2.5))
+ .EUt(GTValues.VH[GTValues.LV])
+ //#endregion
+
+ //region ammonia borane
+ event.recipes.gtceu.chemical_reactor('tfg:sodium_hydride_synthesis')
+ .itemInputs('#forge:dusts/sodium')
+ .inputFluids(Fluid.of('gtceu:hydrogen', 1000))
+ .itemOutputs('2x #forge:dusts/sodium_hydride')
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.HV])
+ event.recipes.gtceu.chemical_reactor('tfg:boric_acid_synthesis')
+ .itemInputs('#forge:dusts/borax')
+ .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 2000))
+ .itemOutputs('4x #forge:dusts/boric_acid', '2x #forge:dusts/salt')
+ .outputFluids(Fluid.of('minecraft:water', 5000))
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.HV])
+ event.recipes.gtceu.chemical_reactor('tfg:trimethyl_borate_synthesis')
+ .itemInputs('#forge:dusts/boric_acid')
+ .inputFluids(Fluid.of('gtceu:methanol', 3000), Fluid.of('gtceu:sulfuric_acid', 100))
+ .outputFluids(Fluid.of('tfg:trimethyl_borate', 1000), Fluid.of('minecraft:water', 3000))
+ .duration(300)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.chemical_reactor('tfg:sodium_borohydride_synthesis')
+ .itemInputs('4x #forge:dusts/sodium_hydride')
+ .inputFluids(Fluid.of('tfg:trimethyl_borate', 1000))
+ .itemOutputs('#forge:dusts/sodium_borohydride', '3x #forge:dusts/sodium_methoxide')
+ .duration(160)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.chemical_reactor('tfg:ammonia_borane_synthesis')
+ .itemInputs('#forge:dusts/sodium_borohydride', '#forge:dusts/ammonium_chloride')
+ .itemOutputs('#forge:dusts/ammonia_borane', '#forge:dusts/salt')
+ .outputFluids(Fluid.of('gtceu:hydrogen', 2000))
+ .duration(100)
+ .EUt(GTValues.VA[GTValues.IV])
+ //endregion
+
+ //region polyurethane
+ event.recipes.gtceu.chemical_reactor('tfg:aniline_synthesis')
+ .inputFluids(Fluid.of('gtceu:nitrobenzene', 1000), Fluid.of('gtceu:hydrogen', 6000))
+ .notConsumable('#forge:dusts/iron')
+ .outputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('minecraft:water', 2000))
+ .duration(140)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.chemical_reactor('tfg:dimethyl_carbonate_synthesis')
+ .inputFluids(Fluid.of('gtceu:carbon_monoxide', 1000), Fluid.of('gtceu:oxygen', 500), Fluid.of('gtceu:methanol', 2000))
+ .outputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000), Fluid.of('minecraft:water', 1000))
+ .duration(120)
+ .EUt(GTValues.VA[GTValues.HV])
+ event.recipes.gtceu.chemical_reactor('tfg:methyl_phenylcarbamate_synthesis')
+ .inputFluids(Fluid.of('tfg:aniline', 1000), Fluid.of('tfg:dimethyl_carbonate', 1000))
+ .outputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 1000), Fluid.of('gtceu:methanol', 1000))
+ .duration(200)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.chemical_reactor('tfg:mpc_synthesis')
+ .inputFluids(Fluid.of('tfg:methyl_phenylcarbamate', 2000), Fluid.of('gtceu:formaldehyde', 1000))
+ .outputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000), Fluid.of('minecraft:water', 1000))
+ .duration(200)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.chemical_reactor('tfg:mpi_synthesis')
+ .inputFluids(Fluid.of('tfg:methylene_diphenyl_dicarbamate', 1000))
+ .itemOutputs('#forge:dusts/methylene_diphenyl_diisocyanate')
+ .outputFluids(Fluid.of('gtceu:methanol', 2000))
+ .duration(80)
+ .EUt(GTValues.VA[GTValues.IV])
+ event.recipes.gtceu.mixer('tfg:aes_polyurethane_electric_only')
+ .itemInputs('tfg:aes_compressed_wool', '#forge:dusts/methylene_diphenyl_diisocyanate')
+ .inputFluids(Fluid.of('gtceu:diethylenetriamine', 250), Fluid.of('gtceu:acetone', 1000))
+ .itemOutputs('tfg:aes_polyurethane')
+ .duration(80)
+ .EUt(GTValues.VA[GTValues.IV])
+ //endregion
+
+ //Aerogel
+ event.recipes.gtceu.chemical_reactor('tfg:tmos_synthesis')
+ .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 2000))
+ .itemInputs('#forge:dusts/silicon_dioxide')
+ .notConsumable('#forge:small_dusts/potassium_hydroxide')
+ .outputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:carbon_dioxide', 2000))
+ .duration(100)
+ .EUt(GTValues.VA[GTValues.IV])
+ event.recipes.gtceu.chemical_reactor('tfg:tmos_hydrolysis')
+ .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:distilled_water', 2000))
+ .outputFluids(Fluid.of('gtceu:methanol', 4000))
+ .itemOutputs('#forge:dusts/silicon_dioxide')
+ .duration(100)
+ .EUt(GTValues.VA[GTValues.MV])
+ event.recipes.gtceu.large_chemical_reactor('tfg:silica_gel_synthesis')
+ .inputFluids(Fluid.of('tfg:tmos', 1000), Fluid.of('gtceu:ethanol', 2000), Fluid.of('gtceu:distilled_water', 500),
+ Fluid.of('gtceu:hydrochloric_acid', 100))
+ .outputFluids(Fluid.of('tfg:silica_gel', 1000))
+ .duration(300)
+ .EUt(GTValues.VA[GTValues.IV])
+ event.recipes.gtceu.chemical_reactor('tfg:silica_gel_soaking')
+ .inputFluids(Fluid.of('tfg:silica_gel', 1000), Fluid.of('gtceu:acetone', 2000))
+ .outputFluids(Fluid.of('tfg:soaked_silica_gel', 1000))
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.EV])
+ event.recipes.gtceu.large_chemical_reactor('tfg:silica_aerogel')
+ .inputFluids(Fluid.of('tfg:soaked_silica_gel', 1000), Fluid.of('gtceu:liquid_carbon_dioxide', 3000))
+ .outputFluids(Fluid.of('gtceu:carbon_dioxide', 3000), Fluid.of('gtceu:acetone', 1000))
+ .itemOutputs('tfg:silica_aerogel')
+ .duration(400)
+ .EUt(GTValues.VA[GTValues.IV])
+ //endregion
+
+ //Tier 3 insulation
+ event.recipes.gtceu.forming_press('tfg:mli_shielding')
+ .itemInputs('4x #forge:plates/ammonia_borane', '2x tfg:aes_polyurethane', '4x gtceu:carbon_fiber_plate')
+ .itemOutputs('tfg:mli_shielding')
+ .duration(100)
+ .EUt(GTValues.VA[GTValues.IV])
+ //endregion
+
+ //#region Universal compost
+
+ //Greens
+ // Lows via crafting with mortar
+ event.shaped(Item.of('tfg:universal_compost_greens', 1), [
+ 'AB'
+ ], {
+ A: Ingredient.of(['#tfc:compost_greens_low']).subtract(['tfg:universal_compost_greens']),
+ B: '#forge:tools/mortars'
+ }).id('tfg:shaped/universal_compost_greens_from_low')
+
+ // Mediums via crafting with mortar
+ event.shaped(Item.of('tfg:universal_compost_greens', 2), [
+ 'AB'
+ ], {
+ A: '#tfc:compost_greens',
+ B: '#forge:tools/mortars'
+ }).id('tfg:shaped/universal_compost_greens_from_medium')
+
+ // Highs via crafting with mortar
+ event.shaped(Item.of('tfg:universal_compost_greens', 4), [
+ 'AB'
+ ], {
+ A: '#tfc:compost_greens_high',
+ B: '#forge:tools/mortars'
+ }).id('tfg:shaped/universal_compost_greens_from_high')
+
+ // Filters
+ const greens_low = Ingredient.of('#tfc:compost_greens_low')
+ const browns_low = Ingredient.of('#tfc:compost_browns_low').itemIds
+ const greens_medium = Ingredient.of('#tfc:compost_greens')
+ const browns_medium = Ingredient.of('#tfc:compost_browns').itemIds
+ const greens_high = Ingredient.of('#tfc:compost_greens_high')
+ const browns_high = Ingredient.of('#tfc:compost_browns_high').itemIds
+
+ let low_filtered = greens_low
+ let medium_filtered = greens_medium
+ let high_filtered = greens_high
+
+ browns_low.forEach(item => {
+ low_filtered = low_filtered.subtract(item)
+ low_filtered = low_filtered.subtract('tfg:universal_compost_greens')
+ })
+ browns_medium.forEach(item => {
+ medium_filtered = medium_filtered.subtract(item)
+ })
+ browns_high.forEach(item => {
+ high_filtered = high_filtered.subtract(item)
+ })
+
+ // Lows via forge hammer
+ event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_low')
+ .itemInputs(low_filtered)
+ .itemOutputs('tfg:universal_compost_greens')
+ .duration(20)
+ .EUt(8)
+
+ // Mediums via forge hammer
+ event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_medium')
+ .itemInputs(medium_filtered)
+ .itemOutputs(Item.of('tfg:universal_compost_greens', 2))
+ .duration(20)
+ .EUt(8)
+
+ // Highs via forge hammer
+ event.recipes.gtceu.forge_hammer('tfg:universal_compost_greens_high')
+ .itemInputs(high_filtered)
+ .itemOutputs(Item.of('tfg:universal_compost_greens', 4))
+ .duration(20)
+ .EUt(8)
+
+ //Browns
+ // Lows via crafting with mortar
+ event.shaped(Item.of('tfg:universal_compost_browns', 1), [
+ 'BA'
+ ], {
+ A: Ingredient.of(['#tfc:compost_browns_low']).subtract(['tfg:universal_compost_browns']),
+ B: '#forge:tools/mortars'
+ }).id('tfg:shaped/universal_compost_browns_from_low')
+
+ // Mediums via crafting with mortar
+ event.shaped(Item.of('tfg:universal_compost_browns', 2), [
+ 'BA'
+ ], {
+ A: '#tfc:compost_browns',
+ B: '#forge:tools/mortars'
+ }).id('tfg:shaped/universal_compost_browns_from_medium')
+
+ // Highs via crafting with mortar
+ event.shaped(Item.of('tfg:universal_compost_browns', 4), [
+ 'BA'
+ ], {
+ A: '#tfc:compost_browns_high',
+ B: '#forge:tools/mortars'
+ }).id('tfg:shaped/universal_compost_browns_from_high')
+
+ // Lows via forge hammer
+ event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_low')
+ .itemInputs('#tfc:compost_browns_low')
+ .itemOutputs('tfg:universal_compost_browns')
+ .duration(20)
+ .EUt(8)
+
+ // Mediums via forge hammer
+ event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_medium')
+ .itemInputs('#tfc:compost_browns')
+ .itemOutputs(Item.of('tfg:universal_compost_browns', 2))
+ .duration(20)
+ .EUt(8)
+
+ // Highs via forge hammer
+ event.recipes.gtceu.forge_hammer('tfg:universal_compost_browns_high')
+ .itemInputs('#tfc:compost_browns_high')
+ .itemOutputs(Item.of('tfg:universal_compost_browns', 4))
+ .duration(20)
+ .EUt(8)
+
+ //#endregion
+
+ // Etching Tip
+ event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('tfg:etching_diamond_tip',[
+ '#forge:tools/hammers',
+ '#tfc:chisels',
+ 'minecraft:diamond'
+ ]));
+
+ event.replaceInput({ id: "minecraft:jukebox"}, 'minecraft:diamond', 'tfg:etching_diamond_tip');
}
diff --git a/kubejs/server_scripts/tfg/recipes.molds.js b/kubejs/server_scripts/tfg/recipes.molds.js
index e6513e943..0496f86d4 100644
--- a/kubejs/server_scripts/tfg/recipes.molds.js
+++ b/kubejs/server_scripts/tfg/recipes.molds.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGMoldRecipes(event) {
event.shaped('tfg:mining_hammer_head_extruder_mold', [
diff --git a/kubejs/server_scripts/tfg/recipes.nuclear.js b/kubejs/server_scripts/tfg/recipes.nuclear.js
new file mode 100644
index 000000000..9d4aa903d
--- /dev/null
+++ b/kubejs/server_scripts/tfg/recipes.nuclear.js
@@ -0,0 +1,401 @@
+// priority: 0
+
+function registerTFGNuclearRecipes(event) {
+
+ //#region Nuclear Pellet
+
+ event.recipes.gtceu.nuclear_fuel_factory('gtceu:thorium_pellet')
+ .itemInputs('1x #forge:nuggets/thorium_230', '1x #forge:ingots/thorium_232')
+ .itemOutputs('#forge:ingots/thorium_pellet')
+ .duration(20*10)
+ .EUt(GTValues.V[GTValues.HV])
+
+ event.recipes.gtceu.nuclear_fuel_factory('gtceu:uranium_pellet')
+ .inputFluids(Fluid.of('gtceu:uranium_waste', 1000))
+ .itemInputs('#forge:nuggets/uranium_235', '1x #forge:ingots/uranium')
+ .itemOutputs('#forge:ingots/uranium_pellet')
+ .duration(20*30)
+ .EUt(GTValues.V[GTValues.HV])
+
+ event.recipes.gtceu.nuclear_fuel_factory('gtceu:plutonium_pellet')
+ .itemInputs('1x #forge:ingots/plutonium')
+ .inputFluids(Fluid.of('gtceu:radon', 10))
+ .itemOutputs('#forge:ingots/plutonium_pellet')
+ .duration(20*30)
+ .EUt(GTValues.V[GTValues.EV])
+
+ event.recipes.gtceu.nuclear_fuel_factory('gtceu:tbu-232_pellet')
+ .inputFluids(Fluid.of('gtceu:nuclear_waste', 32000))
+ .itemInputs('#forge:ingots/thorium_232')
+ .itemOutputs('#forge:ingots/tbu-232_pellet')
+ .duration(20*30)
+ .EUt(GTValues.V[GTValues.EV])
+
+ //#endregion
+
+ //#region Processing Fuels
+
+ event.recipes.gtceu.centrifuge('thorium_isotope')
+ //.inputFluids(Fluid.of('minecraft:water', 50))
+ .itemInputs('9x #forge:dusts/thorium')
+ .chancedOutput('#forge:dusts/thorium_230', 9000, 0)
+ .itemOutputs('8x #forge:dusts/thorium_232')
+ .duration(20*30)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ //#endregion
+
+ //#region Mars Water
+
+ event.recipes.gtceu.electrolyzer('mars_water')
+ .inputFluids(Fluid.of('tfg:semiheavy_ammoniacal_water', 1000))
+ .outputFluids(Fluid.of('gtceu:heavy_water', 500))
+ .itemOutputs('#forge:dusts/ammonium_chloride', '2x #forge:small_dusts/ammonium_chloride')
+ .duration(20*9)
+ .EUt(GTValues.VA[GTValues.LV])
+
+ // Martian Sludge
+
+ event.recipes.gtceu.chemical_bath('dirty_hexafluorosilicic_acid')
+ .itemInputs('32x #forge:mars_stone_dusts')
+ .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
+ .outputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000))
+ .duration(20*8)
+ .EUt(GTValues.VA[GTValues.EV])
+
+ event.recipes.gtceu.centrifuge('martian_sludge')
+ .inputFluids(Fluid.of('gtceu:dirty_hexafluorosilicic_acid', 1000))
+ .outputFluids(Fluid.of('gtceu:martian_sludge', 1000))
+ .outputFluids(Fluid.of('gtceu:hydrogen', 1000))
+ .outputFluids(Fluid.of('gtceu:fluorine', 1000))
+ .duration(20*16)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ // Plutonium Process
+
+ event.recipes.gtceu.gas_pressurizer('nuclear_residue')
+ .inputFluids(Fluid.of('gtceu:martian_sludge', 1000))
+ .inputFluids(Fluid.of('gtceu:formamide', 1000))
+ .inputFluids(Fluid.of('gtceu:radioactive_waste', 1000))
+ .outputFluids(Fluid.of('gtceu:radon', 100))
+ .itemOutputs('#forge:dusts/nuclear_residue')
+ .duration(20*30)
+ .EUt(GTValues.VA[GTValues.EV])
+
+ event.recipes.gtceu.vacuum_freezer('oxidized_nuclear_residue')
+ .itemInputs('#forge:dusts/nuclear_residue')
+ .inputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000))
+ .outputFluids(Fluid.of('minecraft:water', 10))
+ .itemOutputs('#forge:dusts/oxidized_nuclear_residue')
+ .duration(20*5)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.centrifuge('refined_nuclear_residue')
+ .inputFluids(Fluid.of('gtceu:distilled_water', 1000))
+ .itemInputs('#forge:dusts/oxidized_nuclear_residue')
+ .itemOutputs('#forge:dusts/refined_nuclear_residue')
+ .outputFluids(Fluid.of('gtceu:hydrofluoric_acid', 2000))
+ .outputFluids(Fluid.of('gtceu:oxygen', 1000))
+ .duration(20*30)
+ .EUt(GTValues.VA[GTValues.EV])
+
+ event.recipes.gtceu.large_chemical_reactor('dioxygen_difluoride')
+ .inputFluids(Fluid.of('gtceu:oxygen', 2000))
+ .inputFluids(Fluid.of('gtceu:fluorine', 2000))
+ .outputFluids(Fluid.of('gtceu:dioxygen_difluoride', 1000))
+ .duration(20*16)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.large_chemical_reactor('plutonium_dust')
+ .itemInputs('#forge:dusts/refined_nuclear_residue')
+ .inputFluids(Fluid.of('gtceu:hydrogen', 2000))
+ .itemOutputs('#forge:dusts/plutonium')
+ .outputFluids(Fluid.of('gtceu:steam', 1000))
+ .duration(20*15)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ //#endregion
+
+ //#region Heat Exchanger
+
+ event.recipes.gtceu.heat_exchanger('uranium_steam')
+ .inputFluids(Fluid.of('minecraft:water', 100))
+ .inputFluids(Fluid.of('gtceu:radioactive_steam', 100))
+ .inputFluids(Fluid.of('gtceu:ammonium_formate', 100))
+ .outputFluids(Fluid.of('gtceu:dense_steam', 100))
+ .outputFluids(Fluid.of('gtceu:formamide', 100))
+ .duration(20*10)
+ .EUt(1)
+
+ event.recipes.gtceu.heat_exchanger('plutonium_steam')
+ .inputFluids(Fluid.of('minecraft:water', 100))
+ .inputFluids(Fluid.of('gtceu:irradiated_steam', 100))
+ .outputFluids(Fluid.of('gtceu:dense_steam', 100))
+ .duration(20*10)
+ .EUt(1)
+
+ // Heat Exchanger for Energy
+
+ event.recipes.gtceu.heat_exchanger('flibe_cooling')
+ .inputFluids(Fluid.of('gtceu:hot_flibe', 100))
+ .inputFluids(Fluid.of('gtceu:distilled_water', 100))
+ .chancedFluidInput(Fluid.of('gtceu:hastelloy_c_276', 100), 5000, 0)
+ .chancedFluidOutput(Fluid.of('gtceu:flibe', 100), 9500, 0)
+ .outputFluids(Fluid.of('gtceu:dense_steam', 100))
+ .duration(20*10)
+ .EUt(1)
+
+ //#endregion
+
+ //#region Fission Reactor
+
+ // Recipe for Thorium Reactor
+ event.recipes.gtceu.fission_reactor('thorium_uranium_waste')
+ .itemInputs('#forge:bolts/thorium_pellet')
+ .inputFluids(Fluid.of('minecraft:water', 100))
+ .outputFluids(Fluid.of('gtceu:dense_steam', 100))
+ .outputFluids(Fluid.of('gtceu:uranium_waste', 20))
+ .duration(20*50)
+ .EUt(32)
+
+ // Recipe for energy only reactor
+ event.recipes.gtceu.fission_reactor('thorium_nuclear_waste')
+ .itemInputs('#forge:bolts/thorium_pellet')
+ .inputFluids(Fluid.of('gtceu:distilled_water', 200))
+ .outputFluids(Fluid.of('gtceu:dense_steam', 200))
+ .outputFluids(Fluid.of('gtceu:nuclear_waste', 10))
+ .duration(20*100)
+ .EUt(32)
+
+ // Recipe for Uranium Reactor
+ event.recipes.gtceu.fission_reactor('uranium_radioactive')
+ .itemInputs('#forge:bolts/uranium_pellet')
+ .inputFluids(Fluid.of('gtceu:heavy_water', 750))
+ .outputFluids(Fluid.of('gtceu:radioactive_steam', 750))
+ .outputFluids(Fluid.of('gtceu:radioactive_waste', 50))
+ .duration(20*100)
+ .EUt(32)
+
+ // Recipe for Plutonium Reactor
+ event.recipes.gtceu.fission_reactor('plutonium_irradiated')
+ .itemInputs('#forge:bolts/plutonium_pellet')
+ .inputFluids(Fluid.of('gtceu:heavy_water', 2000))
+ .outputFluids(Fluid.of('gtceu:irradiated_steam', 2000))
+ .outputFluids(Fluid.of('gtceu:tritiated_water', 50))
+ .duration(20*100)
+ .EUt(32)
+
+ // Fission Reactor for Energy
+
+ event.recipes.gtceu.fission_reactor('tbu_reactor')
+ .itemInputs('#forge:bolts/tbu-232_pellet')
+ .inputFluids(Fluid.of('gtceu:flibe', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_flibe', 1000))
+ .outputFluids(Fluid.of('gtceu:nuclear_waste', 500))
+ .duration(20*100)
+ .EUt(32)
+
+ //#endregion
+
+ //#region Power Generation
+
+ event.recipes.gtceu.gas_turbine('dense_steam')
+ .inputFluids(Fluid.of('gtceu:dense_steam', 1))
+ .EUt(-(32*4))
+ .duration(20*2)
+
+ //#endregion
+
+ //#region FLiBe Line
+
+ event.recipes.gtceu.evaporation_tower('raw_rich_brine')
+ .inputFluids(Fluid.of('tfc:spring_water', 20000))
+ .outputFluids(Fluid.of('gtceu:raw_rich_brine', 1000))
+ .duration(20*50)
+ .EUt(GTValues.VA[GTValues.EV])
+
+ event.recipes.gtceu.chemical_reactor('hydrogen_iodide_to_hot_iodine_brine')
+ .inputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000))
+ .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000))
+ .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000))
+ .duration(20*24)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.large_chemical_reactor('basic_bromine_exhaust_to_hot_iodine_brine')
+ .inputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000))
+ .inputFluids(Fluid.of('gtceu:raw_rich_brine', 1000))
+ .outputFluids(Fluid.of('gtceu:sodium_potassium', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_iodine_brine', 1000))
+ .outputFluids(Fluid.of('gtceu:steam', 1000))
+ .duration(20*30)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.evaporation_tower('brominated_iodine_vapor')
+ .inputFluids(Fluid.of('gtceu:hot_iodine_brine', 10000))
+ .itemOutputs('#forge:dusts/magnesium_chloride')
+ .outputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000))
+ .duration(20*50)
+ .EUt(GTValues.VA[GTValues.EV])
+
+ event.recipes.gtceu.chemical_reactor('lithium_carbonate')
+ .inputFluids(Fluid.of('gtceu:brominated_iodine_vapor', 1000))
+ .itemInputs('#forge:dusts/sodium_hydroxide')
+ .itemOutputs('#forge:dusts/lithium_carbonate')
+ .outputFluids(Fluid.of('gtceu:basic_bromine_exhaust', 1000))
+ .duration(20*54)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('lithium_fluoride')
+ .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
+ .itemInputs('#forge:dusts/lithium_carbonate')
+ .itemOutputs('#forge:gems/lithium_fluoride')
+ .outputFluids(Fluid.of('gtceu:carbon_dioxide', 1000))
+ .outputFluids(Fluid.of('minecraft:water', 1000))
+ .duration(20*36)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.chemical_reactor('tetrafluoroberyllate')
+ .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
+ .itemInputs('#forge:purified_ores/beryllium')
+ .itemOutputs('#forge:gems/tetrafluoroberyllate')
+ .outputFluids(Fluid.of('minecraft:water', 1000))
+ .duration(20*36)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.alloy_blast_smelter('dirty_flibe')
+ .inputFluids(Fluid.of('gtceu:hydrofluoric_acid', 1000))
+ .inputFluids(Fluid.of('gtceu:helium', 1000))
+ .inputFluids(Fluid.of('minecraft:water', 1000))
+ .itemInputs('#forge:gems/lithium_fluoride')
+ .itemInputs('#forge:gems/tetrafluoroberyllate')
+ .outputFluids(Fluid.of('gtceu:dirty_flibe', 1000))
+ .blastFurnaceTemp(3600)
+ .duration(20*36)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ event.recipes.gtceu.electrolyzer('flibe')
+ .inputFluids(Fluid.of('gtceu:dirty_flibe', 1000))
+ .outputFluids(Fluid.of('gtceu:flibe', 1000))
+ .itemOutputs('#forge:dusts/chromium')
+ .itemOutputs('gtceu:nickel_dust')
+ .itemOutputs('gtceu:iron_dust')
+ .duration(20*36)
+ .EUt(GTValues.VA[GTValues.IV])
+
+ //#endregion
+
+ //#region Bromine Line
+
+ event.recipes.gtceu.evaporation_tower('evaporation_brine')
+ .inputFluids(Fluid.of('tfc:salt_water', 20000))
+ .outputFluids(Fluid.of('gtceu:raw_brine', 1000))
+ .duration(20*50)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.fluid_heater('heat_brine')
+ .inputFluids(Fluid.of("gtceu:raw_brine", 1000))
+ .outputFluids(Fluid.of("gtceu:hot_brine", 1000))
+ .duration(20*600)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.heat_exchanger('heat_brine_nuclear')
+ .inputFluids(Fluid.of("gtceu:raw_brine", 1000))
+ .inputFluids(Fluid.of("gtceu:irradiated_steam", 1000))
+ .outputFluids(Fluid.of("gtceu:hot_brine", 1000))
+ .outputFluids(Fluid.of("gtceu:dense_steam", 1000))
+ .duration(20*100)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('debrominated_brine_raw_brine_mixing')
+ .inputFluids(Fluid.of("gtceu:raw_brine", 1000))
+ .inputFluids(Fluid.of('gtceu:hot_debrominated_brine', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_brine', 2000))
+ .outputFluids(Fluid.of('gtceu:debrominated_brine', 1000))
+ .duration(20*10)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('brine_acidification')
+ .inputFluids(Fluid.of("gtceu:hot_brine", 2000))
+ .inputFluids(Fluid.of('gtceu:hydrochloric_acid', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 2000))
+ .outputFluids(Fluid.of('gtceu:hydrogen_iodide', 1000))
+ .duration(20*5)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('aciditic_bromine_exhaust_heating')
+ .inputFluids(Fluid.of("gtceu:hot_brine", 1000))
+ .inputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
+ .outputFluids(Fluid.of('gtceu:steam', 3000))
+ .duration(20*5)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('brine_chloroination')
+ .inputFluids(Fluid.of("gtceu:hot_brine", 1000))
+ .inputFluids(Fluid.of('gtceu:chlorine', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
+ .duration(20*5)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('brine_neutralization')
+ .inputFluids(Fluid.of("gtceu:hot_alkaline_debrominated_brine", 3000))
+ .itemInputs('gtceu:potassium_dust')
+ .outputFluids(Fluid.of('gtceu:hot_debrominated_brine', 2000))
+ .itemOutputs(Item.of('2x gtceu:rock_salt_dust'))
+ .duration(20*5)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.centrifuge('debrominated_brine_decomposition')
+ .inputFluids(Fluid.of('gtceu:debrominated_brine', 2000))
+ .outputFluids(Fluid.of('tfc:salt_water'), 1000)
+ .duration(20*3)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.chemical_reactor('brine_filtration')
+ .inputFluids(Fluid.of('gtceu:hot_chlorinated_brominated_brine', 1000))
+ .inputFluids(Fluid.of('gtceu:chlorine', 1000))
+ .inputFluids(Fluid.of('gtceu:steam', 1000))
+ .outputFluids(Fluid.of('gtceu:hot_alkaline_debrominated_brine', 1000))
+ .outputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 2000))
+ .duration(20*15)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('brominated_chlorine_vapor_condensation')
+ .inputFluids(Fluid.of('gtceu:brominated_chlorine_vapor', 1000))
+ .inputFluids(Fluid.of('minecraft:water', 1000))
+ .outputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
+ .outputFluids(Fluid.of('minecraft:water', 2000))
+ .duration(20*15)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.chemical_reactor('bromine_vapor_concentration')
+ .inputFluids(Fluid.of('gtceu:acidic_bromine_solution', 1000))
+ .inputFluids(Fluid.of('gtceu:steam', 1000))
+ .outputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
+ .outputFluids(Fluid.of('gtceu:acidic_bromine_exhaust', 1000))
+ .duration(20*5)
+ .EUt(GTValues.VA[GTValues.HV])
+
+ event.recipes.gtceu.distillery('bromine_distillation_to_chlorine')
+ .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 100))
+ .outputFluids(Fluid.of('gtceu:chlorine', 50))
+ .duration(20*5)
+ .circuit(1)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.distillery('bromine_distillation_to_bromine')
+ .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 40))
+ .outputFluids(Fluid.of('gtceu:bromine', 40))
+ .duration(20*2)
+ .circuit(2)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.distillation_tower('bromine_distillation')
+ .inputFluids(Fluid.of('gtceu:concentrated_bromine_solution', 1000))
+ .outputFluids(Fluid.of('gtceu:chlorine', 500))
+ .outputFluids(Fluid.of('gtceu:bromine', 1000))
+ .duration(20*25)
+ .EUt(GTValues.VA[GTValues.HV])
+
+}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tfg/recipes.paper.js b/kubejs/server_scripts/tfg/recipes.paper.js
index 8be8b3534..fd5f22c95 100644
--- a/kubejs/server_scripts/tfg/recipes.paper.js
+++ b/kubejs/server_scripts/tfg/recipes.paper.js
@@ -1,9 +1,12 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGPapermakingRecipes(event) {
- var generateVatRecipe = (id, inputItem, fluid, fluidAmount, output) => {
+ const generateVatRecipe = (id, inputItem, fluid, fluidAmount, output) => {
event.custom({
"type": "firmalife:vat",
"input_item": {
@@ -21,9 +24,9 @@ function registerTFGPapermakingRecipes(event) {
}).id(id)
}
- var generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) => {
+ const generatePotRecipe = (id, maxAmountOfInputItems, inputItem, inputFluid, inputFluidAmount, outputItem, ticks, temperature) => {
for (let i = 0; i < maxAmountOfInputItems; i++) {
- var iPlusOne = i + 1
+ let iPlusOne = i + 1
let inputsArray = new Array(iPlusOne)
for (let j = 0; j < iPlusOne; j++) {
inputsArray[j] = inputItem
@@ -95,7 +98,7 @@ function registerTFGPapermakingRecipes(event) {
.outputItem('tfg:soaked_hardwood_strip')
.id('tfg:barrel/soak_hardwood_strip')
event.recipes.gtceu.chemical_bath('tfg:chemical_bath/soak_hardwood_strips')
- .inputFluids( JsonIO.of({ amount: 100, value: { tag: "tfc:any_water" }}))
+ .inputFluids("#tfc:clean_water 100")
.itemInputs('tfg:hardwood_strip')
.itemOutputs('tfg:soaked_hardwood_strip')
.duration(200)
@@ -123,7 +126,7 @@ function registerTFGPapermakingRecipes(event) {
generateMixerRecipe(event, 'gtceu:tiny_hardwood_dust', Fluid.of('tfc:lye', 16), 'gtceu:tiny_thermochemically_treated_hardwood_dust', null, [], 50, 2, 64, 'tfg:mixer/mix_tiny_hardwood_dust_with_lye')
//Beat thermochemically treated hardwood dust into soaked unrefined paper
- event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_last', 'hit_last'])
+ event.recipes.tfc.anvil('tfg:soaked_unrefined_paper', 'gtceu:thermochemically_treated_hardwood_dust', ['hit_last', 'hit_second_last', 'hit_third_last'])
.id('tfg:anvil/soaked_unrefined_paper')
event.recipes.greate.pressing(Item.of('tfg:soaked_unrefined_paper'), 'gtceu:thermochemically_treated_hardwood_dust')
.recipeTier(0)
diff --git a/kubejs/server_scripts/tfg/recipes.recycling.js b/kubejs/server_scripts/tfg/recipes.recycling.js
index a8fad83d0..e268a0478 100644
--- a/kubejs/server_scripts/tfg/recipes.recycling.js
+++ b/kubejs/server_scripts/tfg/recipes.recycling.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGRecyclingRecipes(event) {
//MV Refrigerator
diff --git a/kubejs/server_scripts/tfg/recipes.rocks.js b/kubejs/server_scripts/tfg/recipes.rocks.js
index ea64cdf58..c831d572a 100644
--- a/kubejs/server_scripts/tfg/recipes.rocks.js
+++ b/kubejs/server_scripts/tfg/recipes.rocks.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGRockRecipes(event) {
// #region Nether rock recipes
@@ -155,43 +158,43 @@ function registerTFGRockRecipes(event) {
// forge hammer
const HAMMERING = [
- { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate' },
- { raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black' },
- { raw: 'minecraft:blackstone', hammered: 'tfc:sand/black' },
- { raw: 'beneath:crackrack', hammered: 'tfc:sand/pink' },
- { raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown' },
+ { raw: 'minecraft:deepslate', hammered: 'minecraft:cobbled_deepslate', duration: 10, eu: 16 },
+ { raw: 'minecraft:cobbled_deepslate', hammered: 'tfc:sand/black', duration: 200, eu: 2 },
+ { raw: 'minecraft:blackstone', hammered: 'tfc:sand/black', duration: 200, eu: 2 },
+ { raw: 'beneath:crackrack', hammered: 'tfc:sand/pink', duration: 200, eu: 2 },
+ { raw: 'minecraft:dripstone_block', hammered: 'tfc:sand/brown', duration: 200, eu: 2 },
- { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone' },
- { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone' },
- { raw: 'ad_astra:moon_cobblestone', hammered: 'ad_astra:moon_sand' },
- { raw: 'ad_astra:moon_deepslate', hammered: 'ad_astra:moon_sand' },
- { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'ad_astra:moon_sand' },
- { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone' },
- { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone' },
- { raw: 'ad_astra:mars_cobblestone', hammered: 'ad_astra:mars_sand' },
- { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone' },
- { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone' },
- { raw: 'ad_astra:venus_cobblestone', hammered: 'ad_astra:venus_sand' },,
- { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone' },
- { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone' },
- { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfc:sand/red' },
- { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone' },
- { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone' },
- { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfc:sand/white' },
- { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate' },
- { raw: 'ad_astra:permafrost', hammered: 'tfg:loose/permafrost' }
+ { raw: 'ad_astra:moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 },
+ { raw: 'tfg:rock/hardened_moon_stone', hammered: 'ad_astra:moon_cobblestone', duration: 10, eu: 16 },
+ { raw: 'ad_astra:moon_cobblestone', hammered: 'ad_astra:moon_sand', duration: 200, eu: 2 },
+ { raw: 'ad_astra:moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 200, eu: 2 },
+ { raw: 'tfg:rock/hardened_moon_deepslate', hammered: 'ad_astra:moon_sand', duration: 200, eu: 2 },
+ { raw: 'ad_astra:mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 },
+ { raw: 'tfg:rock/hardened_mars_stone', hammered: 'ad_astra:mars_cobblestone', duration: 10, eu: 16 },
+ { raw: 'ad_astra:mars_cobblestone', hammered: 'ad_astra:mars_sand', duration: 200, eu: 2 },
+ { raw: 'ad_astra:venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 },
+ { raw: 'tfg:rock/hardened_venus_stone', hammered: 'ad_astra:venus_cobblestone', duration: 10, eu: 16 },
+ { raw: 'ad_astra:venus_cobblestone', hammered: 'ad_astra:venus_sand', duration: 200, eu: 2 },
+ { raw: 'ad_astra:mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 },
+ { raw: 'tfg:rock/hardened_mercury_stone', hammered: 'ad_astra:mercury_cobblestone', duration: 10, eu: 16 },
+ { raw: 'ad_astra:mercury_cobblestone', hammered: 'tfc:sand/red', duration: 200, eu: 2 },
+ { raw: 'ad_astra:glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 },
+ { raw: 'tfg:rock/hardened_glacio_stone', hammered: 'ad_astra:glacio_cobblestone', duration: 10, eu: 16 },
+ { raw: 'ad_astra:glacio_cobblestone', hammered: 'tfc:sand/white', duration: 200, eu: 2 },
+ { raw: 'ad_astra:conglomerate', hammered: 'tfc:rock/gravel/conglomerate', duration: 10, eu: 16 },
+ { raw: 'ad_astra:permafrost', hammered: '4x gtceu:ice_dust', duration: 200, eu: 2 }
]
HAMMERING.forEach(x => {
- event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/:/g, '_'))
+ event.recipes.gtceu.forge_hammer(`${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_'))
.itemInputs(x.raw)
.itemOutputs(x.hammered)
- .duration(12)
- .EUt(8)
+ .duration(x.duration)
+ .EUt(x.eu)
event.recipes.greate.pressing(x.hammered, x.raw)
- .recipeTier(1)
- .id(`greate:pressing/${x.raw}_to_${x.hammered}`.replace(/:/g, '_'))
+ .recipeTier(x.eu <= 8 ? 0 : 1)
+ .id(`greate:pressing/${x.raw}_to_${x.hammered}`.replace(/[: ]/g, '_'))
})
// slabs, stairs, walls
@@ -530,7 +533,7 @@ function registerTFGRockRecipes(event) {
event.stonecutting(x.stair, x.raw).id(`${x.raw}_to_${x.stair}`.replace(/:/g, '_'))
}
- if (x.dust != null) {
+ if (x.dust !== null) {
event.recipes.gtceu.macerator(`macerate_${x.stair}`.replace(/:/g, '_'))
.itemInputs(x.stair)
.itemOutputs(x.dust)
@@ -550,7 +553,7 @@ function registerTFGRockRecipes(event) {
event.stonecutting(`2x ${x.slab}`, x.raw).id(`${x.raw}_to_${x.slab}`.replace(/:/g, '_'))
}
- if (x.dust != null) {
+ if (x.dust !== null) {
event.recipes.gtceu.macerator(`macerate_${x.slab}`.replace(/:/g, '_'))
.itemInputs(`2x ${x.slab}`)
.itemOutputs(x.dust)
@@ -570,7 +573,7 @@ function registerTFGRockRecipes(event) {
event.stonecutting(x.wall, x.raw).id(`${x.raw}_to_${x.wall}`.replace(/:/g, '_'))
}
- if (x.dust != null) {
+ if (x.dust !== null) {
event.recipes.gtceu.macerator(`macerate_${x.wall}`.replace(/:/g, '_'))
.itemInputs(x.wall)
.itemOutputs(x.dust)
@@ -657,6 +660,13 @@ function registerTFGRockRecipes(event) {
.EUt(7)
.dimension('ad_astra:moon')
+ event.recipes.gtceu.rock_breaker('tfg:moon_cobblestone')
+ .notConsumable('ad_astra:moon_cobblestone')
+ .itemOutputs('ad_astra:moon_cobblestone')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:moon')
+
event.recipes.gtceu.rock_breaker('tfg:moon_deepslate')
.notConsumable('ad_astra:moon_deepslate')
.itemOutputs('ad_astra:moon_deepslate')
@@ -671,19 +681,54 @@ function registerTFGRockRecipes(event) {
.EUt(7)
.dimension('ad_astra:moon')
+ event.recipes.gtceu.rock_breaker('tfg:glacio_cobblestone')
+ .notConsumable('ad_astra:glacio_cobblestone')
+ .itemOutputs('ad_astra:glacio_cobblestone')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:moon')
+
event.recipes.gtceu.rock_breaker('tfg:mars_stone')
.notConsumable('ad_astra:mars_stone')
.itemOutputs('ad_astra:mars_stone')
.duration(16)
.EUt(7)
.dimension('ad_astra:mars')
+
+ event.recipes.gtceu.rock_breaker('tfg:mars_cobblestone')
+ .notConsumable('ad_astra:mars_cobblestone')
+ .itemOutputs('ad_astra:mars_cobblestone')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:mars')
event.recipes.gtceu.rock_breaker('tfg:venus_stone')
.notConsumable('ad_astra:venus_stone')
.itemOutputs('ad_astra:venus_stone')
.duration(16)
.EUt(7)
- .dimension('ad_astra:venus')
+ .dimension('ad_astra:mars')
+
+ event.recipes.gtceu.rock_breaker('tfg:venus_cobblestone')
+ .notConsumable('ad_astra:venus_cobblestone')
+ .itemOutputs('ad_astra:venus_cobblestone')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:mars')
+
+ event.recipes.gtceu.rock_breaker('tfg:red_granite')
+ .notConsumable('gtceu:red_granite')
+ .itemOutputs('gtceu:red_granite')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:mars')
+
+ event.recipes.gtceu.rock_breaker('tfg:red_granite_cobblestone')
+ .notConsumable('gtceu:red_granite_cobblestone')
+ .itemOutputs('gtceu:red_granite_cobblestone')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:mars')
event.recipes.gtceu.rock_breaker('tfg:mercury_stone')
.notConsumable('ad_astra:mercury_stone')
@@ -691,6 +736,13 @@ function registerTFGRockRecipes(event) {
.duration(16)
.EUt(7)
.dimension('ad_astra:mercury')
+
+ event.recipes.gtceu.rock_breaker('tfg:mercury_cobblestone')
+ .notConsumable('ad_astra:mercury_cobblestone')
+ .itemOutputs('ad_astra:mercury_cobblestone')
+ .duration(16)
+ .EUt(7)
+ .dimension('ad_astra:mercury')
// #endregion
// #region sandstone
diff --git a/kubejs/server_scripts/tfg/recipes.space.js b/kubejs/server_scripts/tfg/recipes.space.js
index d7bf846f3..3b7c8b287 100644
--- a/kubejs/server_scripts/tfg/recipes.space.js
+++ b/kubejs/server_scripts/tfg/recipes.space.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGSpaceRecipes(event) {
// TODO: Change these to work on any dim as long as they're in an oxygenated area?
@@ -45,6 +48,13 @@ function registerTFGSpaceRecipes(event) {
.duration(20*60*30)
.EUt(16)
+ event.recipes.gtceu.gas_collector('mars')
+ .circuit(3)
+ .outputFluids(Fluid.of('gtceu:carbon_dioxide', 10000))
+ .dimension('ad_astra:mars')
+ .duration(20*10)
+ .EUt(16)
+
// Aqueous accumulator
let aaCircuit = 1;
@@ -126,7 +136,7 @@ function registerTFGSpaceRecipes(event) {
.outputFluids(Fluid.of("minecraft:water", 1000))
event.recipes.gtceu.aqueous_accumulator('sea_water_orbit')
- .circuit(aaCircuit++)
+ .circuit(aaCircuit)
.dimension('ad_astra:earth_orbit')
.dimension('ad_astra:moon_orbit')
.dimension('ad_astra:mars_orbit')
@@ -137,7 +147,15 @@ function registerTFGSpaceRecipes(event) {
.addDataString("fluidA", "tfc:salt_water")
.outputFluids(Fluid.of("tfc:salt_water", 1000))
- // Plants
+ event.recipes.gtceu.aqueous_accumulator('semiheavy_water_mars')
+ .dimension('ad_astra:mars')
+ .duration(20)
+ .EUt(GTValues.VHA[GTValues.ULV])
+ .addDataString("fluidA", "tfg:semiheavy_ammoniacal_water")
+ .outputFluids(Fluid.of("tfg:semiheavy_ammoniacal_water", 1000))
+
+ // Plants - Can't use the default builder here because fertiliser is much harder to get on the moon,
+ // and we're using helium-3 as the fertiliser
// Chorus
event.recipes.gtceu.greenhouse('tfg:chorus')
@@ -205,7 +223,7 @@ function registerTFGSpaceRecipes(event) {
event.recipes.gtceu.brewery('biomass_from_twisting_vines')
.itemInputs('minecraft:twisting_vines')
- .inputFluids(JsonIO.of({ amount: 20, value: { tag: "tfg:clean_water" }}))
+ .inputFluids("#tfg:clean_water 20")
.outputFluids(Fluid.of('gtceu:biomass', 20))
.duration(50)
.EUt(3)
@@ -255,4 +273,84 @@ function registerTFGSpaceRecipes(event) {
.duration(300)
.EUt(GTValues.VA[GTValues.EV])
.cleanroom(CleanroomType.CLEANROOM)
+
+ // Railgun stuff
+
+ event.recipes.gtceu.assembler('tfg:railgun_ammo_basic')
+ .itemInputs('#forge:double_plates/steel', '2x #forge:rods/magnetic_iron', '2x #forge:fine_wires/annealed_copper')
+ .inputFluids('gtceu:rocket_fuel 250')
+ .itemOutputs('tfg:railgun_ammo_shell')
+ .duration(20 * 10)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.assembler('tfg:railgun_ammo_advanced')
+ .itemInputs('#forge:double_plates/titanium', '2x #forge:rods/magnetic_steel', '2x #forge:fine_wires/gold')
+ .inputFluids('gtceu:rocket_fuel 250')
+ .itemOutputs('4x tfg:railgun_ammo_shell')
+ .duration(20 * 10)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.assembler('tfg:railgun_ammo_best')
+ .itemInputs('#forge:double_plates/tungsten', '2x #forge:rods/magnetic_neodymium', '2x #forge:fine_wires/aluminium')
+ .inputFluids('gtceu:rocket_fuel 250')
+ .itemOutputs('8x tfg:railgun_ammo_shell')
+ .duration(20 * 10)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.recipes.gtceu.assembler('tfg:railgun_ammo_moon')
+ .itemInputs('#forge:double_plates/steel', '2x ae2:charged_certus_quartz_crystal', '2x ae2:quartz_fiber')
+ .inputFluids('gtceu:rocket_fuel 250')
+ .itemOutputs('4x tfg:railgun_ammo_shell')
+ .dimension('ad_astra:moon')
+ .duration(20 * 10)
+ .EUt(GTValues.VA[GTValues.MV])
+
+ event.shaped('tfg:railgun_ammo_loader', [
+ 'RMR',
+ 'MBM',
+ 'CCC'
+ ], {
+ B: 'gtceu:mv_input_bus',
+ R: 'gtceu:mv_robot_arm',
+ M: 'gtceu:mv_electric_motor',
+ C: '#forge:single_cables/annealed_copper'
+ }).id('tfg:shaped/railgun_ammo_loader')
+
+ event.shaped('tfg:interplanetary_logistics_monitor', [
+ 'CDC',
+ 'SHE',
+ 'WCW'
+ ], {
+ C: '#gtceu:circuits/hv',
+ D: 'gtceu:computer_monitor_cover',
+ S: 'gtceu:hv_sensor',
+ H: 'gtceu:hv_machine_hull',
+ E: 'gtceu:hv_emitter',
+ W: '#forge:single_cables/silver'
+ }).id('tfg:shaped/interplanetary_logistics_monitor')
+
+ event.shaped('tfg:interplanetary_item_launcher', [
+ 'NSN',
+ 'CHC',
+ 'NEN'
+ ], {
+ C: '#gtceu:circuits/iv',
+ S: 'gtceu:hv_sensor',
+ E: 'gtceu:hv_emitter',
+ H: 'gtceu:ev_machine_hull',
+ N: '#forge:plates/hsla_steel'
+ }).id('tfg:shaped/interplanetary_item_launcher')
+
+ event.shaped('tfg:interplanetary_item_receiver', [
+ 'CSC',
+ 'WHW',
+ 'CSC'
+ ], {
+ C: '#gtceu:circuits/mv',
+ S: 'gtceu:mv_sensor',
+ W: '#forge:double_cables/copper',
+ H: 'gtceu:mv_machine_hull'
+ }).id('tfg:shaped/interplanetary_item_receiver')
+
+ // the railgun inputs and outputs are in tfg-core
}
\ No newline at end of file
diff --git a/kubejs/server_scripts/tfg/recipes.stone_dusts.js b/kubejs/server_scripts/tfg/recipes.stone_dusts.js
index 660797008..d63e44a26 100644
--- a/kubejs/server_scripts/tfg/recipes.stone_dusts.js
+++ b/kubejs/server_scripts/tfg/recipes.stone_dusts.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGStoneDustRecipes(event) {
event.remove({ id: 'gtceu:electrolyzer/decomposition_electrolyzing_blackstone' })
diff --git a/kubejs/server_scripts/tfg/recipes.supports.js b/kubejs/server_scripts/tfg/recipes.supports.js
index 26ae7a657..86dd3b6a4 100644
--- a/kubejs/server_scripts/tfg/recipes.supports.js
+++ b/kubejs/server_scripts/tfg/recipes.supports.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGSupportRecipes(event) {
// Concrete Supports
diff --git a/kubejs/server_scripts/tfg/recipes.terrariums.js b/kubejs/server_scripts/tfg/recipes.terrariums.js
index 62a2aeaff..68c5e64fe 100644
--- a/kubejs/server_scripts/tfg/recipes.terrariums.js
+++ b/kubejs/server_scripts/tfg/recipes.terrariums.js
@@ -1,6 +1,9 @@
// priority: 0
"use strict";
+/**
+ * @param {Internal.RecipesEventJS} event
+ */
function registerTFGTerrariumRecipes(event) {
event.remove({ id: 'gtceu:gas_collector/nether_air' })
diff --git a/kubejs/server_scripts/tfg/tags.facades.js b/kubejs/server_scripts/tfg/tags.facades.js
index 46545f290..c0666244d 100644
--- a/kubejs/server_scripts/tfg/tags.facades.js
+++ b/kubejs/server_scripts/tfg/tags.facades.js
@@ -21,6 +21,7 @@ function registerFacadeWhitelistTags(event) {
'#forge:storage_blocks',
'#forge:glass',
'#minecraft:terracotta',
+ '#forge:concretes',
'#create:casing',
'#dormum_ornamentum:brick_items',
'#simplylight:any_lamp_on',
@@ -198,80 +199,77 @@ function registerFacadeWhitelistTags(event) {
//gtceu stonelike stuff
gtceu_stonelike_fm.forEach(facade_material => {
- if(facade_material != 'marble')
- {
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_cobblestone')
- event.add('tfg:whitelisted/facades', 'gtceu:mossy_' + facade_material + '_cobblestone')
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_bricks')
- event.add('tfg:whitelisted/facades', 'gtceu:cracked_' + facade_material + '_bricks')
- event.add('tfg:whitelisted/facades', 'gtceu:mossy_' + facade_material + '_bricks')
+ if (facade_material !== 'marble') {
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_cobblestone`)
+ event.add('tfg:whitelisted/facades', `gtceu:mossy_${ facade_material }_cobblestone`)
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_bricks`)
+ event.add('tfg:whitelisted/facades', `gtceu:cracked_${ facade_material }_bricks`)
+ event.add('tfg:whitelisted/facades', `gtceu:mossy_${ facade_material }_bricks`)
}
- event.add('tfg:whitelisted/facades', 'gtceu:polished_' + facade_material)
- event.add('tfg:whitelisted/facades', 'gtceu:chiseled' + facade_material)
+ event.add('tfg:whitelisted/facades', `gtceu:polished_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `gtceu:chiseled${ facade_material}`)
- event.add('tfg:whitelisted/facades', 'gtceu:small_' + facade_material + '_bricks')
- event.add('tfg:whitelisted/facades', 'gtceu:square_' + facade_material + '_bricks')
+ event.add('tfg:whitelisted/facades', `gtceu:small_${ facade_material }_bricks`)
+ event.add('tfg:whitelisted/facades', `gtceu:square_${ facade_material }_bricks`)
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_tile')
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_small_tile')
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_windmill_a')
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_windmill_b')
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_tile`)
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_small_tile`)
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_windmill_a`)
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_windmill_b`)
});
//gtceu misc colored blocks
global.MINECRAFT_DYE_NAMES.forEach(facade_material => {
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_metal_sheet')
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_large_metal_sheet')
- event.add('tfg:whitelisted/facades', 'gtceu:' + facade_material + '_studs')
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_metal_sheet`)
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_large_metal_sheet`)
+ event.add('tfg:whitelisted/facades', `gtceu:${ facade_material }_studs`)
});
//create copper
create_copper_fm.forEach(facade_material => {
- event.add('tfg:whitelisted/facades', 'create:' + facade_material + '_shingles')
- event.add('tfg:whitelisted/facades', 'create:' + facade_material + '_tiles')
+ event.add('tfg:whitelisted/facades', `create:${ facade_material }_shingles`)
+ event.add('tfg:whitelisted/facades', `create:${ facade_material }_tiles`)
});
//create rocks
create_rock_types_fm.forEach(facade_material => {
- if(facade_material == 'limestone')
- {
- event.add('tfg:whitelisted/facades', 'create:' + facade_material)
+ if (facade_material === 'limestone') {
+ event.add('tfg:whitelisted/facades', `create:${ facade_material}`)
}
- event.add('tfg:whitelisted/facades', 'create:cut_' + facade_material)
- event.add('tfg:whitelisted/facades', 'create:polished_cut_' + facade_material)
- event.add('tfg:whitelisted/facades', 'create:cut_' + facade_material + '_bricks')
- event.add('tfg:whitelisted/facades', 'create:small_' + facade_material + '_bricks')
- event.add('tfg:whitelisted/facades', 'create:layered_' + facade_material)
- event.add('tfg:whitelisted/facades', 'create:' + facade_material + '_pillar')
+ event.add('tfg:whitelisted/facades', `create:cut_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `create:polished_cut_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `create:cut_${ facade_material }_bricks`)
+ event.add('tfg:whitelisted/facades', `create:small_${ facade_material }_bricks`)
+ event.add('tfg:whitelisted/facades', `create:layered_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `create:${ facade_material }_pillar`)
});
//rnr shingles
global.TFC_WOOD_TYPES.concat(global.AFC_WOOD_TYPES).forEach(facade_material => {
- event.add('tfg:whitelisted/facades', 'rnr:wood/shingles/' + facade_material)
+ event.add('tfg:whitelisted/facades', `rnr:wood/shingles/${ facade_material}`)
});
//createdeco bricks
createdeco_bricks_fm.forEach(facade_material => {
- if (facade_material != 'red_bricks')
- {
- event.add('tfg:whitelisted/facades', 'createdeco:' + facade_material)
+ if (facade_material !== 'red_bricks') {
+ event.add('tfg:whitelisted/facades', `createdeco:${ facade_material}`)
}
- event.add('tfg:whitelisted/facades', 'createdeco:short_' + facade_material)
- event.add('tfg:whitelisted/facades', 'createdeco:long_' + facade_material)
- event.add('tfg:whitelisted/facades', 'createdeco:tiled_' + facade_material)
- event.add('tfg:whitelisted/facades', 'createdeco:corner_' + facade_material)
- event.add('tfg:whitelisted/facades', 'createdeco:cracked_' + facade_material)
- event.add('tfg:whitelisted/facades', 'createdeco:mossy_' + facade_material)
+ event.add('tfg:whitelisted/facades', `createdeco:short_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `createdeco:long_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `createdeco:tiled_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `createdeco:corner_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `createdeco:cracked_${ facade_material}`)
+ event.add('tfg:whitelisted/facades', `createdeco:mossy_${ facade_material}`)
});
//everycomp windows
global.TFC_WOOD_TYPES.forEach(facade_material => {
- event.add('tfg:whitelisted/facades', 'everycomp:c/tfc/' + facade_material + '_window')
+ event.add('tfg:whitelisted/facades', `everycomp:c/tfc/${ facade_material }_window`)
});
global.AFC_WOOD_TYPES.forEach(facade_material => {
- event.add('tfg:whitelisted/facades', 'everycomp:c/afc/' + facade_material + '_window')
+ event.add('tfg:whitelisted/facades', `everycomp:c/afc/${ facade_material }_window`)
});
}
diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js
index 6f37981ea..7bfef3f77 100644
--- a/kubejs/server_scripts/tfg/tags.js
+++ b/kubejs/server_scripts/tfg/tags.js
@@ -4,7 +4,7 @@ const registerTFGItemTags = (event) => {
registerTFGTrimTags(event)
registerFacadeWhitelistTags(event)
- //crop stuff
+ //crop stuff
event.add('tfc:seeds', 'tfg:sunflower_seeds')
event.add('tfc:seeds', 'tfg:rapeseed_seeds')
event.add('tfc:foods', 'tfg:roasted_sunflower_seeds')
@@ -27,7 +27,7 @@ const registerTFGItemTags = (event) => {
})
event.add('tfg:decorative_vases', 'tfg:decorative_vase')
event.add('tfg:decorative_vases/unfired', 'tfg:decorative_vase/unfired')
-
+
//Knapping
event.add('tfc:any_knapping', 'minecraft:flint')
@@ -40,7 +40,7 @@ const registerTFGItemTags = (event) => {
event.add('forge:tools/fishing_nets', 'tfg:fishing_net/tin_alloy')
event.add('forge:tools/fishing_nets', 'tfg:fishing_net/cupronickel')
event.add('forge:tools/fishing_nets', 'tfg:fishing_net/magnalium')
-
+
event.add('minecraft:piglin_loved', 'tfg:piglin_disguise')
event.add('forge:tools/trowels', 'tfg:trowel')
@@ -148,25 +148,27 @@ const registerTFGItemTags = (event) => {
})
// Universal Circuits
- global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => { event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`); })
+ global.UNIVERSAL_CIRCUIT_TIERS.forEach(tier => {
+ event.add(`gtceu:circuits/${tier}`, `tfg:${tier}_universal_circuit`);
+ })
// Brick Index
const BRICK_KEYS = [
- "brick",
- "brick_stairs",
- "brick_slab",
+ "brick",
+ "brick_stairs",
+ "brick_slab",
"brick_wall",
- "cracked_brick",
- "cracked_stairs",
- "cracked_slab",
+ "cracked_brick",
+ "cracked_stairs",
+ "cracked_slab",
"cracked_wall",
- "mossy_brick",
- "mossy_stairs",
- "mossy_slab",
+ "mossy_brick",
+ "mossy_stairs",
+ "mossy_slab",
"mossy_wall",
- "smooth_brick",
- "smooth_stairs",
- "smooth_slab",
+ "smooth_brick",
+ "smooth_stairs",
+ "smooth_slab",
"smooth_wall",
"chiseled_brick"
];
@@ -241,6 +243,34 @@ const registerTFGItemTags = (event) => {
event.add('tfg:foods/usable_in_meal_bag', 'tfc:food/boiled_egg');
//#endregion
+ //#region Blacklisted from the railgun
+ event.add('tfg:cannot_launch_in_railgun', '#tfc:vessels')
+ event.add('tfg:cannot_launch_in_railgun', '#tfc:large_vessels')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_1k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_4k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_16k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_64k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:item_storage_cell_256k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_1k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_4k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_16k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_64k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:fluid_storage_cell_256k')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_2')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_16')
+ event.add('tfg:cannot_launch_in_railgun', 'ae2:spatial_storage_cell_128')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_1m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_4m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_16m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:item_storage_cell_64m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_1m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_4m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_16m')
+ event.add('tfg:cannot_launch_in_railgun', 'megacells:fluid_storage_cell_64m')
+ event.add('tfg:cannot_launch_in_railgun', 'create:minecart_contraption')
+ event.add('tfg:cannot_launch_in_railgun', 'tfg:railgun_ammo_shell')
+ //#endregion
+
// #region Space blocks
event.add('tfg:moon_plants', 'tfg:lunar_roots')
event.add('tfg:moon_plants', 'tfg:lunar_sprouts')
@@ -252,6 +282,12 @@ const registerTFGItemTags = (event) => {
event.add('tfc:grass', 'tfg:grass/sangnum_mycelium')
// #endregion
+ // Mars stone dust
+
+ event.add('forge:mars_stone_dusts', 'tfg:venus_stone_dust')
+ event.add('forge:mars_stone_dusts', 'gtceu:granite_red_dust')
+ event.add('forge:mars_stone_dusts', 'tfg:mars_stone_dust')
+
// #region 0.7.19 -> 0.9 conversion
event.add('c:hidden_from_recipe_viewers', 'treetap:tap')
event.add('c:hidden_from_recipe_viewers', 'tfcea:refrigerator')
@@ -356,12 +392,12 @@ const registerTFGItemTags = (event) => {
const registerTFGBlockTags = (event) => {
event.add('minecraft:mineable/shovel', 'tfg:ash_pile')
- //crop stuff
+ //crop stuff
event.add('tfc:crops', 'tfg:rapeseed')
event.add('tfc:mineable_with_sharp_tool', 'tfg:rapeseed')
- event.add('tfc:crops', 'tfg:sunflower')
- event.add('tfc:mineable_with_sharp_tool','tfg:sunflower')
+ event.add('tfc:crops', 'tfg:sunflower')
+ event.add('tfc:mineable_with_sharp_tool', 'tfg:sunflower')
// #region Nether blocks
event.add('minecraft:nether_carver_replaceables', 'tfg:rock/hardened_deepslate')
@@ -386,6 +422,9 @@ const registerTFGBlockTags = (event) => {
// #region Mars blocks
event.add('minecraft:dirt', 'tfg:grass/mars_dirt')
+ event.add('minecraft:dirt', 'tfg:grass/amber_mycelium')
+ event.add('minecraft:dirt', 'tfg:grass/rusticus_mycelium')
+ event.add('minecraft:dirt', 'tfg:grass/sangnum_mycelium')
event.add('tfc:dirt', 'tfg:grass/mars_dirt')
event.add('tfc:grass', 'tfg:grass/amber_mycelium')
event.add('tfc:grass', 'tfg:grass/rusticus_mycelium')
@@ -397,11 +436,18 @@ const registerTFGBlockTags = (event) => {
event.add('tfc:can_landslide', 'tfg:grass/amber_mycelium')
event.add('tfc:can_landslide', 'tfg:grass/rusticus_mycelium')
event.add('tfc:can_landslide', 'tfg:grass/sangnum_mycelium')
+ event.add('minecraft:mushroom_grow_block', '#tfc:dirt')
+ event.add('minecraft:mushroom_grow_block', '#tfc:grass')
// #endregion
event.add('tfg:harvester_harvestable', '#tfc:fruit_tree_leaves')
event.add('tfg:harvester_harvestable', '#tfc:berry_bushes')
event.add('tfg:harvester_harvestable', '#tfc:any_spreading_bush')
+ event.add('tfg:harvester_harvestable', '#firmalife:grape_strings')
+ event.add('tfg:harvester_harvestable', '#firmalife:grape_trellis_posts_plant')
+ //added for QOL but doesnt harvest anything
+ event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_red')
+ event.add('tfg:harvester_harvestable', 'firmalife:grape_fluff_white')
event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large')
event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small')
@@ -439,6 +485,21 @@ const registerTFGFluidTags = (event) => {
event.add('tfg:clean_water', 'tfc:spring_water')
event.add('tfc:usable_in_barrel', 'gtceu:seed_oil')
+
+ event.add('forge:liquid', 'tfg:semiheavy_ammoniacal_water')
+ event.add('waves:has_waves', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:any_water', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:hydrating', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:drinkables', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:any_drinkables', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:ingredients', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:usable_in_pot', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:usable_in_wooden_bucket', 'tfg:semiheavy_ammoniacal_water')
+ event.add('tfc:usable_in_barrel', 'tfg:semiheavy_ammoniacal_water')
+ event.add('firmalife:usable_in_mixing_bowl', 'tfg:semiheavy_ammoniacal_water')
+ event.add('firmalife:mixable', 'tfg:semiheavy_ammoniacal_water')
+ event.add('firmalife:usable_in_vat', 'tfg:semiheavy_ammoniacal_water')
+ event.add('minecraft:water', 'tfg:semiheavy_ammoniacal_water')
global.BREATHABLE_COMPRESSED_AIRS.forEach(x => {
event.add('tfg:breathable_compressed_air', x)
@@ -504,7 +565,7 @@ const registerTFGBiomeTags = (event) => {
// Other space decoration is in ad_astra/tags.js
const registerTFGPlacedFeatures = (event) => {
-
+
// #region Earth biomes
event.add('tfc:in_biome/surface_decoration/ocean', 'tfg:earth/rose_quartz/rose_quartz')
diff --git a/kubejs/server_scripts/toolbelt/recipes.js b/kubejs/server_scripts/toolbelt/recipes.js
index 5631ea870..edeaf6c45 100644
--- a/kubejs/server_scripts/toolbelt/recipes.js
+++ b/kubejs/server_scripts/toolbelt/recipes.js
@@ -26,13 +26,13 @@ const registerToolBeltRecipes = (event) => {
A: '#forge:string',
B: '#forge:leather',
C: '#forge:plates/wrought_iron'
- }).id('tfg:toolbelt/shaped/belt_' + 2)
+ }).id(`tfg:toolbelt/shaped/belt_${ 2}`)
// ToolBelt с размером 3 - 9
for (let i = 3; i < 10; i++) {
event.shapeless(Item.of('toolbelt:belt', {Size:i}), [
Ingredient.of(Item.of('toolbelt:belt', {Size:i-1}).strongNBT()).or(Ingredient.of(Item.of('toolbelt:belt', {Size:i-1,Items:[]}).strongNBT())),
'toolbelt:pouch'
- ]).id('tfg:toolbelt/shaped/belt_' + i)
+ ]).id(`tfg:toolbelt/shaped/belt_${ i}`)
}
}
diff --git a/kubejs/server_scripts/vintage_improvements/recipes.js b/kubejs/server_scripts/vintage_improvements/recipes.js
index 21eba38fb..f124340d5 100644
--- a/kubejs/server_scripts/vintage_improvements/recipes.js
+++ b/kubejs/server_scripts/vintage_improvements/recipes.js
@@ -269,14 +269,14 @@ function registerVintageImprovementsRecipes(event) {
forEachMaterial(material => {
const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1);
- if (ingotItem != null && ingotItem.hasTag('c:hidden_from_recipe_viewers'))
+ if (ingotItem !== null && ingotItem.hasTag('c:hidden_from_recipe_viewers'))
return;
const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1);
- if (gemItem != null && gemItem.hasTag('c:hidden_from_recipe_viewers'))
+ if (gemItem !== null && gemItem.hasTag('c:hidden_from_recipe_viewers'))
return;
- if (ingotItem == null && gemItem == null)
+ if (ingotItem === null && gemItem === null)
return;
// #region Coiling
@@ -300,7 +300,7 @@ function registerVintageImprovementsRecipes(event) {
}
const singleWire = ChemicalHelper.get(TagPrefix.wireGtSingle, material, 2)
- if (singleWire != null) {
+ if (singleWire !== null) {
event.custom({
type: 'vintageimprovements:coiling',
ingredients: [ChemicalHelper.get(TagPrefix.ingot, material, 1)],
@@ -309,13 +309,22 @@ function registerVintageImprovementsRecipes(event) {
}).id(`tfg:vi/coiling/${material.getName()}_single_wire`)
}
- if (material.hasFlag(MaterialFlags.GENERATE_FINE_WIRE) && singleWire != null) {
- event.custom({
- type: 'vintageimprovements:coiling',
- ingredients: [ChemicalHelper.get(TagPrefix.wireGtSingle, material, 1)],
- results: [ChemicalHelper.get(TagPrefix.wireFine, material, 4)],
- processingTime: material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
- }).id(`tfg:vi/coiling/${material.getName()}_fine_wire`)
+ if (material.hasFlag(MaterialFlags.GENERATE_FINE_WIRE)) {
+ if (singleWire !== null) {
+ event.custom({
+ type: 'vintageimprovements:coiling',
+ ingredients: [ChemicalHelper.get(TagPrefix.wireGtSingle, material, 1)],
+ results: [ChemicalHelper.get(TagPrefix.wireFine, material, 4)],
+ processingTime: material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
+ }).id(`tfg:vi/coiling/${material.getName()}_fine_wire`)
+ } else {
+ event.custom({
+ type: 'vintageimprovements:coiling',
+ ingredients: [ChemicalHelper.get(TagPrefix.ingot, material, 1)],
+ results: [ChemicalHelper.get(TagPrefix.wireFine, material, 8)],
+ processingTime: material.getMass() * 3 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER
+ }).id(`tfg:vi/coiling/${material.getName()}_fine_wire`)
+ }
}
// #endregion
@@ -328,21 +337,21 @@ function registerVintageImprovementsRecipes(event) {
// aaaaargh I hate these custom type recipes
let gem = `gtceu:${material.getName()}_gem`;
- if (material == GTMaterials.Coal)
+ if (material === GTMaterials.Coal)
gem = 'minecraft:coal'
- else if (material == GTMaterials.Diamond)
+ else if (material === GTMaterials.Diamond)
gem = 'minecraft:diamond'
- else if (material == GTMaterials.Emerald)
+ else if (material === GTMaterials.Emerald)
gem = 'minecraft:emerald'
- else if (material == GTMaterials.Lapis)
+ else if (material === GTMaterials.Lapis)
gem = 'minecraft:lapis_lazuli'
- else if (material == GTMaterials.NetherQuartz)
+ else if (material === GTMaterials.NetherQuartz)
gem = 'minecraft:quartz'
- else if (material == GTMaterials.Amethyst)
+ else if (material === GTMaterials.Amethyst)
gem = 'minecraft:amethyst_shard'
- else if (material == GTMaterials.CertusQuartz)
+ else if (material === GTMaterials.CertusQuartz)
gem = 'ae2:certus_quartz_crystal'
- else if (material == TFGHelpers.getMaterial('rose_quartz'))
+ else if (material === TFGHelpers.getMaterial('rose_quartz'))
gem = 'create:rose_quartz'
event.custom({
@@ -369,7 +378,7 @@ function registerVintageImprovementsRecipes(event) {
? ChemicalHelper.get(TagPrefix.gem, material, 1)
: ChemicalHelper.get(TagPrefix.ingot, material, 1)
- if (latheInput != null) {
+ if (latheInput !== null) {
event.custom({
type: 'vintageimprovements:turning',
ingredients: [latheInput],
@@ -502,13 +511,14 @@ function registerVintageImprovementsRecipes(event) {
// LV recipes only
let EUt = (r.tickInputs && r.tickInputs.eu) ? r.tickInputs.eu[0].content : null;
- if (!(EUt <= 32)) { return }
+
+ if (!(EUt <= 32)) return
// Skip this one
- if (r.outputs.item[0].content.ingredient.item == "gtceu:nan_certificate") { return }
+ if (r.outputs.item[0].content.ingredient.item === "gtceu:nan_certificate") return
// Skip glass too
- if (r.inputs.item[0].content.ingredient.item == "gtceu:glass_dust") { return }
+ if (r.inputs.item[0].content.ingredient.item === "gtceu:glass_dust") return
// And this
- if (r.inputs.item[0].content.ingredient.item == "gtceu:damascus_steel_ingot") { return }
+ if (r.inputs.item[0].content.ingredient.item === "gtceu:damascus_steel_ingot") return
let input = r.inputs.item[0].content.ingredient;
input.count = r.inputs.item[0].content.count;
diff --git a/kubejs/server_scripts/vintage_improvements/tags.js b/kubejs/server_scripts/vintage_improvements/tags.js
index 74bb29da7..d83ebd999 100644
--- a/kubejs/server_scripts/vintage_improvements/tags.js
+++ b/kubejs/server_scripts/vintage_improvements/tags.js
@@ -43,7 +43,7 @@ function registerVintageImprovementsItemTags(event) {
event.add('vintageimprovements:curving_heads', 'gtceu:ingot_extruder_mold')
event.add('vintageimprovements:curving_heads', 'gtceu:bottle_extruder_mold')
event.add('vintageimprovements:curving_heads', 'gtceu:foil_extruder_mold')
- event.add('vintageimprovements:curving_heads', 'gtceu:credit_casting_mold')
+ event.add('vintageimprovements:curving_heads', 'gtceu:cylinder_casting_mold')
}
diff --git a/kubejs/startup_scripts/ad_astra/constants.js b/kubejs/startup_scripts/ad_astra/constants.js
index 1bd914bec..7c891feb7 100644
--- a/kubejs/startup_scripts/ad_astra/constants.js
+++ b/kubejs/startup_scripts/ad_astra/constants.js
@@ -24,8 +24,6 @@ global.AD_ASTRA_DISABLED_ITEMS =
'ad_astra:fan',
'ad_astra:steel_tank',
'ad_astra:desh_tank',
- 'ad_astra:ostrum_tank',
- 'ad_astra:calorite_tank',
'ad_astra:ice_shard',
'ad_astra:oxygen_bucket',
'ad_astra:hydrogen_bucket',
@@ -44,6 +42,7 @@ global.AD_ASTRA_DISABLED_ITEMS =
'ad_astra:ti_69',
'ad_astra:steel_cable',
'ad_astra:desh_cable',
+ 'ad_astra:glacian_leaves',
// Don't tag prefix these, several systems rely on all ore blocks being gregtech's generated ones
'ad_astra:moon_ice_shard_ore',
@@ -78,23 +77,30 @@ global.AD_ASTRA_DISABLED_ITEMS =
// Disabled until IV planets
'ad_astra:tier_3_rocket',
+ 'ad_astra:ostrum_engine',
+ 'ad_astra:ostrum_tank',
+ 'tfg:rocket_fin_t3',
+ 'tfg:rocket_cone_t3',
+ 'tfg:elite_power_thruster',
+ 'tfg:better_space_suit_fabric',
'ad_astra:netherite_space_helmet',
'ad_astra:netherite_space_suit',
'ad_astra:netherite_space_pants',
'ad_astra:netherite_space_boots',
- 'ad_astra:ostrum_engine',
+
// Disabled until LuV planet
'ad_astra:glacio_globe', // maybe
'ad_astra:tier_4_rocket',
+ 'ad_astra:calorite_engine',
+ 'ad_astra:calorite_tank',
'ad_astra:jet_suit_helmet',
'ad_astra:jet_suit',
'ad_astra:jet_suit_pants',
- 'ad_astra:jet_suit_boots',
- 'ad_astra:calorite_engine'
+ 'ad_astra:jet_suit_boots'
];
global.AD_ASTRA_DISABLED_FLUIDS =
diff --git a/kubejs/startup_scripts/ad_astra/materials.js b/kubejs/startup_scripts/ad_astra/materials.js
index 46bdbcbce..f9282a9fd 100644
--- a/kubejs/startup_scripts/ad_astra/materials.js
+++ b/kubejs/startup_scripts/ad_astra/materials.js
@@ -35,17 +35,21 @@ const registerAdAstraMaterials = (event) => {
GTMaterialFlags.DISABLE_ALLOY_BLAST
)
- // mars?
+ // mars
event.create('ostrum')
- //.components('2x scheelite', '1x hematite', '1x rutile', '4x oxygen')
+ //.components('3x scheelite', '2x hematite', '2x thorium', '4x oxygen')
.color(0xbd7980)
.secondaryColor(0xA66C8D)
.iconSet(GTMaterialIconSet.getByName('tfc_cassiterite'))
- .ore()
+ .dust()
.ingot()
+ .liquid()
+ .blastTemp(2900, 'mid', GTValues.VA[GTValues.HV])
.flags(
GTMaterialFlags.FORCE_GENERATE_BLOCK,
- GTMaterialFlags.GENERATE_PLATE
+ GTMaterialFlags.GENERATE_PLATE,
+ GTMaterialFlags.DISABLE_ALLOY_BLAST
+
)
// venus?
diff --git a/kubejs/startup_scripts/ad_astra/modifications.js b/kubejs/startup_scripts/ad_astra/modifications.js
index e7e184580..fbdf2b383 100644
--- a/kubejs/startup_scripts/ad_astra/modifications.js
+++ b/kubejs/startup_scripts/ad_astra/modifications.js
@@ -12,4 +12,23 @@ function registerAdAstraBlockModifications(event) {
block.lightEmission = 15
})
})
+
+ event.modify('ad_astra:strophar_mushroom', block => {
+ block.lightEmission = 0
+ })
+ event.modify('ad_astra:strophar_stem', block => {
+ block.lightEmission = 0
+ })
+ event.modify('ad_astra:strophar_cap', block => {
+ block.lightEmission = 0
+ })
+ event.modify('ad_astra:aeronos_mushroom', block => {
+ block.lightEmission = 0
+ })
+ event.modify('ad_astra:aeronos_stem', block => {
+ block.lightEmission = 0
+ })
+ event.modify('ad_astra:aeronos_cap', block => {
+ block.lightEmission = 0
+ })
}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/advancedperipherals/constants.js b/kubejs/startup_scripts/advancedperipherals/constants.js
index 13f681b5d..cd152dbd6 100644
--- a/kubejs/startup_scripts/advancedperipherals/constants.js
+++ b/kubejs/startup_scripts/advancedperipherals/constants.js
@@ -6,5 +6,10 @@ global.ADVANCED_PERIPHERALS_DISABLED_ITEMS = [
'advancedperipherals:rs_bridge',
'advancedperipherals:energy_detector',
'advancedperipherals:colony_integrator',
- 'advancedperipherals:computer_tool'
+ 'advancedperipherals:computer_tool',
+
+ // banned for trans-dimensional travel
+ 'advancedperipherals:overpowered_end_automata_core',
+ // banned for offline chunk loading (bad for server performance)
+ 'advancedperipherals:chunk_controller'
];
diff --git a/kubejs/startup_scripts/beneath/constants.js b/kubejs/startup_scripts/beneath/constants.js
index 5172a5919..9cb489194 100644
--- a/kubejs/startup_scripts/beneath/constants.js
+++ b/kubejs/startup_scripts/beneath/constants.js
@@ -48,5 +48,9 @@ global.BENEATH_DISABLED_ITEMS = [
"beneath:wood/boat/warped",
"beneath:wood/leaves/crimson",
+ "beneath:wood/fallen_leaves/crimson",
+ "beneath:wood/sapling/crimson",
"beneath:wood/leaves/warped",
+ "beneath:wood/fallen_leaves/warped",
+ "beneath:wood/sapling/warped"
];
\ No newline at end of file
diff --git a/kubejs/startup_scripts/betterend/blocks.js b/kubejs/startup_scripts/betterend/blocks.js
index 54ee54e02..78fb4fbda 100644
--- a/kubejs/startup_scripts/betterend/blocks.js
+++ b/kubejs/startup_scripts/betterend/blocks.js
@@ -17,37 +17,102 @@ function registerBetterEndBlocks(event) {
.notSolid()
.renderType('cutout')
- event.create('betterend:inflexia', 'tfg:decorative_plant')
- .tagItem('tfg:moon_plants')
- .tagBlock('minecraft:replaceable')
+ // 1 block tall
+ createPlant(event, 'inflexia', 'moon')
+ createPlant(event, 'chorus_grass', 'moon')
+ createPlant(event, 'salteago', 'moon')
+ createPlant(event, 'vaiolush_fern', 'moon')
- event.create('betterend:chorus_grass', 'tfg:decorative_plant')
- .tagItem('tfg:moon_plants')
- .tagBlock('minecraft:replaceable')
-
- event.create('betterend:salteago', 'tfg:decorative_plant')
- .tagItem('tfg:moon_plants')
- .tagBlock('minecraft:replaceable')
-
- event.create('betterend:vaiolush_fern', 'tfg:decorative_plant')
- .tagItem('tfg:moon_plants')
- .tagBlock('minecraft:replaceable')
// Mars
- event.create('betterend:crystal_grass', 'tfg:decorative_plant')
- .tagItem('tfg:mars_plants')
- .tagBlock('minecraft:replaceable')
+ // 1 block tall
+ createPlant(event, 'aeridium', 'mars')
+ .box(2, 0, 2, 14, 14, 14)
+ createPlant(event, 'amber_grass', 'mars')
+ .box(3, 0, 3, 13, 8, 13)
+ createPlant(event, 'bushy_grass', 'mars')
+ .box(3, 0, 3, 13, 12, 13)
+ createPlant(event, 'cave_grass', 'mars')
+ .box(3, 0, 3, 13, 12, 13)
+ createPlant(event, 'clawfern', 'mars')
+ .box(2, 0, 2, 14, 14, 14)
+ createPlant(event, 'creeping_moss', 'mars')
+ .box(2, 0, 2, 14, 20, 14)
+ 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)
+ createPlant(event, 'lamellarium', 'mars')
+ createPlant(event, 'lutebus', 'mars')
+ .box(3, 0, 3, 13, 8, 13)
+ createPlant(event, 'orango', 'mars')
+ .box(3, 0, 3, 13, 12, 13)
+ createPlant(event, 'ruscus', 'mars')
+ createPlant(event, 'small_amaranita_mushroom', 'mars')
+ .box(3, 0, 3, 13, 8, 13)
- event.create('betterend:blooming_cooksonia', 'tfg:decorative_plant')
- .tagItem('tfg:mars_plants')
- .tagBlock('minecraft:replaceable')
+ // 1 block tall waterlogged
+ // charnia (and its colors)
+ // jungle_grass
- event.create('betterend:fracturn', 'tfg:decorative_plant')
- .tagItem('tfg:mars_plants')
- .tagBlock('minecraft:replaceable')
+ // Crops
+ // amber_root
+ // blossom_berry
+ // shadow_berry
+ // chorus mushroom
- event.create('betterend:jungle_grass', 'tfg:decorative_plant')
- .tagItem('tfg:mars_plants')
+ // Mosses / Can go on sides of blocks
+ // bulb_moss
+ // cyan_moss
+ // filalux_wings
+ // jungle_fern
+ // twisted_moss
+
+ //createPlant(event, 'aurant_polypore', 'mars')
+ //createPlant(event, 'purple_polypore', 'mars')
+
+ // Vines
+ // bulb_vine
+ // dense_vine
+ // hydralux (bottom up, waterlogged)
+ // jungle_vine
+ // magnula
+ // rubinea
+
+ // Blocks
+ // cave_bush
+ // cave_pumpkin (also a vine)
+
+ // "Structures"?
+ // blue_vine (blue)
+ // glowing pillar (orange)
+ // large amaranita
+ // end lily
+ // end lotus
+ // lanceleaf
+
+
+ // ??
+
+ createPlant(event, 'crystal_grass', 'unused')
+ .box(3, 0, 3, 13, 12, 13)
+ createPlant(event, 'blooming_cooksonia', 'unused')
+ .box(3, 0, 3, 13, 12, 13)
+ createPlant(event, 'fracturn', 'unused')
+ .box(3, 0, 3, 13, 12, 13)
+ createPlant(event, 'jungle_grass', 'unused')
+ .box(3, 0, 3, 13, 12, 13)
+}
+
+/**
+ * @param {any} event
+ * @param {string} id
+ * @param {string} planet
+ */
+function createPlant(event, id, planet) {
+ return event.create(`betterend:${id}`, 'tfg:decorative_plant')
+ .tagItem(`tfg:${planet}_plants`)
.tagBlock('minecraft:replaceable')
}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/betterend/items.js b/kubejs/startup_scripts/betterend/items.js
new file mode 100644
index 000000000..b38b3464f
--- /dev/null
+++ b/kubejs/startup_scripts/betterend/items.js
@@ -0,0 +1,34 @@
+// priority: 0
+"use strict";
+
+/**
+ *
+ * @param {Registry.Item} event
+ */
+function registerBetterEndItems(event) {
+ event.create('betterend:bolux_mushroom_cooked')
+ .food(food => {
+ food.hunger(2)
+ food.saturation(2.5)
+ })
+ event.create('betterend:cave_pumpkin_chunks')
+ .food(food => {
+ food.hunger(4)
+ food.saturation(1)
+ })
+ event.create('betterend:cave_pumpkin_pie')
+ .food(food => {
+ food.hunger(4)
+ food.saturation(3)
+ })
+ event.create('betterend:chorus_mushroom_cooked')
+ .food(food => {
+ food.hunger(2)
+ food.saturation(2.5)
+ })
+ event.create('betterend:shadow_berry_cooked')
+ .food(food => {
+ food.hunger(5)
+ food.saturation(2)
+ })
+}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/firmalife/modifications.js b/kubejs/startup_scripts/firmalife/modifications.js
new file mode 100644
index 000000000..8a9924201
--- /dev/null
+++ b/kubejs/startup_scripts/firmalife/modifications.js
@@ -0,0 +1,12 @@
+// priority: 0
+"use strict";
+
+function registerFirmalifeItemModifications(event) {
+
+ event.modify('firmalife:spoon', item => {
+ item.setCraftingRemainder('firmalife:spoon')
+ })
+ event.modify('firmalife:mixing_bowl', item => {
+ item.setCraftingRemainder('firmalife:mixing_bowl')
+ })
+}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/gtceu/blocks.js b/kubejs/startup_scripts/gtceu/blocks.js
deleted file mode 100644
index c89fe12c0..000000000
--- a/kubejs/startup_scripts/gtceu/blocks.js
+++ /dev/null
@@ -1,6 +0,0 @@
-// priority: 0
-"use strict";
-
-const registerGTCEuBlocks = (event) => {
-
-}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js
index f0e894db6..3284fb561 100644
--- a/kubejs/startup_scripts/gtceu/constants.js
+++ b/kubejs/startup_scripts/gtceu/constants.js
@@ -134,15 +134,22 @@ global.GTCEU_DISABLED_ITEMS = [
'gtceu:iv_damascus_steel_drill',
'gtceu:lv_damascus_steel_chainsaw',
'gtceu:damascus_steel_buzzsaw',
- 'gtceu:lv_damascus_steel_wirecutter',
- 'gtceu:hv_damascus_steel_wirecutter',
- 'gtceu:iv_damascus_steel_wirecutter',
- 'gtceu:lv_damascus_steel_wrench',
- 'gtceu:hv_damascus_steel_wrench',
- 'gtceu:iv_damascus_steel_wrench',
- 'gtceu:lv_damascus_steel_screwdriver',
'gtceu:damascus_steel_bucket',
+ //armor
+ 'gtceu:bronze_helmet',
+ 'gtceu:bronze_chestplate',
+ 'gtceu:bronze_leggings',
+ 'gtceu:bronze_boots',
+ 'gtceu:steel_helmet',
+ 'gtceu:steel_chestplate',
+ 'gtceu:steel_leggings',
+ 'gtceu:steel_boots',
+ 'gtceu:titanium_helmet',
+ 'gtceu:titanium_chestplate',
+ 'gtceu:titanium_leggings',
+ 'gtceu:titanium_boots',
+
// Huh
'gtceu:wax_dust',
'gtceu:small_wax_dust',
@@ -187,7 +194,14 @@ global.GTCEU_HIDED_ITEMS = [
'gtceu:netherrack_dust',
'gtceu:small_netherrack_dust',
'gtceu:tiny_netherrack_dust',
-
+ 'gtceu:lv_damascus_steel_wirecutter',
+ 'gtceu:hv_damascus_steel_wirecutter',
+ 'gtceu:iv_damascus_steel_wirecutter',
+ 'gtceu:lv_damascus_steel_wrench',
+ 'gtceu:hv_damascus_steel_wrench',
+ 'gtceu:iv_damascus_steel_wrench',
+ 'gtceu:lv_damascus_steel_screwdriver',
+
'gtceu:sus_record'
];
//#endregion
@@ -203,8 +217,7 @@ global.GTCEU_ARMORS = [
'gtceu:nanomuscle_leggings',
'gtceu:nanomuscle_boots',
'gtceu:nanomuscle_helmet',
- // typo in gtceu
- 'gtceu:avanced_nanomuscle_chestplate',
+ 'gtceu:advanced_nanomuscle_chestplate',
'gtceu:quarktech_chestplate',
'gtceu:quarktech_leggings',
'gtceu:quarktech_boots',
diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gtceu/items.js
index 473ace5ee..b595c4f20 100644
--- a/kubejs/startup_scripts/gtceu/items.js
+++ b/kubejs/startup_scripts/gtceu/items.js
@@ -35,4 +35,5 @@ const registerGTCEuItems = (event) => {
event.create('tfg:chipboard_composite')
.translationKey('item.chipboard_composite')
+
}
diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js
index 659116325..7e4e8a6b8 100644
--- a/kubejs/startup_scripts/gtceu/machines.js
+++ b/kubejs/startup_scripts/gtceu/machines.js
@@ -1,13 +1,7 @@
// priority: 0
-"use strict";
const registerGTCEuMachines = (event) => {
- GTMachineUtils.registerCrate(GTMaterials.BismuthBronze, 54, "Bismuth Bronze Crate");
- GTMachineUtils.registerCrate(GTMaterials.BlackBronze, 54, "Black Bronze Crate");
- GTMachineUtils.registerDrum(GTMaterials.BismuthBronze, 32000, "Bismuth Bronze Drum");
- GTMachineUtils.registerDrum(GTMaterials.BlackBronze, 32000, "Black Bronze Drum");
-
const $SteamMulti = Java.loadClass('com.gregtechceu.gtceu.common.machine.multiblock.steam.SteamParallelMultiblockMachine');
const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags")
@@ -81,10 +75,9 @@ const registerGTCEuMachines = (event) => {
.where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.MV], Direction.NORTH)
.build()
)
- .workableCasingRenderer(
+ .workableCasingModel(
"gtceu:block/casings/solid/machine_casing_inert_ptfe",
- "gtceu:block/machines/gas_collector", false
- )
+ "gtceu:block/machines/gas_collector")
//#endregion
@@ -171,10 +164,9 @@ const registerGTCEuMachines = (event) => {
.where('e', GTMachines.ENERGY_INPUT_HATCH[GTValues.HV], Direction.NORTH)
.build()
)
- .workableCasingRenderer(
+ .workableCasingModel(
"gtceu:block/casings/solid/machine_casing_stable_titanium",
- "gtceu:block/machines/gas_collector", false
- )
+ "gtceu:block/machines/gas_collector")
//#endregion
@@ -194,7 +186,7 @@ const registerGTCEuMachines = (event) => {
.where('C', Predicates.blockTag($Tags.block("tfc:bloomery_insulation")))
.where('F', Predicates.blocks(GTBlocks.FIREBOX_BRONZE.get())
.or(Predicates.abilities(PartAbility.STEAM).setExactLimit(1)))
- .where('E', Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setExactLimit(1)
+ .where('E', Predicates.abilities(PartAbility.STEAM_IMPORT_ITEMS).setMaxGlobalLimited(2)
.or(Predicates.abilities(PartAbility.STEAM_EXPORT_ITEMS).setExactLimit(1))
.or(Predicates.blockTag($Tags.block("tfc:bloomery_insulation"))))
.where('#', Predicates.air())
@@ -213,47 +205,356 @@ const registerGTCEuMachines = (event) => {
.where('I', GTMachines.STEAM_IMPORT_BUS, Direction.SOUTH)
.build()
)
- .workableCasingRenderer(
+ .workableCasingModel(
"gtceu:block/casings/solid/machine_casing_bronze_plated_bricks",
- "tfg:block/steam_bloomery", false
- )
+ "tfg:block/steam_bloomery")
//#endregion
- //#region Large Solar Pannel - From Sky of Grind for the code thanks a lot
-
- event.create('large_solar_panel', 'multiblock')
+ //#region Large Solar Panels
+ //Tier 1
+ event.create('large_solar_panel', 'multiblock')
.rotationState(RotationState.NON_Y_AXIS)
.generator(true)
.recipeType('large_solar_panel')
.noRecipeModifier()
.appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_iron_desh'))
.pattern(definition => FactoryBlockPattern.start()
- .aisle('P P', 'P P', 'P P', 'PPPPPPP', 'PKKKKKP')
- .aisle(' ', ' ', ' ', 'P P', 'KIIIIIK')
- .aisle(' PLP ', ' PLP ', ' RRR ', 'P RRR P', 'KIIIIIK')
- .aisle(' LPL ', ' L#L ', ' RGR ', 'P RGR P', 'KIIGIIK')
- .aisle(' PXP ', ' PLP ', ' RRR ', 'P RRR P', 'KIIIIIK')
- .aisle(' ', ' ', ' ', 'P P', 'KIIIIIK')
- .aisle('P P', 'P P', 'P P', 'PPPPPPP', 'PKKKKKP')
- .where('X', Predicates.controller(Predicates.blocks(definition.get())))
- .where('R', Predicates.blocks('gtceu:cleanroom_glass'))
- .where('I', Predicates.blocks('tfg:casings/machine_casing_red_solar_panel'))
- .where('G', Predicates.blocks('ad_astra:glowing_iron_pillar'))
- .where('P', Predicates.blocks('tfg:casings/machine_casing_iron_desh'))
- .where('K', Predicates.blocks('ad_astra:iron_plateblock'))
- .where('L', Predicates.blocks('tfg:casings/machine_casing_iron_desh')
- .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setMaxGlobalLimited(2).setPreviewCount(1))
+ .aisle(" S S ", " S S ", " CCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" CCC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S CC CC S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle("S S S S", "S C C S", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" C FFF C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " B B ", " B B ", " EEE ", " GGG ", " GGG ", " GGG ")
+ .aisle(" C FIF C ", " C I C ", "C I C", " I ", " I ", " I ", " I ", " I ", " I ", " I ", " EIE ", " GIG ", " GKG ", " GGG ")
+ .aisle(" C FHF C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " B B ", " B B ", " EEE ", " GGG ", " GGG ", " GGG ")
+ .aisle("S S S S", "S C C S", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S CC CC S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" CCC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CC CC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " CCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .where("H", Predicates.controller(Predicates.blocks(definition.get())))
+ .where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.StainlessSteel)))
+ .where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.Steel)))
+ .where("C", Predicates.blocks("tfg:casings/machine_casing_blue_solar_panel"))
+ .where("E", Predicates.blocks("ad_astra:iron_plateblock"))
+ .where("F", Predicates.blocks("tfg:casings/machine_casing_iron_desh")
+ .or(Predicates.autoAbilities(definition.getRecipeTypes()))
.or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
- .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1))
- .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setMaxGlobalLimited(2).setPreviewCount(1))
- .or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setMaxGlobalLimited(1))
- .or(Predicates.abilities(PartAbility.OUTPUT_ENERGY).setExactLimit(1)))
+ )
+ .where("G", Predicates.blocks(GTBlocks.CASING_TEMPERED_GLASS.get()))
+ .where("I", Predicates.blocks("tfg:casings/machine_casing_iron_desh"))
+ .where("K", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.Silver)))
+ .where(" ", Predicates.any())
+ .build()
+ )
+ .workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
+
+ //Tier 2
+ event.create('large_solar_panel_tier2', 'multiblock')
+ .rotationState(RotationState.NON_Y_AXIS)
+ .generator(true)
+ .recipeType('large_solar_panel_tier2')
+ .noRecipeModifier()
+ .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_iron_desh'))
+ .pattern(definition => FactoryBlockPattern.start()
+ .aisle(" A A ", " A A ", " S S ", " S S ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " S S ", " S S ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " S S ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " S S S S ", " S CC CC S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " CCCCC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " S CC CC S ", " S CC CC S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CC CC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S CCC S A ", " A S CC CC S A ", " S S CC CC S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S CC CC S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle("A S C C S A", "A S S A", "S S S S", "S C C S", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S S S ", " S C C S ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" C III C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
+ .aisle(" C IFI C ", " C F C ", " C F C ", " C F C ", "C F C", " F ", " F ", " F ", " F ", " F ", " DFD ", " EFE ", " EGE ", " EEE ")
+ .aisle(" C IHI C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
+ .aisle(" S S S S ", " S C C S ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle("A S C C S A", "A S S A", "S S S S", "S C C S", "C C", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S CC CC S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S CCC S A ", " A S CC CC S A ", " S S CC CC S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CC CC ", " C C ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " S CC CC S ", " S CC CC S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " CCCCC ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " S S S S ", " S CC CC S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " S S ", " S S ", " CCCCCCC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " S S ", " S S ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " S S ", " S S ", " CCCCCCC ", " ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .where("A", Predicates.blocks('gtceu:light_concrete')
+ .or(Predicates.blocks('gtceu:polished_light_concrete'))
+ .or(Predicates.blocks('gtceu:light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:cracked_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:mossy_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:chiseled_light_concrete'))
+ .or(Predicates.blocks('gtceu:light_concrete_tile'))
+ .or(Predicates.blocks('gtceu:light_concrete_small_tile'))
+ .or(Predicates.blocks('gtceu:light_concrete_windmill_a'))
+ .or(Predicates.blocks('gtceu:light_concrete_windmill_b'))
+ .or(Predicates.blocks('gtceu:small_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:square_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:dark_concrete'))
+ .or(Predicates.blocks('gtceu:polished_dark_concrete'))
+ .or(Predicates.blocks('gtceu:dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:chiseled_dark_concrete'))
+ .or(Predicates.blocks('gtceu:dark_concrete_tile'))
+ .or(Predicates.blocks('gtceu:dark_concrete_small_tile'))
+ .or(Predicates.blocks('gtceu:dark_concrete_windmill_a'))
+ .or(Predicates.blocks('gtceu:dark_concrete_windmill_b'))
+ .or(Predicates.blocks('gtceu:small_dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:square_dark_concrete_bricks'))
+ )
+ .where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.TungstenSteel)))
+ .where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.Aluminium)))
+ .where("C", Predicates.blocks("tfg:casings/machine_casing_green_solar_panel"))
+ .where("D", Predicates.blocks("ad_astra:iron_plateblock"))
+ .where("E", Predicates.blocks(GTBlocks.CASING_TEMPERED_GLASS.get()))
+ .where("F", Predicates.blocks("tfg:casings/machine_casing_iron_desh"))
+ .where("G", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.Silver)))
+ .where("H", Predicates.controller(Predicates.blocks(definition.get())))
+ .where("I", Predicates.blocks("tfg:casings/machine_casing_iron_desh")
+ .or(Predicates.autoAbilities(definition.getRecipeTypes()))
+ .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
+ )
+ .where(" ", Predicates.any())
+ .build()
+ )
+ .workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
+
+ //Tier 3
+ event.create('large_solar_panel_tier3', 'multiblock')
+ .rotationState(RotationState.NON_Y_AXIS)
+ .generator(true)
+ .recipeType('large_solar_panel_tier3')
+ .noRecipeModifier()
+ .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_iron_desh'))
+ .pattern(definition => FactoryBlockPattern.start()
+ .aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A A A ", " A A A A ", " A S S A ", " S S S S ", " S S S S ", " S CCC CCC S ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A S S A A ", " A A S S A A ", " A S S S S A ", " S S S S S S ", " S S CCCCCCC S S ", " S CCC CCC S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " S S S S ", " S S S S ", " S CCC CCC S ", " C C ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " A S S A ", " S CCCCCCC S ", " S CC CC S ", " S CC CC S ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S S S A ", " A S S S S A ", " S S S S S S ", " S S CC CC S S ", " S C C S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" AA S S AA ", " AA S S AA ", " AS CCCCC SA ", " SS C C SS ", " SS SS ", " SC CS ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S S S ", " S S S S ", " S CC CC S ", " S CC CC S ", " CC CC ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A CC CC A ", " A C C A ", " S C C S ", " S C C S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S CCC S S A ", " A S S CC CC S S A ", " S S S CC CC S S S ", " S S C C S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle("A S S CC CC S S A", "A S C C S A", "A C C A", "S S", "S S", "S S", "C C", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S C C S S A ", " A S S S S A ", " S S S S S S ", " S S C C S S ", " S C C S ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S S S ", " S C C S ", " C C ", " C C ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" C III C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
+ .aisle(" C IFI C ", " C F C ", " C F C ", " C F C ", " C F C ", " C F C ", "C F C", " F ", " F ", " F ", " DFD ", " EFE ", " EGE ", " EEE ")
+ .aisle(" C IHI C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", " C B B C ", "C B B C", " B B ", " B B ", " B B ", " DDD ", " EEE ", " EEE ", " EEE ")
+ .aisle(" S S S S ", " S C C S ", " C C ", " C C ", " C C ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S C C S S A ", " A S S S S A ", " S S S S S S ", " S S C C S S ", " S C C S ", " C C ", "C C", " ", " ", " ", " ", " ", " ", " ")
+ .aisle("A S S CC CC S S A", "A S C C S A", "A C C A", "S S", "S S", "S S", "C C", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S CCC S S A ", " A S S CC CC S S A ", " S S S CC CC S S S ", " S S C C S S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A CC CC A ", " A C C A ", " S C C S ", " S C C S ", " S C C S ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S ", " CCCCC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" S S S S ", " S S S S ", " S CC CC S ", " S CC CC S ", " CC CC ", " C C ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" AA S S AA ", " AA S S AA ", " AS CCCCC SA ", " SS C C SS ", " SS SS ", " SC CS ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S S S A ", " A S S S S A ", " S S S S S S ", " S S CC CC S S ", " S C C S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " A S S A ", " S CCCCCCC S ", " S CC CC S ", " S CC CC S ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A S S A ", " A S S A ", " S S S S ", " S S S S ", " S CCC CCC S ", " C C ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A S S A A ", " A A S S A A ", " A S S S S A ", " S S S S S S ", " S S CCCCCCC S S ", " S CCC CCC S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A A A ", " A A A A ", " A S S A ", " S S S S ", " S S S S ", " S CCC CCC S ", " C C ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCC ", " CCC CCC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CC CC ", " ", " ", " ", " ", " ", " ", " ")
+ .aisle(" A A ", " A A ", " A A ", " S S ", " S S ", " S S ", " CCCCCCCCC ", " ", " ", " ", " ", " ", " ", " ")
+ .where("A", Predicates.blocks('gtceu:light_concrete')
+ .or(Predicates.blocks('gtceu:polished_light_concrete'))
+ .or(Predicates.blocks('gtceu:light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:cracked_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:mossy_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:chiseled_light_concrete'))
+ .or(Predicates.blocks('gtceu:light_concrete_tile'))
+ .or(Predicates.blocks('gtceu:light_concrete_small_tile'))
+ .or(Predicates.blocks('gtceu:light_concrete_windmill_a'))
+ .or(Predicates.blocks('gtceu:light_concrete_windmill_b'))
+ .or(Predicates.blocks('gtceu:small_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:square_light_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:dark_concrete'))
+ .or(Predicates.blocks('gtceu:polished_dark_concrete'))
+ .or(Predicates.blocks('gtceu:dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:cracked_dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:mossy_dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:chiseled_dark_concrete'))
+ .or(Predicates.blocks('gtceu:dark_concrete_tile'))
+ .or(Predicates.blocks('gtceu:dark_concrete_small_tile'))
+ .or(Predicates.blocks('gtceu:dark_concrete_windmill_a'))
+ .or(Predicates.blocks('gtceu:dark_concrete_windmill_b'))
+ .or(Predicates.blocks('gtceu:small_dark_concrete_bricks'))
+ .or(Predicates.blocks('gtceu:square_dark_concrete_bricks'))
+ )
+ .where("B", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.RhodiumPlatedPalladium)))
+ .where("S", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.frameGt, GTMaterials.StainlessSteel)))
+ .where("C", Predicates.blocks("tfg:casings/machine_casing_red_solar_panel"))
+ .where("D", Predicates.blocks("ad_astra:iron_plateblock"))
+ .where("E", Predicates.blocks(GTBlocks.CASING_TEMPERED_GLASS.get()))
+ .where("F", Predicates.blocks("tfg:casings/machine_casing_iron_desh"))
+ .where("G", Predicates.blocks(ChemicalHelper.getBlock(TagPrefix.block, GTMaterials.Silver)))
+ .where("H", Predicates.controller(Predicates.blocks(definition.get())))
+ .where("I", Predicates.blocks("tfg:casings/machine_casing_iron_desh")
+ .or(Predicates.autoAbilities(definition.getRecipeTypes()))
+ .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
+ )
+ .where(" ", Predicates.any())
+ .build()
+ )
+ .workableCasingModel('tfg:block/casings/machine_casing_iron_desh', 'gtceu:block/multiblock/hpca')
+
+
+ //#endregion
+
+ //#region Nuclear Multiblocks
+
+ // Nuclear Fuel Factory
+
+ event.create('nuclear_fuel_factory', 'multiblock')
+ .rotationState(RotationState.NON_Y_AXIS)
+ .recipeType('nuclear_fuel_factory')
+ .recipeModifiers([GTRecipeModifiers.PARALLEL_HATCH, GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK)])
+ .appearanceBlock(() => Block.getBlock('gtceu:atomic_casing'))
+ .pattern(definition => FactoryBlockPattern.start()
+ .aisle('RLLLR', 'I I', 'I I', 'I I', 'RLLLR')
+ .aisle('LRRRL', ' KPK ', ' KPK ', ' KPK ', 'LRRRL')
+ .aisle('LRSRL', ' PCP ', ' PCP ', ' PCP ', 'LRSRL')
+ .aisle('LRRRL', ' KPK ', ' KPK ', ' KPK ', 'LRRRL')
+ .aisle('RLXLR', 'I I', 'I I', 'I I', 'RLLLR')
+ .where('X', Predicates.controller(Predicates.blocks(definition.get())))
+ .where('R', Predicates.blocks('gtceu:atomic_casing'))
+ .where('I', Predicates.blocks('gtceu:stainless_steel_frame'))
+ .where('G', Predicates.blocks('gtceu:high_temperature_smelting_casing'))
+ .where('P', Predicates.blocks('gtceu:laminated_glass'))
+ .where('S', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get()))
+ .where('K', Predicates.blocks('gtceu:high_temperature_smelting_casing'))
+ .where('C', Predicates.blocks(GTBlocks.COIL_RTMALLOY.get()))
+ .where('L', Predicates.blocks('gtceu:atomic_casing')
+ .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1))
+ .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))
+ .or(Predicates.abilities(PartAbility.PARALLEL_HATCH).setExactLimit(1)))
.where('#', Predicates.air())
.where(' ', Predicates.any())
.build()
)
- .workableCasingRenderer(
- 'tfg:block/casings/machine_casing_iron_desh',
- 'gtceu:block/multiblock/hpca', true)
+ .workableCasingModel(
+ 'gtceu:block/casings/gcym/atomic_casing',
+ 'gtceu:block/machines/fermenter')
-}
+ // Nuclear Heat Exchanger
+
+ event.create('heat_exchanger', 'multiblock')
+ .rotationState(RotationState.NON_Y_AXIS)
+ .recipeType('heat_exchanger')
+ .recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK])
+ .appearanceBlock(() => Block.getBlock('gtceu:high_temperature_smelting_casing'))
+ .pattern(definition => FactoryBlockPattern.start()
+ .aisle(' ','BBBBBBB','BCCCCCB','BBBBBBB',' ')
+ .aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA')
+ .aisle('AFFFFFA','B#####B','LEEEEEL','B#####B','AFFFFFA')
+ .aisle('AAAAAAA','A#####A','BDDDDDB','A#####A','AAAAAAA')
+ .aisle(' ','BBBXBBB','BCCCCCB','BBBMBBB',' ')
+ .where('X', Predicates.controller(Predicates.blocks(definition.get())))
+ .where('A', Predicates.blocks('gtceu:atomic_casing'))
+ .where('B', Predicates.blocks('gtceu:high_temperature_smelting_casing')
+ .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)))
+ .where('C', Predicates.blocks('gtceu:laminated_glass'))
+ .where('D', Predicates.blocks(GTBlocks.FIREBOX_TITANIUM.get()))
+ .where('E', Predicates.blocks(GTBlocks.CASING_TITANIUM_PIPE.get()))
+ .where('F', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get()))
+ .where('L', Predicates.blocks('gtceu:high_temperature_smelting_casing')
+ .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS_4X).setExactLimit(1))
+ .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS_4X).setExactLimit(1)))
+ .where('M', Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)
+ .or(Predicates.blocks('gtceu:high_temperature_smelting_casing')))
+ .where('#', Predicates.air())
+ .where(' ', Predicates.any())
+ .build()
+ )
+ .workableCasingModel(
+ "gtceu:block/casings/gcym/high_temperature_smelting_casing",
+ "gtceu:block/machines/fluid_heater")
+
+ // Nuclear Fission Reactor
+
+ event.create('fission_reactor', 'multiblock')
+ .rotationState(RotationState.NON_Y_AXIS)
+ .recipeType('fission_reactor')
+ .recipeModifiers([GTRecipeModifiers.OC_PERFECT_SUBTICK])
+ .appearanceBlock(() => Block.getBlock('gtceu:atomic_casing'))
+ .pattern(definition => FactoryBlockPattern.start()
+ .aisle('LLLLL','ABCBA','ABCBA','ABCBA','ABCBA','ABCBA','LLLLL')
+ .aisle('LAAAL','BE#EB','BE#EB','BE#EB','BE#EB','BE#EB','LAAAL')
+ .aisle('LAAAL','C#D#C','C#D#C','C#D#C','C#D#C','C#D#C','LAAAL')
+ .aisle('LAAAL','BE#EB','BE#EB','BE#EB','BE#EB','BE#EB','LAAAL')
+ .aisle('LLXLL','ABCBA','ABCBA','ABCBA','ABCBA','ABCBA','LLLLL')
+ .where('X', Predicates.controller(Predicates.blocks(definition.get())))
+ .where('A', Predicates.blocks('gtceu:high_temperature_smelting_casing'))
+ .where('B', Predicates.blocks('gtceu:atomic_casing'))
+ .where('C', Predicates.blocks('gtceu:laminated_glass'))
+ .where('D', Predicates.blocks(GTBlocks.FIREBOX_TITANIUM.get()))
+ .where('E', Predicates.blocks('gtceu:titanium_frame'))
+ .where('F', Predicates.blocks(GTBlocks.CASING_ENGINE_INTAKE.get()))
+ .where('L', Predicates.blocks('gtceu:atomic_casing').setMinGlobalLimited(10)
+ .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.IMPORT_ITEMS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1))
+ .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)))
+ .where('#', Predicates.air())
+ .where(' ', Predicates.any())
+ .build()
+ )
+ .workableCasingModel(
+ "gtceu:block/casings/gcym/atomic_casing",
+ "gtceu:block/machines/electromagnetic_separator")
+
+ //#endregion
+
+ //#region Evaporation Tower
+
+ event.create('evaporation_tower', 'multiblock')
+ .rotationState(RotationState.NON_Y_AXIS)
+ .recipeType('evaporation_tower')
+ .noRecipeModifier()
+ .appearanceBlock(() => Block.getBlock('tfg:casings/machine_casing_stainless_evaporation'))
+ .pattern(definition => FactoryBlockPattern.start()
+ .aisle('ZBZ','CCC','CCC','CCC',' A ')
+ .aisle('BAB','C#C','C#C','C#C','AAA')
+ .aisle('ZXZ','CCC','CCC','CCC',' A ')
+ .where('X', Predicates.controller(Predicates.blocks(definition.get())))
+ .where('A', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation'))
+ .where('B', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation')
+ .or(Predicates.abilities(PartAbility.IMPORT_FLUIDS).setMaxGlobalLimited(1).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.EXPORT_ITEMS).setMaxGlobalLimited(1).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.INPUT_ENERGY).setExactLimit(1)))
+ .where('C', Predicates.blocks('tfg:casings/machine_casing_stainless_evaporation')
+ .or(Predicates.abilities(PartAbility.EXPORT_FLUIDS).setPreviewCount(1))
+ .or(Predicates.abilities(PartAbility.MAINTENANCE).setExactLimit(1)))
+ .where('Z', Predicates.blocks('gtceu:aluminium_frame'))
+ .where('#', Predicates.air())
+ .where(' ', Predicates.any())
+ .build()
+ )
+ .workableCasingModel(
+ 'gtceu:block/casings/solid/machine_casing_stainless_evaporation',
+ 'gtceu:block/multiblock/distillation_tower')
+
+}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/gtceu/materials.js b/kubejs/startup_scripts/gtceu/materials.js
index d7a23d192..1f676ed01 100644
--- a/kubejs/startup_scripts/gtceu/materials.js
+++ b/kubejs/startup_scripts/gtceu/materials.js
@@ -46,7 +46,7 @@ const registerGTCEuMaterialModification = (event) => {
GENERATE_FINE_WIRE,
} = $MATERIAL_FLAGS
- var metalTooling = [
+ const metalTooling = [
GTToolType.AXE,
GTToolType.PICKAXE,
GTToolType.HARD_HAMMER,
@@ -134,6 +134,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.RedAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(570, 650, 740, 2));
GTMaterials.TinAlloy.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(1000, 1100, 1250, 3));
GTMaterials.Lead.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(170, 250, 330, 2));
+ GTMaterials.Invar.setProperty(TFGPropertyKey.TFC_PROPERTY, new $TFC_PROPERTY(896, 1195, 1494, 3));
GTMaterials.Gold.addFlags(GENERATE_BELL);
@@ -185,6 +186,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.RedAlloy.addFlags(GENERATE_DOUBLE_INGOTS, GENERATE_SMALL_GEAR);
GTMaterials.TinAlloy.addFlags(GENERATE_DOUBLE_INGOTS);
GTMaterials.Lead.addFlags(GENERATE_DOUBLE_INGOTS);
+ GTMaterials.Invar.addFlags(GENERATE_DOUBLE_INGOTS, HAS_TFC_TOOL);
//
// /* Superconductors */
GTMaterials.ManganesePhosphide.addFlags(GENERATE_FINE_WIRE);
@@ -211,6 +213,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Copper.addFlags(GENERATE_FRAME);
GTMaterials.BlackBronze.addFlags(GENERATE_FRAME);
GTMaterials.BismuthBronze.addFlags(GENERATE_FRAME);
+ GTMaterials.RhodiumPlatedPalladium.addFlags(GENERATE_FRAME);
GTMaterials.Wood.addFlags(GENERATE_SMALL_GEAR);
GTMaterials.Brass.addFlags(GENERATE_SMALL_GEAR, GENERATE_RING);
@@ -229,6 +232,8 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Cupronickel.addFlags(GENERATE_BOLT_SCREW, GENERATE_RING);
+ GTMaterials.Ultimet.addFlags(GENERATE_ROTOR)
+
GTMaterials.Invar.addFlags(GENERATE_RING);
GTMaterials.Magnalium.addFlags(GENERATE_RING);
GTMaterials.TinAlloy.addFlags(GENERATE_RING);
@@ -260,9 +265,9 @@ const registerGTCEuMaterialModification = (event) => {
// Hide netherite too
GTMaterials.Netherite.getProperty(PropertyKey.TOOL).removeTypes(metalTooling);
- for (var material of GTCEuAPI.materialManager.getRegisteredMaterials()) {
- var toolProperty = material.getProperty(PropertyKey.TOOL);
- if (toolProperty == null)
+ for (let material of GTCEuAPI.materialManager.getRegisteredMaterials()) {
+ let toolProperty = material.getProperty(PropertyKey.TOOL);
+ if (toolProperty === null)
continue;
toolProperty.setDurability(toolProperty.getDurability() * 6);
@@ -272,6 +277,8 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Bismuth.setProperty(PropertyKey.ITEM_PIPE, new $ITEM_PIPE_PROPERTY(16384, 0.125));
// Bis bronze fluid pipe - same stats as bronze
GTMaterials.BismuthBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false));
+ GTMaterials.BlackBronze.getProperties().removeProperty(PropertyKey.ITEM_PIPE);
+ GTMaterials.BlackBronze.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(1696, 20, true, false, false, false));
// Red steel fluid pipe - same flow rate as aluminium, bad heat tolerance (same as PE) but can do cryo
GTMaterials.RedSteel.setProperty(PropertyKey.FLUID_PIPE, new $FLUID_PIPE_PROPERTY(370, 75, true, false, true, false));
// Blue steel fluid pipe - same flow rate as aluminium, same temp tolerance as tungsten
@@ -282,6 +289,7 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Cobaltite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.ARSENICOSIS, 1, false));
GTMaterials.Galena.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.INHALATION, GTMedicalConditions.WEAK_POISON, 1, false));
GTMaterials.Chromite.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.SKIN_CONTACT, GTMedicalConditions.IRRITANT, 1, false));
+ GTMaterials.Thorium.setProperty(PropertyKey.HAZARD, new $HAZARD_PROPERTY($HAZARD_PROPERTY.HazardTrigger.ANY, GTMedicalConditions.CARCINOGEN, 1, true));
// Make these the lowest tier of EBF instead
GTMaterials.BlackSteel.getProperty(PropertyKey.BLAST).setBlastTemperature(1000)
@@ -291,7 +299,11 @@ const registerGTCEuMaterialModification = (event) => {
// Change byproducts so you can't get certus from normal quartzite
GTMaterials.Quartzite.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.NetherQuartz, GTMaterials.Barite, GTMaterials.NetherQuartz);
GTMaterials.CertusQuartz.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.CertusQuartz, GTMaterials.Quartzite, GTMaterials.CertusQuartz);
-
+
+ // Change Beryllium to add Chemical Bath recipe and Thorium byproduct
+ GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setOreByProducts(GTMaterials.Emerald, GTMaterials.Emerald, GTMaterials.Thorium, GTMaterials.Thorium);
+ GTMaterials.Beryllium.getProperty(PropertyKey.ORE).setWashedIn(GTMaterials.SodiumPersulfate);
+
// Color Adjustments
GTMaterials.BismuthBronze.setMaterialARGB(0x5A966E)
GTMaterials.BismuthBronze.setMaterialSecondaryARGB(0x203E2A)
@@ -339,10 +351,9 @@ const registerGTCEuMaterialModification = (event) => {
GTMaterials.Thorium.setMaterialSecondaryARGB(0xcd8dbc)
- global.MINECRAFT_DYE_NAMES.forEach(colorName =>
- {
- var material = GTCEuAPI.materialManager.getMaterial(`gtceu:${colorName}_dye`);
- var property = material.getProperty(PropertyKey.FLUID);
+ global.MINECRAFT_DYE_NAMES.forEach(colorName => {
+ let material = GTCEuAPI.materialManager.getMaterial(`gtceu:${colorName}_dye`);
+ let property = material.getProperty(PropertyKey.FLUID);
property.getStorage().store($FluidStorageKeys.LIQUID, () => Fluid.of(`tfc:${colorName}_dye`).fluid, null);
});
@@ -354,5 +365,6 @@ const registerGTCEuMaterialModification = (event) => {
GTCEuAPI.materialManager.getMaterial('tfg:kaolinite').setFormula("Al2Si2O5(OH)4", true)
GTCEuAPI.materialManager.getMaterial('tfg:vitrified_pearl').setFormula("(Al2Si2O5(OH)4)(BeK4N5)", true)
+ GTCEuAPI.materialManager.getMaterial('tfg:tmos').setFormula("Si(OCH3)4", true)
}
diff --git a/kubejs/startup_scripts/gtceu/modifications.js b/kubejs/startup_scripts/gtceu/modifications.js
index 6c4cc3e75..5d11e070c 100644
--- a/kubejs/startup_scripts/gtceu/modifications.js
+++ b/kubejs/startup_scripts/gtceu/modifications.js
@@ -18,7 +18,7 @@ function registerGTCEuItemModifications(event) {
item.armorProtection = 4
item.armorKnockbackResistance = 0.2
})
- event.modify('gtceu:avanced_nanomuscle_chestplate', item => {
+ event.modify('gtceu:advanced_nanomuscle_chestplate', item => {
item.armorProtection = 10
item.armorKnockbackResistance = 0.2
})
diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gtceu/recipe_types.js
index acfa8362a..c34118ad5 100644
--- a/kubejs/startup_scripts/gtceu/recipe_types.js
+++ b/kubejs/startup_scripts/gtceu/recipe_types.js
@@ -1,12 +1,8 @@
-// priority: 0
-"use strict";
-
const registerGTCEuRecipeTypes = (event) => {
event.create('nether_dome')
.category('nether_dome')
.setEUIO('in')
.setMaxIOSize(2, 1, 1, 1)
- .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.FIRE)
@@ -14,7 +10,6 @@ const registerGTCEuRecipeTypes = (event) => {
.category('end_dome')
.setEUIO('in')
.setMaxIOSize(2, 1, 1, 1)
- .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_GAS_COLLECTOR, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.FIRE)
@@ -22,15 +17,59 @@ const registerGTCEuRecipeTypes = (event) => {
.category('steam_bloomery')
.setEUIO('in')
.setMaxIOSize(2, 1, 0, 0)
- .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
.setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
.setSound(GTSoundEntries.FIRE)
event.create('large_solar_panel')
- .category('generator')
- .setEUIO('out')
- .setMaxIOSize(2, 0, 2, 1)
- .setSlotOverlay(false, false, GuiTextures.SOLIDIFIER_OVERLAY)
- .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
- .setSound(GTSoundEntries.COOLING)
+ .category('generator')
+ .setEUIO('out')
+ .setMaxIOSize(2, 0, 0, 0)
+ .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
+ .setSound(GTSoundEntries.COOLING)
+
+ event.create('large_solar_panel_tier2')
+ .category('generator')
+ .setEUIO('out')
+ .setMaxIOSize(2, 0, 2, 1)
+ .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
+ .setSound(GTSoundEntries.COOLING)
+
+ event.create('large_solar_panel_tier3')
+ .category('generator')
+ .setEUIO('out')
+ .setMaxIOSize(2, 0, 2, 1)
+ .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT)
+ .setSound(GTSoundEntries.COOLING)
+
+ event.create('nuclear_fuel_factory')
+ .category('nuclear_fuel_factory')
+ .setEUIO('in')
+ .setMaxIOSize(2, 1, 1, 0)
+ .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
+ .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP)
+ .setSound(GTSoundEntries.MINER)
+
+ event.create('heat_exchanger')
+ .category('heat_exchanger')
+ .setEUIO('in')
+ .setMaxIOSize(0, 0, 4, 4)
+ .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
+ .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP)
+ .setSound(GTSoundEntries.MINER)
+
+ event.create('fission_reactor')
+ .category('fission_reactor')
+ .setEUIO('in')
+ .setMaxIOSize(1, 0, 1, 2)
+ .setSlotOverlay(false, false, GuiTextures.ATOMIC_OVERLAY_1)
+ .setProgressBar(GuiTextures.ATOMIC_OVERLAY_1, FillDirection.DOWN_TO_UP)
+ .setSound(GTSoundEntries.MINER)
+
+ event.create('evaporation_tower')
+ .category('evaporation_tower')
+ .setEUIO('in')
+ .setMaxIOSize(0, 1, 1, 6)
+ .setProgressBar(GuiTextures.PROGRESS_BAR_DISTILLATION_TOWER, FillDirection.LEFT_TO_RIGHT)
+ .setSound(GTSoundEntries.BATH)
+
}
diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js
index 13b791aeb..9a90f4b81 100644
--- a/kubejs/startup_scripts/main_startup_script.js
+++ b/kubejs/startup_scripts/main_startup_script.js
@@ -2,6 +2,7 @@
"use strict";
StartupEvents.registry('item', event => {
+ registerBetterEndItems(event)
registerGTCEuItems(event)
registerTFGItems(event)
})
@@ -17,12 +18,14 @@ StartupEvents.registry('entity_type', event => {
BlockEvents.modification(event => {
registerAdAstraBlockModifications(event)
+ registerSpeciesBlockModifications(event)
})
ItemEvents.modification(event => {
registerBeneathItemModifications(event)
registerConstructionWandsItemModifications(event)
registerCreateItemModifications(event)
+ registerFirmalifeItemModifications(event)
registerGTCEuItemModifications(event)
registerMinecraftItemModifications(event)
})
@@ -54,6 +57,7 @@ GTCEuStartupEvents.registry('gtceu:material', event => {
registerGTCEuMaterials(event)
registerGreateMaterials(event)
registerTFGMaterials(event)
+ registerTFGNuclearMaterials(event)
})
GTCEuStartupEvents.registry('gtceu:material_icon_set', event => {
@@ -69,8 +73,8 @@ GTCEuStartupEvents.registry('gtceu:dimension_marker', event => {
registerTFGDimensionMarkers(event)
})
-TFCEvents.registerFoodTrait(event => {
- registerTFGFoodTraits(event)
+GTCEuStartupEvents.registry("gtceu:element", event => {
+ registerTFGElement(event)
})
Platform.mods.primitive_creatures.name = "Primitive Creatures";
diff --git a/kubejs/startup_scripts/mega_cells/constants.js b/kubejs/startup_scripts/mega_cells/constants.js
index 1a11854d2..495cbe451 100644
--- a/kubejs/startup_scripts/mega_cells/constants.js
+++ b/kubejs/startup_scripts/mega_cells/constants.js
@@ -17,7 +17,6 @@ global.MEGA_CELLS_DISABLED_ITEMS = [
'megacells:fluid_storage_cell_256m',
'megacells:portable_item_cell_256m',
-,
'megacells:portable_fluid_cell_256m',
'megacells:256m_crafting_storage',
diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js
index fbcb52315..29ae97104 100644
--- a/kubejs/startup_scripts/minecraft/constants.js
+++ b/kubejs/startup_scripts/minecraft/constants.js
@@ -5,6 +5,7 @@
* Список хранит предметы,
* у которых должны быть удалены тэги и они должны быть скрыты в REI.
*/
+
global.MINECRAFT_DISABLED_ITEMS = [
// Зараженные блоки
'minecraft:infested_stone',
@@ -706,10 +707,7 @@ global.MINECRAFT_DISABLED_ITEMS = [
'minecraft:warped_nylium',
'minecraft:soul_sand',
'minecraft:soul_soil',
- 'minecraft:crying_obsidian',
- 'minecraft:nether_wart_block',
- 'minecraft:warped_wart_block',
- 'minecraft:crimson_fungus',
+ 'minecraft:crying_obsidian',
'minecraft:piglin_head',
'minecraft:zombie_head',
'minecraft:skeleton_skull',
@@ -723,7 +721,6 @@ global.MINECRAFT_DISABLED_ITEMS = [
'minecraft:crimson_roots',
//'minecraft:nether_brick',
'minecraft:nether_wart',
- 'minecraft:warped_fungus',
'minecraft:respawn_anchor',
'minecraft:ghast_tear',
'minecraft:nautilus_shell'
diff --git a/kubejs/startup_scripts/railways/constants.js b/kubejs/startup_scripts/railways/constants.js
index 3f8ac8081..a9b82a08d 100644
--- a/kubejs/startup_scripts/railways/constants.js
+++ b/kubejs/startup_scripts/railways/constants.js
@@ -4,102 +4,33 @@
global.RAIL_WAYS_DISABLED_ITEMS = [
// Tracks
- 'railways:track_ender_narrow',
- 'railways:track_birch_narrow',
- 'railways:track_blackstone_narrow',
'railways:track_dark_oak_narrow',
- 'railways:track_jungle_narrow',
- 'railways:track_mangrove_narrow',
- 'railways:track_crimson_narrow',
- 'railways:track_acacia',
- 'railways:track_birch',
- 'railways:track_crimson',
- 'railways:track_dark_oak',
- 'railways:track_jungle',
- 'railways:track_oak',
- 'railways:track_spruce',
- 'railways:track_warped',
- 'railways:track_blackstone',
- 'railways:track_ender',
- 'railways:track_phantom',
- 'railways:track_mangrove',
- 'railways:track_cherry',
- 'railways:track_bamboo',
- 'railways:track_stripped_bamboo',
- 'railways:track_oak_wide',
- 'railways:track_warped_wide',
- 'railways:track_spruce_wide',
- 'railways:track_acacia_wide',
- 'railways:track_ender_wide',
- 'railways:track_birch_wide',
- 'railways:track_blackstone_wide',
- 'railways:track_dark_oak_wide',
- 'railways:track_jungle_wide',
- 'railways:track_mangrove_wide',
- 'railways:track_crimson_wide',
- 'railways:track_cherry_wide',
- 'railways:track_bamboo_wide',
- 'railways:track_stripped_bamboo_wide',
'railways:track_oak_narrow',
- 'railways:track_spruce_narrow',
- 'railways:track_warped_narrow',
- 'railways:track_acacia_narrow',
- 'railways:track_cherry_narrow',
- 'railways:track_bamboo_narrow',
- 'railways:track_stripped_bamboo_narrow',
- // Возможно включим позже
- 'railways:track_tieless',
- 'railways:track_tieless_narrow',
- 'railways:track_tieless_wide',
+ 'railways:track_ender_narrow',
+ 'railways:track_mangrove_narrow',
+ 'railways:track_dark_oak',
+ 'railways:track_oak',
+ 'railways:track_ender',
+ 'railways:track_mangrove',
+ 'railways:track_dark_oak_wide',
+ 'railways:track_oak_wide',
+ 'railways:track_ender_wide',
+ 'railways:track_mangrove_wide',
// Incompleted Tracks
'railways:track_incomplete_ender_narrow',
- 'railways:track_incomplete_birch_narrow',
- 'railways:track_incomplete_blackstone_narrow',
'railways:track_incomplete_dark_oak_narrow',
- 'railways:track_incomplete_jungle_narrow',
'railways:track_incomplete_mangrove_narrow',
- 'railways:track_incomplete_crimson_narrow',
- 'railways:track_incomplete_acacia',
- 'railways:track_incomplete_birch',
- 'railways:track_incomplete_crimson',
'railways:track_incomplete_dark_oak',
- 'railways:track_incomplete_jungle',
'railways:track_incomplete_oak',
- 'railways:track_incomplete_spruce',
- 'railways:track_incomplete_warped',
- 'railways:track_incomplete_blackstone',
'railways:track_incomplete_ender',
- 'railways:track_incomplete_phantom',
'railways:track_incomplete_mangrove',
- 'railways:track_incomplete_cherry',
- 'railways:track_incomplete_bamboo',
- 'railways:track_incomplete_stripped_bamboo',
'railways:track_incomplete_oak_wide',
- 'railways:track_incomplete_warped_wide',
- 'railways:track_incomplete_spruce_wide',
- 'railways:track_incomplete_acacia_wide',
'railways:track_incomplete_ender_wide',
- 'railways:track_incomplete_birch_wide',
- 'railways:track_incomplete_blackstone_wide',
'railways:track_incomplete_dark_oak_wide',
- 'railways:track_incomplete_jungle_wide',
'railways:track_incomplete_mangrove_wide',
- 'railways:track_incomplete_crimson_wide',
- 'railways:track_incomplete_cherry_wide',
- 'railways:track_incomplete_bamboo_wide',
- 'railways:track_incomplete_stripped_bamboo_wide',
'railways:track_incomplete_oak_narrow',
- 'railways:track_incomplete_spruce_narrow',
- 'railways:track_incomplete_warped_narrow',
- 'railways:track_incomplete_acacia_narrow',
- 'railways:track_incomplete_cherry_narrow',
- 'railways:track_incomplete_bamboo_narrow',
- 'railways:track_incomplete_stripped_bamboo_narrow',
- // Возможно включим позже
- 'railways:track_incomplete_tieless',
- 'railways:track_incomplete_tieless_narrow',
- 'railways:track_incomplete_tieless_wide',
+ 'railways:track_incomplete_phantom',
// Incomplete Caps
'railways:white_incomplete_conductor_cap',
diff --git a/kubejs/startup_scripts/sophisticated_backpacks/constants.js b/kubejs/startup_scripts/sophisticated_backpacks/constants.js
index bc608fed2..e2cc7bc7f 100644
--- a/kubejs/startup_scripts/sophisticated_backpacks/constants.js
+++ b/kubejs/startup_scripts/sophisticated_backpacks/constants.js
@@ -17,8 +17,6 @@ global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS = [
'sophisticatedbackpacks:xp_pump_upgrade',
'sophisticatedbackpacks:advanced_compacting_upgrade',
'sophisticatedbackpacks:compacting_upgrade',
- 'sophisticatedbackpacks:advanced_feeding_upgrade',
- 'sophisticatedbackpacks:feeding_upgrade',
'sophisticatedbackpacks:anvil_upgrade',
'sophisticatedbackpacks:copper_backpack',
'sophisticatedbackpacks:infinity_upgrade',
diff --git a/kubejs/startup_scripts/species/constants.js b/kubejs/startup_scripts/species/constants.js
index 83a2094c9..4eb2a3e55 100644
--- a/kubejs/startup_scripts/species/constants.js
+++ b/kubejs/startup_scripts/species/constants.js
@@ -6,7 +6,6 @@ global.SPECIES_DISABLED_BLOCKS = [
'species:bone_bark',
'species:bone_vertebra',
'species:bone_spike',
- 'species:alphacene_moss_block',
'species:alphacene_moss_carpet',
'species:alphacene_grass_block',
'species:cruncher_pellet',
diff --git a/kubejs/startup_scripts/species/modifications.js b/kubejs/startup_scripts/species/modifications.js
new file mode 100644
index 000000000..90f655486
--- /dev/null
+++ b/kubejs/startup_scripts/species/modifications.js
@@ -0,0 +1,15 @@
+// priority: 0
+"use strict";
+
+function registerSpeciesBlockModifications(event) {
+
+ event.modify('species:alphacene_mushroom', block => {
+ block.lightEmission = 0
+ })
+ event.modify('species:alphacene_mushroom_block', block => {
+ block.lightEmission = 0
+ })
+ event.modify('species:alphacene_mushroom_growth', block => {
+ block.lightEmission = 0
+ })
+}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tacz/constants.js b/kubejs/startup_scripts/tacz/constants.js
index a3ac39bed..319b52e24 100644
--- a/kubejs/startup_scripts/tacz/constants.js
+++ b/kubejs/startup_scripts/tacz/constants.js
@@ -65,9 +65,11 @@ global.TACZ_GUNS_INDEX = [
//Sniper
'create_armorer:sniper_semi_clockwork',
+ 'create_armorer:sniper_semi_m1',
//Rifle
'create_armorer:rifle_assult_crane',
+ 'create_armorer:rifle_assult_roller',
//Shotgun
'create_armorer:shotgun_db_stone',
@@ -77,6 +79,8 @@ global.TACZ_GUNS_INDEX = [
'create_armorer:smg_auto_crank',
//Heavy
+ 'create_armorer:gl_revolver_devastator',
+ 'create_armorer:cannon_40mm_salamander',
'create_armorer:special_melee_wrench',
'create_armorer:special_melee_atomic',
'create_armorer:mg_platemag_flywheel',
@@ -141,6 +145,8 @@ global.TACZ_AMMO_INDEX = [
'create_armorer:melee_weapon',
'create_armorer:rbapb',
'create_armorer:gas_pistol_ammo',
+ 'create_armorer:gernade',
+ 'create_armorer:40mmhe',
//AA
'applied_armorer:hard_core_quartz_bullet',
@@ -258,17 +264,21 @@ global.TACZ_ATTACH_INDEX = [
'create_armorer:sight_standard',
'create_armorer:sight_medium_distance',
'create_armorer:scope_pipe',
+ 'create_armorer:sight_simple',
//muzzle
'create_armorer:muzzle_refit_iron_spike',
'create_armorer:muzzle_refit_brass_retractor',
'create_armorer:muzzle_refit_bigger_cylinder',
'create_armorer:muzzle_refit_lava_perfusion_bottle',
+ 'create_armorer:refit_blasting_protocol',
+ 'create_armorer:muzzle_refit_ap_grenade',
//grip
'create_armorer:grip_pipe',
'create_armorer:grip_wooden',
'create_armorer:grip_gantry_shaft',
+ 'create_armorer:grip_shaft',
//mag
'create_armorer:extended_mag_ca_1',
@@ -353,13 +363,16 @@ global.TACZ_ENABLED_GUNS = [
'ulv_guns:blunderbuss',
'create_armorer:shotgun_pump_bearing',
'applied_armorer:moritz_shotgun_sg914',
+ 'tacz:db_short',
+ 'tacz:db_long',
//SMG
//Heavy
'create_armorer:mg_platemag_flywheel',
- 'applied_armorer:moritz_gernade_gl3'
+ 'applied_armorer:moritz_gernade_gl3',
+ 'create_armorer:cannon_40mm_salamander'
];
@@ -369,6 +382,7 @@ global.TACZ_ENABLED_AMMO = [
'tacz:45_70',
'create_armorer:slap',
'create_armorer:rbapb',
+ 'create_armorer:40mmhe',
'applied_armorer:hard_core_quartz_bullet',
'applied_armorer:etched_quartz_bullet',
'applied_armorer:fluix_infused_grenade',
@@ -383,6 +397,7 @@ global.TACZ_ENABLED_ATTACH = [
'create_armorer:scope_telephoto',
'create_armorer:sight_standard',
'create_armorer:sight_medium_distance',
+ 'create_armorer:sight_simple',
'applied_armorer:si_double_sided_mirror',
'applied_armorer:scope_xgs_905',
'applied_armorer:si_ms_12',
@@ -408,14 +423,28 @@ global.TACZ_ENABLED_ATTACH = [
//grip
'create_armorer:grip_wooden',
- 'create_armorer:grip_gantry_shaft'
+ 'create_armorer:grip_gantry_shaft',
+ 'create_armorer:grip_shaft',
+ 'applied_armorer:grip_hf_17',
+ 'applied_armorer:grip_stable',
+ 'applied_armorer:grip_light',
+ 'applied_armorer:grip_lf11',
+ 'applied_armorer:grip_sl_2',
//mag
-
+ 'create_armorer:extended_mag_ca_1',
+ 'create_armorer:extended_mag_ca_2',
+ 'create_armorer:extended_mag_ca_3',
+ 'applied_armorer:extended_mag_aa_1',
+ 'applied_armorer:extended_mag_aa_2',
+ 'applied_armorer:extended_mag_aa_3',
+ 'applied_armorer:extended_mid_mag_aa_1',
+ 'applied_armorer:extended_mid_mag_aa_2',
+ 'applied_armorer:extended_mid_mag_aa_3'
//laser
];
-
+
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js
index 48869932e..35cf71720 100644
--- a/kubejs/startup_scripts/tfc/constants.js
+++ b/kubejs/startup_scripts/tfc/constants.js
@@ -911,6 +911,7 @@ global.TFC_MEAT_RECIPE_COMPONENTS = [
{ input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' },
{ input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' },
{ input: 'tfc:food/chevon', output: 'tfc:food/cooked_chevon', name: 'cooked_chevon' },
+ { input: 'tfc:food/fox', output: 'tfc:food/cooked_fox', name: 'cooked_fox' },
{ input: '#forge:eggs', output: 'tfc:food/cooked_egg', name: 'cooked_egg' },
{ input: 'minecraft:chorus_fruit', output: 'minecraft:popped_chorus_fruit', name: 'popped_chorus_fruit' },
@@ -1060,15 +1061,15 @@ global.TFC_CURDS_AND_CHEESES = [
];
global.TFC_ALCOHOL = [
- {id: 'tfc:beer'},
- {id: 'tfc:cider'},
- {id: 'tfc:rum'},
- {id: 'tfc:sake'},
- {id: 'tfc:vodka'},
- {id: 'tfc:whiskey'},
- {id: 'tfc:corn_whiskey'},
- {id: 'tfc:rye_whiskey'},
- {id: 'firmalife:mead'},
+ {id: 'tfc:beer', ingredient: 'tfc:food/barley_flour'},
+ {id: 'tfc:cider', ingredient: '#tfc:foods/apples'},
+ {id: 'tfc:rum', ingredient: '#tfg:sugars'},
+ {id: 'tfc:sake', ingredient: 'tfc:food/rice_flour'},
+ {id: 'tfc:vodka', ingredient: 'tfc:food/potato'},
+ {id: 'tfc:whiskey', ingredient: 'tfc:food/wheat_flour'},
+ {id: 'tfc:corn_whiskey', ingredient: 'tfc:food/maize_flour'},
+ {id: 'tfc:rye_whiskey', ingredient: 'tfc:food/rye_flour'},
+ {id: 'firmalife:mead', ingredient: 'firmalife:raw_honey'},
];
global.TFC_MAGMA_BLOCKS = [
@@ -1083,13 +1084,13 @@ global.TFC_MAGMA_BLOCKS = [
global.calcAmountOfMetal = (defaultAmount, percents) => {
const value = defaultAmount / (100 / percents)
- return (value % 2 == 0) ? value : Math.round(value) - 1
+ return (value % 2 === 0) ? value : Math.round(value) - 1
}
// This prevents the "exploit" where Cassiterite dust gives 2x as much from melting as smelting in a furnace
global.calcAmountOfMetalProcessed = (defaultAmount, percents) => {
const percentPerItem = percents / Math.ceil(percents / 100)
const value = defaultAmount * (percentPerItem / 100)
- return (value % 2 == 0) ? value : Math.round(value) - 1
+ return (value % 2 === 0) ? value : Math.round(value) - 1
}
diff --git a/kubejs/startup_scripts/tfc/register_climates.js b/kubejs/startup_scripts/tfc/register_climates.js
index 8a2a1a8df..3b06bc2b2 100644
--- a/kubejs/startup_scripts/tfc/register_climates.js
+++ b/kubejs/startup_scripts/tfc/register_climates.js
@@ -48,12 +48,10 @@ function calcCurrentTemp(averageTemp, seaLevel, playerY, calendarTicks, tempRang
// This is taken from TFC's OverworldClimateModel.java
let elevationTemp = clamp((playerY - seaLevel) * 0.16225, 0, 17.822);
return averageTemp - elevationTemp + tempDiff;
- }
- else if (playerY > 20) {
+ } else if (playerY > 20) {
return averageTemp + (tempDiff * (playerY / seaLevel));
- }
- else {
+ } else {
// TODO: check this
let depthPercent = 1 - (playerY / 20);
@@ -168,7 +166,7 @@ TFCEvents.registerClimateModel(event => {
})
builder.setAirFog((level, pos, calendarTicks) => 0)
- builder.setWaterFog((level, pos, calendarTicks) => 0.25)
- builder.setWindVector((level, block, calendarTicks) => builder.vector(0.25, 0.25))
+ builder.setWaterFog((level, pos, calendarTicks) => 0.1)
+ builder.setWindVector((level, block, calendarTicks) => builder.vector(0.25, 0.1))
})
})
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfg/blocks.crops.js b/kubejs/startup_scripts/tfg/blocks.crops.js
index 843cbf2ea..ccdbce9d7 100644
--- a/kubejs/startup_scripts/tfg/blocks.crops.js
+++ b/kubejs/startup_scripts/tfg/blocks.crops.js
@@ -3,6 +3,8 @@
const registerTFGCrops = (event) => {
+ // Earth
+
event.create('tfg:sunflower', 'tfc:double_crop')
.translationKey('block.tfg.sunflower')
.soundType('crop')
@@ -10,23 +12,20 @@ const registerTFGCrops = (event) => {
.stages(4)
.doubleStages(2)
.hardness(0.4)
- ['productItem(java.util.function.Consumer)'](product=> {
- product.translationKey('item.tfg.sunflower_product')
+ .growthModifier(0.8)
+ .productItem(product => {
product.texture('tfg:item/sunflower_product')
})
.seedItem(seed => {
- seed.translationKey('item.tfg.sunflower_seed')
seed.texture('tfg:item/sunflower_seed')
})
.deadBlock(dead => {
- dead.translationKey('block.tfg.sunflower_dead')
dead.hardness(0.2)
dead.soundType('crop')
})
event.create('tfg:sunflower_wild', 'tfc:wild_crop')
.type('double')
- .translationKey('block.tfg.sunflower_wild')
.soundType('crop')
.seeds('tfg:sunflower_seeds')
.food('tfg:sunflower_product')
@@ -41,25 +40,186 @@ const registerTFGCrops = (event) => {
.stages(3)
.doubleStages(3)
.hardness(0.4)
- ['productItem(java.util.function.Consumer)'](product => {
- product.translationKey('item.tfg.rapeseed_product')
- })
- .seedItem(seed => {
- seed.translationKey('item.tfg.rapeseed_seed')
- })
.deadBlock(dead => {
- dead.translationKey('block.tfg.rapeseed_dead')
dead.hardness(0.2)
dead.soundType('crop')
})
event.create('tfg:rapeseed_wild', 'tfc:wild_crop')
.type('double')
- .translationKey('block.tfg.rapeseed_wild')
.soundType('crop')
.seeds('tfg:rapeseed_seeds')
.food('tfg:rapeseed_product')
.hardness(0.2)
.tagBoth('tfc:wild_crops')
.tagItem('c:hidden_from_recipe_viewers')
+
+ // Mars
+
+ event.create('betterend:amber_root', 'tfc:crop')
+ .soundType('crop')
+ .nutrient('phosphorous')
+ .stages(3)
+ .hardness(0.4)
+ .productItem(product => {
+ product.food(food => {
+ food.hunger(4)
+ food.saturation(1)
+ })
+ })
+ .deadBlock(dead => {
+ dead.hardness(0.2)
+ dead.soundType('crop')
+ })
+
+ event.create('betterend:amber_root_wild', 'tfc:wild_crop')
+ .type('default')
+ .soundType('crop')
+ .seeds('betterend:amber_root_seeds')
+ .food('betterend:amber_root_product')
+ .hardness(0.2)
+ .tagBoth('tfc:wild_crops')
+ .tagItem('c:hidden_from_recipe_viewers')
+
+
+ event.create('betterend:blossom_berry', 'tfc:crop')
+ .soundType('crop')
+ .nutrient('potassium')
+ .stages(3)
+ .hardness(0.4)
+ .productItem(product => {
+ product.food(food => {
+ food.hunger(5)
+ food.saturation(1)
+ })
+ })
+ .deadBlock(dead => {
+ dead.hardness(0.2)
+ dead.soundType('crop')
+ })
+
+ event.create('betterend:blossom_berry_wild', 'tfc:wild_crop')
+ .type('default')
+ .soundType('crop')
+ .seeds('betterend:blossom_berry_seeds')
+ .food('betterend:blossom_berry_product')
+ .hardness(0.2)
+ .tagBoth('tfc:wild_crops')
+ .tagItem('c:hidden_from_recipe_viewers')
+
+
+ event.create('betterend:cave_pumpkin')
+ .soundType('cherry_wood')
+ .tagBlock('minecraft:mineable/axe')
+ .tagBlock('minecraft:mineable/hoe')
+ .mapColor('color_red')
+ .requiresTool(false)
+ .fullBlock(false)
+ .opaque(false)
+ .notSolid()
+
+ event.create('betterend:cave_pumpkin_plant', 'tfc:spreading_crop')
+ .soundType('crop')
+ .nutrient('nitrogen')
+ .stages(3)
+ .hardness(0.4)
+ .deadBlock(dead => {
+ dead.hardness(0.2)
+ dead.soundType('crop')
+ })
+ .fruitBlock('betterend:cave_pumpkin')
+ .textureAt(0, "betterend:block/cave_pumpkin_stem_0")
+ .textureAt(1, "betterend:block/cave_pumpkin_stem_1")
+ .textureAt(2, "betterend:block/cave_pumpkin_stem_2")
+ .textureAt(3, "betterend:block/cave_pumpkin_stem_3")
+ .texture("side", "betterend:block/cave_pumpkin_stem_3_side")
+
+ event.create('betterend:cave_pumpkin_wild', 'tfc:wild_crop')
+ .type('spreading')
+ .soundType('crop')
+ .spreadingFruitBlock('betterend:cave_pumpkin')
+ .seeds('betterend:cave_pumpkin_seeds')
+ .hardness(0.2)
+ .tagBoth('tfc:wild_crops')
+ .tagItem('c:hidden_from_recipe_viewers')
+
+
+ event.create('betterend:chorus_mushroom', 'tfc:crop')
+ .translationKey('block.betterend.chorus_mushroom')
+ .soundType('nether_wart')
+ .nutrient('phosphorous')
+ .stages(3)
+ .hardness(0.4)
+ .productItem(product => {
+ product.food(food => {
+ food.hunger(2)
+ food.saturation(1)
+ })
+ })
+ .deadBlock(dead => {
+ dead.hardness(0.2)
+ dead.soundType('nether_wart')
+ })
+
+ event.create('betterend:chorus_mushroom_wild', 'tfc:wild_crop')
+ .type('default')
+ .translationKey('block.betterend.chorus_mushroom_wild')
+ .soundType('nether_wart')
+ .seeds('betterend:chorus_mushroom_seeds')
+ .food('betterend:chorus_mushroom_product')
+ .hardness(0.2)
+ .tagBoth('tfc:wild_crops')
+ .tagItem('c:hidden_from_recipe_viewers')
+
+
+ event.create('betterend:shadow_berry', 'tfc:crop')
+ .soundType('crop')
+ .nutrient('potassium')
+ .stages(3)
+ .hardness(0.4)
+ .productItem(product => {
+ product.food(food => {
+ food.hunger(5)
+ food.saturation(1)
+ })
+ })
+ .deadBlock(dead => {
+ dead.hardness(0.2)
+ dead.soundType('crop')
+ })
+
+ event.create('betterend:shadow_berry_wild', 'tfc:wild_crop')
+ .type('default')
+ .soundType('crop')
+ .seeds('betterend:shadow_berry_seeds')
+ .food('betterend:shadow_berry_product')
+ .hardness(0.2)
+ .tagBoth('tfc:wild_crops')
+ .tagItem('c:hidden_from_recipe_viewers')
+
+
+ event.create('betterend:bolux_mushroom', 'tfc:crop')
+ .soundType('nether_wart')
+ .nutrient('phosphorous')
+ .stages(3)
+ .hardness(0.4)
+ .productItem(product => {
+ product.food(food => {
+ food.hunger(2)
+ food.saturation(1)
+ })
+ })
+ .deadBlock(dead => {
+ dead.hardness(0.2)
+ dead.soundType('nether_wart')
+ })
+
+ event.create('betterend:bolux_mushroom_wild', 'tfc:wild_crop')
+ .type('default')
+ .soundType('nether_wart')
+ .seeds('betterend:bolux_mushroom_seeds')
+ .food('betterend:bolux_mushroom_product')
+ .hardness(0.2)
+ .tagBoth('tfc:wild_crops')
+ .tagItem('c:hidden_from_recipe_viewers')
}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfg/blocks.js b/kubejs/startup_scripts/tfg/blocks.js
index feab89736..c73d7b257 100644
--- a/kubejs/startup_scripts/tfg/blocks.js
+++ b/kubejs/startup_scripts/tfg/blocks.js
@@ -5,7 +5,7 @@ const registerTFGBlocks = (event) => {
registerTFGNetherBlocks(event)
registerTFGSpaceBlocks(event)
registerTFGSupportBlocks(event)
- registerTFGCrops(event)
+ registerTFGCrops(event)
event.create('tfg:artificial_end_portal_frame')
.stoneSoundType()
@@ -26,7 +26,7 @@ const registerTFGBlocks = (event) => {
.defaultTranslucent()
.mapColor('color_white')
.speedFactor(1.2)
- .particleOffset(1, 1, 1)
+ .particleOffset(1, 1, 1)
.particleVelocity(0.05, 0, 0.05)
.particle('minecraft:campfire_cosy_smoke')
.particleCount(2)
@@ -42,9 +42,20 @@ const registerTFGBlocks = (event) => {
.hardness(5)
.resistance(6)
.tagBlock('minecraft:mineable/pickaxe')
+ .tagBlock('minecraft:mineable/wrench')
.mapColor('color_light_gray')
})
+ event.create(`tfg:casings/machine_casing_stainless_evaporation`)
+ .translationKey(`block.tfg.casings.machine_casing_stainless_evaporation`)
+ .model(`tfg:block/casings/machine_casing_stainless_evaporation`)
+ .soundType('copper')
+ .hardness(5)
+ .resistance(6)
+ .tagBlock('minecraft:mineable/pickaxe')
+ .tagBlock('minecraft:mineable/wrench')
+ .mapColor('color_light_gray')
+
//#endregion
// #region Decorative vases
@@ -133,7 +144,7 @@ const registerTFGBlocks = (event) => {
event.create('tfg:pile/brown_sand', 'tfg:layer_block')
.existingItem('tfc:sand/brown')
-
+
event.create('tfg:pile/green_sand', 'tfg:layer_block')
.existingItem('tfc:sand/green')
@@ -157,7 +168,7 @@ const registerTFGBlocks = (event) => {
event.create('tfg:pile/venus_sand', 'tfg:layer_block')
.existingItem('ad_astra:venus_sand')
-
+
// #endregion
diff --git a/kubejs/startup_scripts/tfg/blocks.space.js b/kubejs/startup_scripts/tfg/blocks.space.js
index 9697306e2..12af4f721 100644
--- a/kubejs/startup_scripts/tfg/blocks.space.js
+++ b/kubejs/startup_scripts/tfg/blocks.space.js
@@ -352,39 +352,6 @@ function registerTFGSpaceBlocks(event) {
.mapColor(`color_${color}`)
.fullBlock(true)
.opaque(true)
- //Raw Sandstone Wall
- event.create(`tfg:sandstone/wall/raw/fluorapatite/${color}`, 'wall')
- .textureAll(`tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`)
- .hardness(0.8)
- .resistance(0.8)
- .soundType('stone')
- .requiresTool(true)
- .tagBlock('minecraft:mineable/pickaxe')
- .mapColor(`color_${color}`)
- .fullBlock(true)
- .opaque(true)
- //Raw Sandstone Slab
- event.create(`tfg:sandstone/slab/raw/fluorapatite/${color}`, 'slab')
- .textureAll(`tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`)
- .hardness(0.8)
- .resistance(0.8)
- .soundType('stone')
- .requiresTool(true)
- .tagBlock('minecraft:mineable/pickaxe')
- .mapColor(`color_${color}`)
- .fullBlock(true)
- .opaque(true)
- //Raw Sandstone Stairs
- event.create(`tfg:sandstone/stairs/raw/fluorapatite/${color}`, 'stairs')
- .textureAll(`tfg:block/planets/venus/sandstone_bottom_fluorapatite_${color}`)
- .hardness(0.8)
- .resistance(0.8)
- .soundType('stone')
- .requiresTool(true)
- .tagBlock('minecraft:mineable/pickaxe')
- .mapColor(`color_${color}`)
- .fullBlock(true)
- .opaque(true)
//Smooth Sandstone
event.create(`tfg:sandstone/smooth/fluorapatite/${color}`)
.textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`)
@@ -398,39 +365,6 @@ function registerTFGSpaceBlocks(event) {
.mapColor(`color_${color}`)
.fullBlock(true)
.opaque(true)
- //Smooth Sandstone Wall
- event.create(`tfg:sandstone/smooth/wall/fluorapatite/${color}`, 'wall')
- .textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`)
- .hardness(0.8)
- .resistance(0.8)
- .soundType('stone')
- .requiresTool(true)
- .tagBlock('minecraft:mineable/pickaxe')
- .mapColor(`color_${color}`)
- .fullBlock(true)
- .opaque(true)
- //Smooth Sandstone Slab
- event.create(`tfg:sandstone/smooth/slab/fluorapatite/${color}`, 'slab')
- .textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`)
- .hardness(0.8)
- .resistance(0.8)
- .soundType('stone')
- .requiresTool(true)
- .tagBlock('minecraft:mineable/pickaxe')
- .mapColor(`color_${color}`)
- .fullBlock(true)
- .opaque(true)
- //Smooth Sandstone Stairs
- event.create(`tfg:sandstone/smooth/stairs/fluorapatite/${color}`, 'stairs')
- .textureAll(`tfg:block/planets/venus/sandstone_top_fluorapatite_${color}`)
- .hardness(0.8)
- .resistance(0.8)
- .soundType('stone')
- .requiresTool(true)
- .tagBlock('minecraft:mineable/pickaxe')
- .mapColor(`color_${color}`)
- .fullBlock(true)
- .opaque(true)
//Chiseled Sandstone
event.create(`tfg:sandstone/smooth/chiseled/fluorapatite/${color}`)
.textureAll(`tfg:block/planets/venus/sandstone_chiseled_fluorapatite_${color}`)
diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js
index 1404c41ff..7c306fa9a 100644
--- a/kubejs/startup_scripts/tfg/constants.js
+++ b/kubejs/startup_scripts/tfg/constants.js
@@ -104,14 +104,15 @@ global.MARS_BIOMES = [
* @type {string[]} - Block Names
*/
global.TFG_MACHINE_CASINGS = [
- //'machine_casing_clean_stainless_steel_desh',
- //'machine_casing_desh_ptfe',
+ 'machine_casing_clean_stainless_steel_desh',
+ 'machine_casing_desh_ptfe',
'machine_casing_iron_desh',
- //'machine_casing_ptfe_desh',
- //'machine_casing_stainless_steel_desh',
- //'machine_casing_blue_solar_panel',
- //'machine_casing_green_solar_panel',
- 'machine_casing_red_solar_panel'
+ 'machine_casing_ptfe_desh',
+ 'machine_casing_stainless_steel_desh',
+ 'machine_casing_blue_solar_panel',
+ 'machine_casing_green_solar_panel',
+ 'machine_casing_red_solar_panel',
+ 'machine_casing_mars'
];
/**
diff --git a/kubejs/startup_scripts/tfg/element.js b/kubejs/startup_scripts/tfg/element.js
new file mode 100644
index 000000000..b71cadcb5
--- /dev/null
+++ b/kubejs/startup_scripts/tfg/element.js
@@ -0,0 +1,13 @@
+// priority: 0
+
+const registerTFGElement = (event) => {
+
+ event.create("thorium_230")
+ .protons(90)
+ .neutrons(230)
+ .symbol("Th²³⁰")
+ event.create("thorium_232")
+ .protons(90)
+ .neutrons(232)
+ .symbol("Th²³²")
+}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfg/events.food_traits.js b/kubejs/startup_scripts/tfg/events.food_traits.js
deleted file mode 100644
index d19a4deac..000000000
--- a/kubejs/startup_scripts/tfg/events.food_traits.js
+++ /dev/null
@@ -1,7 +0,0 @@
-"use strict";
-
-function registerTFGFoodTraits(event) {
-
- event.registerTraitWithTooltip(0.02, 'tfg:freeze_dried')
-
-}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfg/fluids.js b/kubejs/startup_scripts/tfg/fluids.js
index 6e2670ff9..d7e7599e6 100644
--- a/kubejs/startup_scripts/tfg/fluids.js
+++ b/kubejs/startup_scripts/tfg/fluids.js
@@ -44,10 +44,11 @@ const registerTFGFluids = (event) => {
.density(0)
.renderType('translucent')
- event.create('tfg:super_heated_slurry', 'tfc:spring')
- .stillTexture('tfg:block/planets/venus/super_heated_slurry_still')
- .flowingTexture('tfg:block/planets/venus/super_heated_slurry_flow')
+ event.create('tfg:geyser_slurry', 'tfc:spring')
+ .stillTexture('tfg:block/planets/venus/geyser_slurry_still')
+ .flowingTexture('tfg:block/planets/venus/geyser_slurry_flow')
.bucketColor(0xc4d984)
+ .temperature(1000)
.renderType('translucent')
//#endregion
}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js
index dabe7cfda..6014b8c03 100644
--- a/kubejs/startup_scripts/tfg/items.js
+++ b/kubejs/startup_scripts/tfg/items.js
@@ -1,10 +1,15 @@
// priority: 0
"use strict";
+/**
+ *
+ * @param {Registry.Item} event
+ */
const registerTFGItems = (event) => {
registerTFGDeprecatedItems(event)
registerTFGFoodItems(event)
+ registerTFGNuclearItems(event)
// #region Electronics
event.create('tfg:unfinished_electron_tube', 'create:sequenced_assembly')
@@ -50,8 +55,7 @@ const registerTFGItems = (event) => {
event.create('tfg:unfired_chalk')
.translationKey('item.tfg.unfired_chalk')
- Color.DYE.forEach((dyeName, dye) =>
- {
+ Color.DYE.forEach((dyeName, dye) => {
event.create(`tfg:wet_${dyeName}_chalk`)
.translationKey(`item.tfg.wet_${dyeName}_chalk`)
.textureJson({
@@ -336,7 +340,7 @@ const registerTFGItems = (event) => {
.translationKey('tfg:nitrocellulose')
//endregion
- //RockWool
+ //Tier2 Insulation
event.create('tfg:aes_wool')
.translationKey('tfg:aes_wool')
event.create('tfg:aes_compressed_wool')
@@ -349,11 +353,39 @@ const registerTFGItems = (event) => {
//Tier 2 Rocket Parts
event.create('tfg:rocket_fin_t2')
- .translationKey('tfg:rocket_fin_t2')
event.create('tfg:rocket_cone_t2')
- .translationKey('tfg:rocket_cone_t2')
//endregion
-}
-
+ //Tier 3 Insulation
+ event.create('tfg:aes_polyurethane')
+ event.create('tfg:mli_shielding')
+ event.create('tfg:silica_aerogel')
+ //endregion
+
+ //Tier 3 Rocket Parts
+ event.create('tfg:rocket_fin_t3')
+ event.create('tfg:rocket_cone_t3')
+ event.create('tfg:elite_power_thruster')
+
+ event.create('tfg:better_space_suit_fabric')
+ //endregion
+ //#region Universal compost items
+ event.create('tfg:universal_compost_browns')
+ .tag('tfc:compost_browns_low')
+
+ event.create('tfg:universal_compost_greens')
+ .tag('tfc:compost_greens_low')
+ //#endregion
+
+ //#region Etched Diamond Etching Tip
+ event.create('tfg:etching_diamond_tip')
+ .translationKey("item.tfg.etching_diamond_tip")
+ //#endregion
+
+ //#region Solar Panel
+
+ event.create('tfg:photo_cell_t1')
+ .translationKey("item.tfg.basic.photovoltaic.cell")
+ .texture('tfg:item/photo_cell_t1')
+}
diff --git a/kubejs/startup_scripts/tfg/items.nuclear.js b/kubejs/startup_scripts/tfg/items.nuclear.js
new file mode 100644
index 000000000..b7af34d20
--- /dev/null
+++ b/kubejs/startup_scripts/tfg/items.nuclear.js
@@ -0,0 +1,6 @@
+// priority: 0
+
+function registerTFGNuclearItems(event) {
+
+
+}
\ No newline at end of file
diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js
index 19d5cb83b..b412296a0 100644
--- a/kubejs/startup_scripts/tfg/materials.js
+++ b/kubejs/startup_scripts/tfg/materials.js
@@ -51,7 +51,9 @@ const registerTFGMaterials = (event) => {
.color(0x333e47)
.iconSet('metallic')
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR)
- .blastTemp(1760, 'low', 256, 1200)
+ .blastTemp(1760, 'low', 256, 900)
+/*
+
event.create('rocket_alloy_t2')
.ingot()
@@ -59,8 +61,19 @@ const registerTFGMaterials = (event) => {
.color(0x3c253d)
.iconSet('metallic')
.flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR)
- .blastTemp(4500, 'mid', 1024, 1200)
+ .blastTemp(3200, 'mid', 1024, 1100)
+ event.create('rocket_alloy_t3')
+ .ingot()
+ .components('8x titanium', '9x tungsten_steel', '2x tantalum', '2x radon')
+ .color(0x6c678b)
+ //.secondaryColor(0xa59fc6)
+ .liquid()
+ .removeHazard()
+ .iconSet('metallic')
+ .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_ROD, GTMaterialFlags.GENERATE_DENSE, GTMaterialFlags.GENERATE_GEAR)
+ .blastTemp(4200, 'high', 4096, 1300)
+ */
event.create('vitrified_asbestos')
.dust()
.fluid()
@@ -144,11 +157,21 @@ const registerTFGMaterials = (event) => {
.color(0x51F7C0)
event.create('tfg:solar_coolant')
- .gas()
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(163))
.components('8x helium_3', '11x oxygen', '11x hydrogen')
.color(0xEDFFB3)
+ event.create('tfg:solar_coolant_tier2')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(73))
+ .formula('(He³8O11H11)(Ar)(?)')
+ .color(0xfeff5d)
+
//end region
+ event.create('liquid_carbon_dioxide')
+ .liquid(100) //Not realistic but I want it to be cryogenic
+ .components('1x carbon', '2x oxygen')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0xDBFBFF)
//Region Rockwool
event.create('tfg:aes_mix')
@@ -165,5 +188,136 @@ const registerTFGMaterials = (event) => {
.color(0xe65609)
.secondaryColor(0xe65609)
//end region
+
+ //Region Ammonia Borane
+ event.create('tfg:sodium_hydride')
+ .dust()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('1x sodium', '1x hydrogen')
+ .color(0xEDF5F3)
+ event.create('tfg:boric_acid')
+ .dust()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('3x hydrogen', '1x boron', '3x oxygen')
+ .color(0xDFEDDF)
+ .secondaryColor(0xDFEDDF)
+ event.create('tfg:trimethyl_borate')
+ .liquid()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('3x carbon', '9x hydrogen', '1x boron', '3x oxygen')
+ .color(0xF7F7F7)
+ event.create('tfg:sodium_borohydride')
+ .dust()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('1x sodium', '1x boron', '4x hydrogen')
+ .color(0xE8F1FF)
+ .secondaryColor(0xE8F1FF)
+ event.create('tfg:sodium_methoxide')
+ .dust()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('1x sodium', '1x oxygen', '1x carbon', '3x hydrogen')
+ .color(0xE8E5DF)
+ .secondaryColor(0xE8E5DF)
+ event.create('tfg:ammonia_borane')
+ .dust()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING, GTMaterialFlags.GENERATE_PLATE)
+ .components('1x ammonia', '1x boron', '3x hydrogen')
+ .color(0xCCE3E3)
+ .secondaryColor(0xCCE3E3)
+ //endregion
+
+ //region polyurethane
+ event.create('tfg:aniline')
+ .liquid()
+ .components('6x carbon', '5x hydrogen', '1x nitrogen', '2x hydrogen')
+ .color(0xBAB999)
+ event.create('tfg:dimethyl_carbonate')
+ .liquid()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('3x carbon','6x hydrogen', '3x oxygen')
+ .color(0xFFFFF2)
+ event.create('tfg:methyl_phenylcarbamate')
+ .liquid()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('8x carbon','9x hydrogen','1x nitrogen', '2x oxygen')
+ .color(0xB4EDB4)
+ event.create('tfg:methylene_diphenyl_dicarbamate')
+ .liquid()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('17x carbon','18x hydrogen','2x nitrogen', '4x oxygen')
+ .color(0x69C2C1)
+ event.create('tfg:methylene_diphenyl_diisocyanate')
+ .dust()
+ .flags(GTMaterialFlags.DECOMPOSITION_BY_ELECTROLYZING)
+ .components('13x carbon','10x hydrogen','2x nitrogen', '2x oxygen')
+ .color(0xFFFFBA)
+ //endregion
+
+ //region aerogel
+ event.create('tfg:tmos')
+ .liquid()
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0xC2C6CC)
+ event.create('tfg:silica_gel')
+ .liquid()
+ .color(0x60BABF)
+ .secondaryColor(0xFFD38C)
+ event.create('tfg:soaked_silica_gel')
+ .liquid()
+ .color(0x9ED5D9)
+ //endregion
+ //#region Bromine Line
+
+ event.create('raw_brine')
+ .fluid()
+ .color(0x947a11)
+ //.secondaryColor(0x81FFF9)
+
+ event.create('hot_brine')
+ .liquid(320)
+ .color(0x944611)
+
+ event.create('hot_chlorinated_brominated_brine')
+ .liquid(320)
+ .color(0xbf8d5a)
+ .formula('?Cl')
+
+ event.create('brominated_chlorine_vapor')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(320))
+ .color(0xbf8d5a)
+ .formula('ClBr(H2O)')
+
+ event.create('acidic_bromine_solution')
+ .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID))
+ .color(0xe7b989)
+ .formula('ClBr')
+
+ event.create('concentrated_bromine_solution')
+ .liquid()
+ .color(0x905d29)
+ .formula('Br2Cl')
+
+ event.create('debrominated_brine')
+ .liquid()
+ .color(0xc3874a)
+
+ event.create('acidic_bromine_exhaust')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).attribute(GTFluidAttributes.ACID).temperature(293))
+ .color(0xec9c4a)
+ .formula('(H2O)3Cl')
+
+ event.create('hot_alkaline_debrominated_brine')
+ .liquid()
+ .color(0xcc6a06)
+ .formula('?2Cl')
+
+ event.create('hot_debrominated_brine')
+ .liquid(320)
+ .color(0xb08e6b)
+
+ event.create('hydrogen_iodide')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).temperature(293))
+ .color(0x82a6ce)
+ .formula('HI')
}
diff --git a/kubejs/startup_scripts/tfg/materials.nuclear.js b/kubejs/startup_scripts/tfg/materials.nuclear.js
new file mode 100644
index 000000000..3ca41eee1
--- /dev/null
+++ b/kubejs/startup_scripts/tfg/materials.nuclear.js
@@ -0,0 +1,251 @@
+// priority: 0
+
+const registerTFGNuclearMaterials = (event) => {
+
+/* event.create('mysterious_ooze')
+ .fluid()
+ .color(0x500bbf)
+ .fluidTemp(69420)
+ .dust()
+ .cableProperties(GTValues.V[GTValues.LV], 69, 0, true) // Voltage, Amperage, EU loss, Is Superconductor.
+ .gem(2, 4000)
+ .element(GTElements.C)
+ .ore(2, 3)
+ .color(0x7D2DDB)
+ .iconSet(GTMaterialIconSet.LIGNITE)
+ .ingot()
+ .components('1x andesite', '1x iron')
+ .color(0x839689)
+ .iconSet(GTMaterialIconSet.DULL)
+ .flags(GTMaterialFlags.GENERATE_PLATE, GTMaterialFlags.GENERATE_GEAR, GTMaterialFlags.GENERATE_SMALL_GEAR)
+*/
+
+ //#region Fluid
+
+ event.create('dense_steam')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730))
+ .components('2x hydrogen', '1x oxygen')
+ .flags(
+ GTMaterialFlags.DISABLE_DECOMPOSITION)
+
+ event.create('radioactive_steam')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730))
+ .components('2x hydrogen', '1x oxygen')
+ .formula("H20(?)")
+ .flags(
+ GTMaterialFlags.DISABLE_DECOMPOSITION)
+
+ event.create('radioactive_waste')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(3730))
+ .formula("(?)")
+ .flags(
+ GTMaterialFlags.DISABLE_DECOMPOSITION)
+
+ event.create('irradiated_steam')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(4250))
+ .formula("(?)")
+ .flags(
+ GTMaterialFlags.DISABLE_DECOMPOSITION)
+
+ event.create('heavy_water')
+ .fluid()
+ .components('2x deuterium', '1x oxygen')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .iconSet(GTMaterialIconSet.FINE)
+ .color(0xB5B9FF)
+ .secondaryColor(0x81FFF9)
+
+ event.create('uranium_waste')
+ .liquid(new GTFluidBuilder().customStill().temperature(3850))
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .iconSet(GTMaterialIconSet.FINE)
+ .color(0xB5B9FF)
+ .secondaryColor(0x81FFF9)
+
+ event.create('nuclear_waste')
+ .liquid(new GTFluidBuilder().customStill().temperature(3850))
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .formula('(ThU(?)')
+
+ event.create('dirty_hexafluorosilicic_acid')
+ .liquid(new GTFluidBuilder().attribute(GTFluidAttributes.ACID))
+ //.liquid(320)
+ .formula('H2SiF6(?)')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0xe6fafb)
+ .secondaryColor(0xb5fdff)
+ .iconSet(GTMaterialIconSet.getByName('thick_fluid'))
+
+ event.create('martian_sludge')
+ .liquid(new GTFluidBuilder().temperature(4239))
+ .formula('(?)')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0xd86f27)
+ .secondaryColor(0xecd7c9)
+ .iconSet(GTMaterialIconSet.getByName('bullshit'))
+
+ event.create('dioxygen_difluoride')
+ .fluid()
+ .components('2x oxygen', '2x fluorine')
+ .iconSet(GTMaterialIconSet.FINE)
+ .color(0xffa500)
+ .secondaryColor(0xffffff)
+
+ event.create('tritiated_water')
+ .fluid()
+ .components('2x tritium', '1x oxygen')
+ .iconSet(GTMaterialIconSet.FINE)
+ .color(0xb2c3e7)
+
+ // FLiBe Line
+
+ event.create('raw_rich_brine')
+ .liquid(new GTFluidBuilder().customStill().temperature(293))
+
+ event.create('hot_iodine_brine')
+ .liquid(new GTFluidBuilder().customStill().temperature(293))
+ .formula('HIMgCl(?)')
+
+ event.create('brominated_iodine_vapor')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(412))
+ .formula('HI(?)')
+
+ event.create('basic_bromine_exhaust')
+ .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(406))
+
+ event.create('dirty_flibe')
+ .liquid(new GTFluidBuilder().customStill().temperature(293))
+ .formula('FLiBe(?)')
+
+ event.create('flibe')
+ .liquid(new GTFluidBuilder().customStill().temperature(293))
+ .formula('FLiBe')
+
+ event.create('hot_flibe')
+ .liquid(new GTFluidBuilder().customStill().temperature(3293))
+ .formula('FLiBe')
+
+ //#endregion
+
+ //#region Dust
+
+ event.create('tfg:mars_stone_dust')
+ .dust()
+ .components('2x deuterium', '1x oxygen')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0xE79B07)
+ .secondaryColor(0x5A4316)
+ .iconSet(GTMaterialIconSet.ROUGH)
+
+ event.create('tfg:nuclear_residue')
+ .dust()
+ .formula('(?)')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0x332816)
+ .secondaryColor(0x674c24)
+ .iconSet(GTMaterialIconSet.RADIOACTIVE)
+
+ event.create('tfg:oxidized_nuclear_residue')
+ .dust()
+ .formula('U?O?(?)')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0x286529)
+ .secondaryColor(0x012702)
+ .iconSet(GTMaterialIconSet.RADIOACTIVE)
+
+ event.create('tfg:refined_nuclear_residue')
+ .dust()
+ .formula('U?(?)')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0x82c383)
+ .secondaryColor('0xffffff')
+ .iconSet(GTMaterialIconSet.RADIOACTIVE)
+
+ // FLiBe Dusts
+
+ event.create('lithium_carbonate')
+ .dust()
+ .components('2x lithium', '1x carbon', '3x oxygen')
+ .formula('Li2CO3')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION)
+ .color(0xffffff)
+ .secondaryColor(0xb7b9bd)
+ .iconSet(GTMaterialIconSet.GLASS)
+
+ event.create('lithium_fluoride')
+ .gem()
+ .components('1x lithium', '1x fluorine')
+ .formula('LiF')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_UNIFICATION)
+ .color(0xffffff)
+ .secondaryColor(0xb7b9bd)
+ .iconSet(GTMaterialIconSet.FLINT)
+
+ event.create('tetrafluoroberyllate')
+ .gem()
+ .components('1x beryllium', '4x fluorine')
+ .formula('BeF4')
+ .flags(GTMaterialFlags.DISABLE_DECOMPOSITION, GTMaterialFlags.NO_UNIFICATION)
+ .color(0xdcdee1)
+ .secondaryColor(0xb7b9bd)
+ .iconSet(GTMaterialIconSet.OPAL)
+
+ //#endregion
+
+ //#region Ingots
+
+ event.create('thorium_230')
+ .ingot()
+ .element(GTElements.get("thorium_230"))
+ .iconSet(GTMaterialIconSet.RADIOACTIVE)
+ .color(0x3b2f37)
+ .secondaryColor(0xECECEC)
+ .radioactiveHazard(1000000)
+
+ event.create("thorium_232")
+ .ingot()
+ .element(GTElements.get("thorium_232"))
+ .iconSet(GTMaterialIconSet.METALLIC)
+ .color(0x694c66)
+ .secondaryColor('0xFFFFFF')
+ .radioactiveHazard(1000)
+
+ //#endregion
+
+ //#region Fuel Pellet
+
+ event.create('uranium_pellet')
+ .ingot()
+ .element(GTElements.U)
+ .iconSet(GTMaterialIconSet.METALLIC)
+ .color(0x216614)
+ .radioactiveHazard(1000000)
+ .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
+
+ event.create('thorium_pellet')
+ .ingot()
+ .element(GTElements.Th)
+ .iconSet(GTMaterialIconSet.METALLIC)
+ .color(0x631e5a)
+ .radioactiveHazard(100000)
+ .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
+
+ event.create('plutonium_pellet')
+ .ingot()
+ .element(GTElements.Pu)
+ .iconSet(GTMaterialIconSet.METALLIC)
+ .color(0xc91414)
+ .radioactiveHazard(10000000)
+ .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
+
+ event.create('tbu-232_pellet')
+ .ingot()
+ .iconSet(GTMaterialIconSet.RADIOACTIVE)
+ .color(0xaa55ba)
+ .secondaryColor(0xECECEC)
+ .radioactiveHazard(10000000)
+ .flags(GTMaterialFlags.GENERATE_BOLT_SCREW, GTMaterialFlags.EXCLUDE_BLOCK_CRAFTING_RECIPES, GTMaterialFlags.NO_SMELTING)
+
+ //#endregion
+
+ }
diff --git a/kubejs/startup_scripts/vintage_improvements/constants.js b/kubejs/startup_scripts/vintage_improvements/constants.js
index a0de34871..d08263ff7 100644
--- a/kubejs/startup_scripts/vintage_improvements/constants.js
+++ b/kubejs/startup_scripts/vintage_improvements/constants.js
@@ -1,7 +1,7 @@
// priority: 0
"use strict";
-global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER = 2;
+global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER = 4;
global.VINTAGE_IMPROVEMENTS_DISABLED_ITEMS = [
diff --git a/pakku-lock.json b/pakku-lock.json
index e318bebcf..4021b9a11 100644
--- a/pakku-lock.json
+++ b/pakku-lock.json
@@ -873,33 +873,9 @@
"modrinth": "SOw6jD6x"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "AdvancedPeripherals-1.20.1-0.7.44r.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "neoforge",
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6623/216/AdvancedPeripherals-1.20.1-0.7.44r.jar",
- "id": "6623216",
- "parent_id": "431725",
- "hashes": {
- "sha1": "7dd9807debcc9eb475bc67a5156bca19a7b46578",
- "md5": "8731f8e8503a6e7a5f9f87d59b96d13e"
- },
- "required_dependencies": [
- "282001"
- ],
- "size": 885693,
- "date_published": "2025-06-06T22:01:06.353Z"
- },
{
"type": "modrinth",
- "file_name": "AdvancedPeripherals-1.20.1-0.7.44r.jar",
+ "file_name": "AdvancedPeripherals-1.20.1-0.7.45r.jar",
"mc_versions": [
"1.20.1"
],
@@ -908,18 +884,42 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/SOw6jD6x/versions/toqbt6Np/AdvancedPeripherals-1.20.1-0.7.44r.jar",
- "id": "toqbt6Np",
+ "url": "https://cdn.modrinth.com/data/SOw6jD6x/versions/MIJ2rMf2/AdvancedPeripherals-1.20.1-0.7.45r.jar",
+ "id": "MIJ2rMf2",
"parent_id": "SOw6jD6x",
"hashes": {
- "sha512": "79c5ef416fbda79fbf8cda44fc3ae5515e6096c975d5c17c99407ea4e69a4b9523f853d7bb5f3677c697c8b0838ccc790d86afb722af6f0adc01e539d1eb71dc",
- "sha1": "35c59c04958f068724ae2b7e6b799556b3fdeb84"
+ "sha512": "bfc68217bccd5836ffa6aa3ced7b4fa22475a8a08a9cd1eb267f21ef9d2789da4e9540cca26d8e195422327e929ebae4caa1115c6dda6dff195f26995b61f4e6",
+ "sha1": "b1e0004ba8034abcc85094bb9d9690db5dc1d13e"
},
"required_dependencies": [
"gu7yAYhd"
],
- "size": 885692,
- "date_published": "2025-06-06T22:00:33.668272Z"
+ "size": 887231,
+ "date_published": "2025-08-02T14:27:16.384625Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "AdvancedPeripherals-1.20.1-0.7.45r.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "neoforge",
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6839/573/AdvancedPeripherals-1.20.1-0.7.45r.jar",
+ "id": "6839573",
+ "parent_id": "431725",
+ "hashes": {
+ "sha1": "9e18b9ad6ec7936c1c24a24608c4472f71f85534",
+ "md5": "aa6d81eb86bbeb38341bca4ab0519161"
+ },
+ "required_dependencies": [
+ "282001"
+ ],
+ "size": 887231,
+ "date_published": "2025-08-02T14:27:45.917Z"
}
]
},
@@ -1116,32 +1116,9 @@
"modrinth": "XxWD5pD3"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "appliedenergistics2-forge-15.4.6.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6763/576/appliedenergistics2-forge-15.4.6.jar",
- "id": "6763576",
- "parent_id": "223794",
- "hashes": {
- "sha1": "773c809c67ef75979476a1c7062a754b497d9260",
- "md5": "8d8e302b67a35b2bc52971e5e4ae5b67"
- },
- "required_dependencies": [
- "1173950"
- ],
- "size": 8423678,
- "date_published": "2025-07-13T11:29:51.753Z"
- },
{
"type": "modrinth",
- "file_name": "appliedenergistics2-forge-15.4.6.jar",
+ "file_name": "appliedenergistics2-forge-15.4.7.jar",
"mc_versions": [
"1.20.1"
],
@@ -1149,18 +1126,41 @@
"forge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/XxWD5pD3/versions/lqOU9Ohx/appliedenergistics2-forge-15.4.6.jar",
- "id": "lqOU9Ohx",
+ "url": "https://cdn.modrinth.com/data/XxWD5pD3/versions/GjbmnmSR/appliedenergistics2-forge-15.4.7.jar",
+ "id": "GjbmnmSR",
"parent_id": "XxWD5pD3",
"hashes": {
- "sha512": "5d1a172f28e1fe2deada9a69af4e07242535d72ce3d9eefaebebd863732c7d9a9f671c712cd599570ee613daa461a85bc895932666dc4f6acbed0421b650f881",
- "sha1": "773c809c67ef75979476a1c7062a754b497d9260"
+ "sha512": "3f43f6e391319a15a697cde26cd7d8edffa4a1c57c87e54528ca437a34fb8aea722b85981b813cc5783f5c5f7de5fda7a6a4888e0a6e4c3788d3ae40ff52fd9a",
+ "sha1": "0a178077c67d6ab11d254aa724c760244add5ed9"
},
"required_dependencies": [
"Ck4E7v7R"
],
- "size": 8423678,
- "date_published": "2025-07-13T11:29:51.019917Z"
+ "size": 8423742,
+ "date_published": "2025-07-31T21:05:49.705148Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "appliedenergistics2-forge-15.4.7.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6833/937/appliedenergistics2-forge-15.4.7.jar",
+ "id": "6833937",
+ "parent_id": "223794",
+ "hashes": {
+ "sha1": "0a178077c67d6ab11d254aa724c760244add5ed9",
+ "md5": "d7f2c4803b83c234e2eee41ade69ff41"
+ },
+ "required_dependencies": [
+ "1173950"
+ ],
+ "size": 8423742,
+ "date_published": "2025-07-31T21:05:46.307Z"
}
]
},
@@ -1260,9 +1260,33 @@
"modrinth": "9q4wtMjp"
},
"files": [
+ {
+ "type": "modrinth",
+ "file_name": "afc-1.0.19-1.20.1.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/cFxHfQdz/afc-1.0.19-1.20.1.jar",
+ "id": "cFxHfQdz",
+ "parent_id": "9q4wtMjp",
+ "hashes": {
+ "sha512": "621ba1fa49e26060b7a14452d7b7b37956de3279ecc2bd96fd178c55eaf73b69fdf39c64ff46de4f283d30093e29c5f236e57cad97ad5476544aa2fc94f8bbef",
+ "sha1": "e2ccbe527a06bd242687685dbcc1a12f4e790b88"
+ },
+ "required_dependencies": [
+ "nU0bVIaL",
+ "JaCEZUhg"
+ ],
+ "size": 5118951,
+ "date_published": "2025-07-26T19:47:57.540420Z"
+ },
{
"type": "curseforge",
- "file_name": "afc-1.0.18-1.20.1.jar",
+ "file_name": "afc-1.0.19-1.20.1.jar",
"mc_versions": [
"1.20.1"
],
@@ -1271,42 +1295,18 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6635/351/afc-1.0.18-1.20.1.jar",
- "id": "6635351",
+ "url": "https://edge.forgecdn.net/files/6814/891/afc-1.0.19-1.20.1.jar",
+ "id": "6814891",
"parent_id": "877545",
"hashes": {
- "sha1": "c2cfffcce7ff7c1c978326a674389fcbdfb61fd4",
- "md5": "cb8183be65ca88c20b111e9ae9083dd7"
+ "sha1": "e2ccbe527a06bd242687685dbcc1a12f4e790b88",
+ "md5": "c6211d4edfb5fd65c3922fb1d87bb700"
},
"required_dependencies": [
"302973"
],
- "size": 5117468,
- "date_published": "2025-06-10T03:09:58.637Z"
- },
- {
- "type": "modrinth",
- "file_name": "afc-1.0.18-1.20.1.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "forge",
- "neoforge"
- ],
- "release_type": "release",
- "url": "https://cdn.modrinth.com/data/9q4wtMjp/versions/2LnBYYOD/afc-1.0.18-1.20.1.jar",
- "id": "2LnBYYOD",
- "parent_id": "9q4wtMjp",
- "hashes": {
- "sha512": "1ba3efbc9a697abac6e1fd087190fc15b2ddf6f039f0772ba44afc9629ff5f99377ee134fb8c12586e8594d525b0e805d15c6e3520d401175436f9c1914ea432",
- "sha1": "c2cfffcce7ff7c1c978326a674389fcbdfb61fd4"
- },
- "required_dependencies": [
- "JaCEZUhg"
- ],
- "size": 5117468,
- "date_published": "2025-06-10T03:08:41.089924Z"
+ "size": 5118951,
+ "date_published": "2025-07-26T19:48:35.320Z"
}
]
},
@@ -1679,7 +1679,7 @@
},
{
"type": "curseforge",
- "file_name": "balm-forge-1.20.1-7.3.31-all.jar",
+ "file_name": "balm-forge-1.20.1-7.3.33-all.jar",
"mc_versions": [
"1.20.1",
"1.20"
@@ -1688,16 +1688,16 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6588/893/balm-forge-1.20.1-7.3.31-all.jar",
- "id": "6588893",
+ "url": "https://edge.forgecdn.net/files/6784/115/balm-forge-1.20.1-7.3.33-all.jar",
+ "id": "6784115",
"parent_id": "531761",
"hashes": {
- "sha1": "e1c4061cab1e743ef43a94d1b0f4769e57722389",
- "md5": "07fcc1940d31dd3e83d475118ff41a1e"
+ "sha1": "190bb6d7e3b51f786fc3968bd142ca8705cd85ac",
+ "md5": "2ff37a0442953ee751f788bea5658473"
},
"required_dependencies": [],
- "size": 594928,
- "date_published": "2025-05-29T07:24:54.943Z"
+ "size": 596329,
+ "date_published": "2025-07-18T16:27:33.377Z"
}
]
},
@@ -2782,7 +2782,7 @@
},
{
"type": "curseforge",
- "file_name": "clienttweaks-forge-1.20.1-11.1.3.jar",
+ "file_name": "clienttweaks-forge-1.20.1-11.1.4.jar",
"mc_versions": [
"1.20.1",
"1.20"
@@ -2791,18 +2791,18 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6224/941/clienttweaks-forge-1.20.1-11.1.3.jar",
- "id": "6224941",
+ "url": "https://edge.forgecdn.net/files/6778/900/clienttweaks-forge-1.20.1-11.1.4.jar",
+ "id": "6778900",
"parent_id": "251407",
"hashes": {
- "sha1": "911754379bb80b21ee02fdb974cd99d7eb759998",
- "md5": "edcc1423695bbd79d4a8a515b8274afe"
+ "sha1": "6389f338e671a149138175fd5ef9fe096d276970",
+ "md5": "24d4ad737448d3d2243042d33bfe084d"
},
"required_dependencies": [
"531761"
],
- "size": 131625,
- "date_published": "2025-02-23T10:22:48.593Z"
+ "size": 137803,
+ "date_published": "2025-07-17T13:16:38.110Z"
}
]
},
@@ -3550,7 +3550,7 @@
},
{
"type": "curseforge",
- "file_name": "craftingtweaks-forge-1.20.1-18.2.5.jar",
+ "file_name": "craftingtweaks-forge-1.20.1-18.2.6.jar",
"mc_versions": [
"1.20.1",
"1.20"
@@ -3559,18 +3559,18 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/5623/639/craftingtweaks-forge-1.20.1-18.2.5.jar",
- "id": "5623639",
+ "url": "https://edge.forgecdn.net/files/6784/525/craftingtweaks-forge-1.20.1-18.2.6.jar",
+ "id": "6784525",
"parent_id": "233071",
"hashes": {
- "sha1": "68f0872bde448a1134c4f54946d227160ac0af93",
- "md5": "6724496e06cf11f8858910fb74bf21d3"
+ "sha1": "a4742067cceea47f4f8f7d25822b0ff8a8fa6268",
+ "md5": "4cc9afa7848e639cd7e0f1b250925247"
},
"required_dependencies": [
"531761"
],
- "size": 221275,
- "date_published": "2024-08-13T07:08:04.687Z"
+ "size": 230973,
+ "date_published": "2025-07-18T18:08:51.337Z"
}
]
},
@@ -4558,9 +4558,35 @@
"modrinth": "8Aatj9Zy"
},
"files": [
+ {
+ "type": "modrinth",
+ "file_name": "diggerhelmet-1.20.1-1.0.0.22.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "forge",
+ "neoforge"
+ ],
+ "release_type": "beta",
+ "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/ppopNUZO/diggerhelmet-1.20.1-1.0.0.22.jar",
+ "id": "ppopNUZO",
+ "parent_id": "8Aatj9Zy",
+ "hashes": {
+ "sha512": "6b749361f6b86245e23afc45dc13e088183d194397b37abbdde8f238007b457e8d5afe93462cf355307318c4446764b95570184eed18c173db82da51c5b57ad2",
+ "sha1": "025871a4f3813999e085ee36c62f0355e335cf5a"
+ },
+ "required_dependencies": [
+ "8BmcQJ2H",
+ "JaCEZUhg",
+ "vvuO3ImH"
+ ],
+ "size": 198758,
+ "date_published": "2025-07-29T10:55:17.255237Z"
+ },
{
"type": "curseforge",
- "file_name": "diggerhelmet-1.20.1-1.0.0.20.jar",
+ "file_name": "diggerhelmet-1.20.1-1.0.0.22.jar",
"mc_versions": [
"1.20.1"
],
@@ -4569,46 +4595,20 @@
"forge"
],
"release_type": "beta",
- "url": "https://edge.forgecdn.net/files/6613/364/diggerhelmet-1.20.1-1.0.0.20.jar",
- "id": "6613364",
+ "url": "https://edge.forgecdn.net/files/6821/597/diggerhelmet-1.20.1-1.0.0.22.jar",
+ "id": "6821597",
"parent_id": "1243596",
"hashes": {
- "sha1": "85aaa5c0814177c6ba0c27deb190543e37d3ed04",
- "md5": "d9bfaeabad9b45f412efa2a4b02a3d53"
+ "sha1": "025871a4f3813999e085ee36c62f0355e335cf5a",
+ "md5": "d424c2ecb1069a25f9b09318f547ce1a"
},
"required_dependencies": [
- "388172",
+ "302973",
"309927",
- "302973"
+ "388172"
],
- "size": 166469,
- "date_published": "2025-06-04T11:33:42.337Z"
- },
- {
- "type": "modrinth",
- "file_name": "diggerhelmet-1.20.1-1.0.0.18.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "forge",
- "neoforge"
- ],
- "release_type": "alpha",
- "url": "https://cdn.modrinth.com/data/8Aatj9Zy/versions/F1OxL4u7/diggerhelmet-1.20.1-1.0.0.18.jar",
- "id": "F1OxL4u7",
- "parent_id": "8Aatj9Zy",
- "hashes": {
- "sha512": "6fccff7666420fef07997f56d2951465f7c58b1ec4c6de144f643ba0c9365ed47bc2c0636d92d97c457d2a1a7df4a25adf1492ab91954f92ee3aec15e5b441e1",
- "sha1": "2020d274cfb18c26c1ee079bf45673e781a6bae5"
- },
- "required_dependencies": [
- "8BmcQJ2H",
- "vvuO3ImH",
- "JaCEZUhg"
- ],
- "size": 163250,
- "date_published": "2025-04-16T13:26:55.189626Z"
+ "size": 198758,
+ "date_published": "2025-07-28T15:29:34.387Z"
}
]
},
@@ -5092,7 +5092,7 @@
},
{
"type": "curseforge",
- "file_name": "entityculling-forge-1.8.1-mc1.20.1.jar",
+ "file_name": "entityculling-forge-1.8.2-mc1.20.1.jar",
"mc_versions": [
"1.20.1"
],
@@ -5100,16 +5100,16 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6734/976/entityculling-forge-1.8.1-mc1.20.1.jar",
- "id": "6734976",
+ "url": "https://edge.forgecdn.net/files/6780/226/entityculling-forge-1.8.2-mc1.20.1.jar",
+ "id": "6780226",
"parent_id": "448233",
"hashes": {
- "sha1": "17141fc841d712091a3f2bcc1ed0c2ab2be03819",
- "md5": "300be80745ee385c79264379fa4c9e6c"
+ "sha1": "0a465a4dbbc4b21b3465bb15796635b5c1024cf4",
+ "md5": "27a0e6445bca14ddd3bfc7c28a0b2077"
},
"required_dependencies": [],
- "size": 477566,
- "date_published": "2025-07-05T23:08:24.603Z"
+ "size": 478568,
+ "date_published": "2025-07-17T19:31:26.417Z"
}
]
},
@@ -5199,7 +5199,7 @@
"files": [
{
"type": "modrinth",
- "file_name": "everycomp-1.20-2.8.13-forge.jar",
+ "file_name": "everycomp-1.20-2.8.15-forge.jar",
"mc_versions": [
"1.20.1"
],
@@ -5207,22 +5207,22 @@
"forge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/OApRuFlY/everycomp-1.20-2.8.13-forge.jar",
- "id": "OApRuFlY",
+ "url": "https://cdn.modrinth.com/data/eiktJyw1/versions/oIyvoBy6/everycomp-1.20-2.8.15-forge.jar",
+ "id": "oIyvoBy6",
"parent_id": "eiktJyw1",
"hashes": {
- "sha512": "5b962ea433301fe6b293f492f46037331477cfbaba6663e9b3b127975fa38b2bd4ac4eecd646038caeb837985e297e9e05fcd3102052180730224d8bf839538f",
- "sha1": "10fd16961204edb982c9b807393720ba47c7f5a6"
+ "sha512": "4461a1c2e767e5aa40baeb9e356289ffd7daf2100c3b7470ebbeb6d11ba979674f84234fb8d1446a2afac210bac188471404ff7da037a765f5073caebf46833b",
+ "sha1": "cedfb61a5ec202de8aacef40b1abab49d9936066"
},
"required_dependencies": [
"twkfQtEc"
],
- "size": 2770655,
- "date_published": "2025-07-15T06:10:49.582994Z"
+ "size": 2777935,
+ "date_published": "2025-07-30T05:01:45.107707Z"
},
{
"type": "curseforge",
- "file_name": "everycomp-1.20-2.8.13-forge.jar",
+ "file_name": "everycomp-1.20-2.8.15-forge.jar",
"mc_versions": [
"1.20.1"
],
@@ -5230,18 +5230,18 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6770/680/everycomp-1.20-2.8.13-forge.jar",
- "id": "6770680",
+ "url": "https://edge.forgecdn.net/files/6827/718/everycomp-1.20-2.8.15-forge.jar",
+ "id": "6827718",
"parent_id": "628539",
"hashes": {
- "sha1": "10fd16961204edb982c9b807393720ba47c7f5a6",
- "md5": "f751269938565e1372f0d874bb06d228"
+ "sha1": "cedfb61a5ec202de8aacef40b1abab49d9936066",
+ "md5": "12560df2919a149c357b741a257cf64a"
},
"required_dependencies": [
"499980"
],
- "size": 2770655,
- "date_published": "2025-07-15T06:10:37.127Z"
+ "size": 2777935,
+ "date_published": "2025-07-30T05:01:30.480Z"
}
]
},
@@ -5660,7 +5660,7 @@
"files": [
{
"type": "curseforge",
- "file_name": "ftb-quests-forge-2001.4.13.jar",
+ "file_name": "ftb-quests-forge-2001.4.14.jar",
"mc_versions": [
"1.20.1"
],
@@ -5668,20 +5668,20 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6431/737/ftb-quests-forge-2001.4.13.jar",
- "id": "6431737",
+ "url": "https://edge.forgecdn.net/files/6829/212/ftb-quests-forge-2001.4.14.jar",
+ "id": "6829212",
"parent_id": "289412",
"hashes": {
- "sha1": "ad087e2dc897c7e2eea36901a05da9518bc0673f",
- "md5": "182d3bc7450d50ba9b71e5a08e903d9e"
+ "sha1": "479d9ad654984f5cedf23c14a311f3cff4efbcb7",
+ "md5": "a02b8885bc618a54f41885ddb24e2d8f"
},
"required_dependencies": [
- "404468",
+ "419699",
"404465",
- "419699"
+ "404468"
],
- "size": 1215007,
- "date_published": "2025-04-17T08:08:04.603Z"
+ "size": 1222711,
+ "date_published": "2025-07-30T15:39:30.857Z"
}
]
},
@@ -5855,15 +5855,15 @@
"sha1": "da528b28187269d2c44c8192e89c701187953d1e"
},
"required_dependencies": [
- "J81TRJWm",
- "CVT4pFB2"
+ "CVT4pFB2",
+ "J81TRJWm"
],
"size": 3573433,
"date_published": "2025-07-18T21:12:19.752104Z"
},
{
"type": "curseforge",
- "file_name": "fancymenu_forge_3.6.2_MC_1.20.1.jar",
+ "file_name": "fancymenu_forge_3.6.4_MC_1.20.1.jar",
"mc_versions": [
"1.20.1"
],
@@ -5871,19 +5871,19 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6722/592/fancymenu_forge_3.6.2_MC_1.20.1.jar",
- "id": "6722592",
+ "url": "https://edge.forgecdn.net/files/6785/137/fancymenu_forge_3.6.4_MC_1.20.1.jar",
+ "id": "6785137",
"parent_id": "367706",
"hashes": {
- "sha1": "bcfefe52746b824d70e86ad4815f01b532da2dfc",
- "md5": "2a5acb451527ce421c2a8e8a3c0149c1"
+ "sha1": "da528b28187269d2c44c8192e89c701187953d1e",
+ "md5": "37521ce35eb8a34995f3d2e7e90ddc30"
},
"required_dependencies": [
- "938643",
- "410295"
+ "410295",
+ "938643"
],
- "size": 3573435,
- "date_published": "2025-07-02T19:55:18.910Z"
+ "size": 3573433,
+ "date_published": "2025-07-18T21:12:12.473Z"
}
]
},
@@ -6334,33 +6334,9 @@
"modrinth": "5bKeBHw2"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "Firmalife-1.20.1-2.1.21.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "neoforge",
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6742/946/Firmalife-1.20.1-2.1.21.jar",
- "id": "6742946",
- "parent_id": "453394",
- "hashes": {
- "sha1": "eb8493c32134d58bb63d85fb7664fe10556628f0",
- "md5": "e2acee0939ae270dfabe0ca45f3cacb6"
- },
- "required_dependencies": [
- "302973"
- ],
- "size": 4628505,
- "date_published": "2025-07-08T01:40:49.807Z"
- },
{
"type": "modrinth",
- "file_name": "Firmalife-1.20.1-2.1.21.jar",
+ "file_name": "Firmalife-1.20.1-2.1.22.jar",
"mc_versions": [
"1.20.1"
],
@@ -6369,18 +6345,42 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/UwgG4DYC/Firmalife-1.20.1-2.1.21.jar",
- "id": "UwgG4DYC",
+ "url": "https://cdn.modrinth.com/data/5bKeBHw2/versions/ZXszXbjJ/Firmalife-1.20.1-2.1.22.jar",
+ "id": "ZXszXbjJ",
"parent_id": "5bKeBHw2",
"hashes": {
- "sha512": "e514abd47658b725c644c440c456909b22aaef2fd2c5a880430991399603ced4ca56612666dc3d31e1226188d67de04febcddd1ed7e0f117c1fe7178de206a71",
- "sha1": "eb8493c32134d58bb63d85fb7664fe10556628f0"
+ "sha512": "4ae0cb649301feed7312c978272f4c6146a9056a9357b13cb25361c41f43551ce83cbda1ecbb43a3eefdc7b3197059b67e827f392221a2e56362c95c2b458cbf",
+ "sha1": "2d914eae0dff75cea1d5766118382cf89621506f"
},
"required_dependencies": [
"JaCEZUhg"
],
- "size": 4628505,
- "date_published": "2025-07-08T01:40:53.393391Z"
+ "size": 4628395,
+ "date_published": "2025-07-27T13:22:55.237813Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "Firmalife-1.20.1-2.1.22.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "neoforge",
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6817/407/Firmalife-1.20.1-2.1.22.jar",
+ "id": "6817407",
+ "parent_id": "453394",
+ "hashes": {
+ "sha1": "2d914eae0dff75cea1d5766118382cf89621506f",
+ "md5": "0a6fd6eb9e5221a8af7206931ba10c5a"
+ },
+ "required_dependencies": [
+ "302973"
+ ],
+ "size": 4628395,
+ "date_published": "2025-07-27T13:22:52.537Z"
}
]
},
@@ -6951,8 +6951,8 @@
{
"pakku_id": "fGbENE8OFcqNQw7Z",
"pakku_links": [
- "rbYKnXWzT4megBI6",
- "Nw8xTCQngHA15ilh"
+ "Nw8xTCQngHA15ilh",
+ "WN9DdLqsRKVeZIc9"
],
"type": "MOD",
"side": "BOTH",
@@ -6971,7 +6971,7 @@
"files": [
{
"type": "modrinth",
- "file_name": "greate-0.0.45.jar",
+ "file_name": "greate-0.0.48.jar",
"mc_versions": [
"1.20.1"
],
@@ -6980,23 +6980,23 @@
"neoforge"
],
"release_type": "alpha",
- "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/2DOzdz5j/greate-0.0.45.jar",
- "id": "2DOzdz5j",
+ "url": "https://cdn.modrinth.com/data/8wDcQuht/versions/cWoAmFlf/greate-0.0.48.jar",
+ "id": "cWoAmFlf",
"parent_id": "8wDcQuht",
"hashes": {
- "sha512": "cb1c218604364c9659a9e76ef1ed2b12e14beb17f8515dd7de55ccd91f2d5ac0f88c7d49a74f92e05b09ecf9f86a040cedb821f9a94093d36f3d437990f49367",
- "sha1": "65ae0462ffc07fc66ad13db7ca682c8b0cf34dfb"
+ "sha512": "c38a2bd9546f6b1a0fc1d500aea9ff1884d080bb42f803a19abba26438c22bed83051871a311cab1f56eee09df59426243df2bb0f495d8c61cab268edc3df2bc",
+ "sha1": "4a76bcbed081397312c837b24f818da497410d30"
},
"required_dependencies": [
"7tG215v7",
"LNytGWDc"
],
- "size": 1531791,
- "date_published": "2025-07-05T02:56:36.684356Z"
+ "size": 1504296,
+ "date_published": "2025-07-23T00:01:40.637121Z"
},
{
"type": "curseforge",
- "file_name": "greate-0.0.45.jar",
+ "file_name": "greate-0.0.48.jar",
"mc_versions": [
"1.20.1"
],
@@ -7005,24 +7005,24 @@
"forge"
],
"release_type": "alpha",
- "url": "https://edge.forgecdn.net/files/6731/680/greate-0.0.45.jar",
- "id": "6731680",
+ "url": "https://edge.forgecdn.net/files/6801/78/greate-0.0.48.jar",
+ "id": "6801078",
"parent_id": "901996",
"hashes": {
- "sha1": "65ae0462ffc07fc66ad13db7ca682c8b0cf34dfb",
- "md5": "06bc4f56be0a3bd6c62c50a245770251"
+ "sha1": "4a76bcbed081397312c837b24f818da497410d30",
+ "md5": "74b6f2135b9bd16d04c4d60bcaa846eb"
},
"required_dependencies": [
"890405",
"328085"
],
- "size": 1531791,
- "date_published": "2025-07-05T02:56:34.207Z"
+ "size": 1504296,
+ "date_published": "2025-07-23T00:01:38.180Z"
}
]
},
{
- "pakku_id": "rbYKnXWzT4megBI6",
+ "pakku_id": "WN9DdLqsRKVeZIc9",
"type": "MOD",
"side": "BOTH",
"slug": {
@@ -7040,7 +7040,7 @@
"files": [
{
"type": "curseforge",
- "file_name": "gtceu-1.20.1-1.6.4.jar",
+ "file_name": "gtceu-1.20.1-7.0.2.jar",
"mc_versions": [
"1.20.1"
],
@@ -7048,20 +7048,20 @@
"forge"
],
"release_type": "beta",
- "url": "https://edge.forgecdn.net/files/6254/458/gtceu-1.20.1-1.6.4.jar",
- "id": "6254458",
+ "url": "https://edge.forgecdn.net/files/6792/524/gtceu-1.20.1-7.0.2.jar",
+ "id": "6792524",
"parent_id": "890405",
"hashes": {
- "sha1": "8f9705cb309bc862f1abf684717bc6c87165604a",
- "md5": "64d24463a9d7c6e1171ad5a67b50830f"
+ "sha1": "602e4690cf99ddd49146a26f0629ac53bd6813db",
+ "md5": "720754016342b1f3446befb3b53013d2"
},
"required_dependencies": [],
- "size": 11787892,
- "date_published": "2025-03-02T06:22:56.823Z"
+ "size": 17590375,
+ "date_published": "2025-07-20T19:38:07.397Z"
},
{
"type": "modrinth",
- "file_name": "gtceu-1.20.1-1.6.4.jar",
+ "file_name": "gtceu-1.20.1-7.0.2.jar",
"mc_versions": [
"1.20.1"
],
@@ -7069,16 +7069,16 @@
"forge"
],
"release_type": "beta",
- "url": "https://cdn.modrinth.com/data/7tG215v7/versions/agSy623h/gtceu-1.20.1-1.6.4.jar",
- "id": "agSy623h",
+ "url": "https://cdn.modrinth.com/data/7tG215v7/versions/a5uJZGHy/gtceu-1.20.1-7.0.2.jar",
+ "id": "a5uJZGHy",
"parent_id": "7tG215v7",
"hashes": {
- "sha512": "3915ddb104b7cd6b6a9c3213749c8d4c0a3c1eb07745fdbe97d881ab6661853ce0d9411aad0fde5c933648bafb03417455184abcc641e6af7f4c5fab92daa418",
- "sha1": "8f9705cb309bc862f1abf684717bc6c87165604a"
+ "sha512": "a288c35f5afc4b8e77c7d207680260939587234c02fc63e2746d290e277e66673143d186ddea7d0a3423e4985fef73857c3985dd6410e4cc55fc1af96713905b",
+ "sha1": "602e4690cf99ddd49146a26f0629ac53bd6813db"
},
"required_dependencies": [],
- "size": 11787892,
- "date_published": "2025-03-02T06:23:05.388636Z"
+ "size": 17590375,
+ "date_published": "2025-07-20T19:38:09.055323Z"
}
]
},
@@ -8404,34 +8404,9 @@
"modrinth": "mhtClB2S"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "kubejs_tfc-1.20.1-1.3.1.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "neoforge",
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6705/934/kubejs_tfc-1.20.1-1.3.1.jar",
- "id": "6705934",
- "parent_id": "841001",
- "hashes": {
- "sha1": "1011fb99d8fd740aaccb538ac742866d2a3f44ee",
- "md5": "67be419b1791cd566ededb55b2f4c71b"
- },
- "required_dependencies": [
- "238086",
- "302973"
- ],
- "size": 829256,
- "date_published": "2025-06-28T21:03:46.970Z"
- },
{
"type": "modrinth",
- "file_name": "kubejs_tfc-1.20.1-1.3.1.jar",
+ "file_name": "kubejs_tfc-1.20.1-1.3.2.jar",
"mc_versions": [
"1.20.1"
],
@@ -8440,19 +8415,41 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/mhtClB2S/versions/rwVy5i7b/kubejs_tfc-1.20.1-1.3.1.jar",
- "id": "rwVy5i7b",
+ "url": "https://cdn.modrinth.com/data/mhtClB2S/versions/bHmFGg9y/kubejs_tfc-1.20.1-1.3.2.jar",
+ "id": "bHmFGg9y",
"parent_id": "mhtClB2S",
"hashes": {
- "sha512": "405efa4da88bfe1c15a747994964436630f0b94c7405a9eb3e2e7b94b4298bb27bded2146213c74ddb5b38e36f107ed5f1d741a919d4c55b1f8410d9f6b50df1",
- "sha1": "1011fb99d8fd740aaccb538ac742866d2a3f44ee"
+ "sha512": "f215d32f6d810f25f6d04a064ed3f000941c300892792a950e5e8674c9f594b0cf8db7520f10980d53bc3d75708f796ac1d81a475f70879a80aacb7143990182",
+ "sha1": "cc388876fb66fc0bd203ff66a413897d62bfc0b2"
},
"required_dependencies": [
"umyGl7zF",
"JaCEZUhg"
],
- "size": 829256,
- "date_published": "2025-06-28T21:02:05.947068Z"
+ "size": 915360,
+ "date_published": "2025-08-01T17:55:42.389855Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "kubejs_tfc-1.20.1-1.3.2.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "neoforge",
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6836/898/kubejs_tfc-1.20.1-1.3.2.jar",
+ "id": "6836898",
+ "parent_id": "841001",
+ "hashes": {
+ "sha1": "cc388876fb66fc0bd203ff66a413897d62bfc0b2",
+ "md5": "c9529b929a56399ed4213c7db10568b3"
+ },
+ "required_dependencies": [],
+ "size": 915360,
+ "date_published": "2025-08-01T17:55:39.120Z"
}
]
},
@@ -9080,7 +9077,7 @@
"files": [
{
"type": "modrinth",
- "file_name": "modernfix-forge-5.24.3+mc1.20.1.jar",
+ "file_name": "modernfix-forge-5.24.4+mc1.20.1.jar",
"mc_versions": [
"1.20.1"
],
@@ -9088,20 +9085,20 @@
"forge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/EAQLVtM2/modernfix-forge-5.24.3+mc1.20.1.jar",
- "id": "EAQLVtM2",
+ "url": "https://cdn.modrinth.com/data/nmDcB62a/versions/CixO1IdG/modernfix-forge-5.24.4+mc1.20.1.jar",
+ "id": "CixO1IdG",
"parent_id": "nmDcB62a",
"hashes": {
- "sha512": "da085b988b270450b3606705c50da504d6f04d5c357521d9acf888c1dbe8b267a5a342e2be555919471ce4aa105268a176e41f801adad991f27e495b3c3c354c",
- "sha1": "53a839bb1b72a72a01f8906873173808d56a72b7"
+ "sha512": "8feb0282084196571489b6c1005c32ce4a3f03a6bff05c2cfe448677e4e36d6580f5f0eb428ef839de1dd9c307bfbd15567fd508fb405d2ae7eaec90796e9b14",
+ "sha1": "daeccb1fbe1d67d426fcc8135cfff463ff0f7e1d"
},
"required_dependencies": [],
- "size": 879295,
- "date_published": "2025-07-13T23:27:09.627766Z"
+ "size": 880557,
+ "date_published": "2025-08-01T23:00:08.205986Z"
},
{
"type": "curseforge",
- "file_name": "modernfix-forge-5.24.3+mc1.20.1.jar",
+ "file_name": "modernfix-forge-5.24.4+mc1.20.1.jar",
"mc_versions": [
"1.20.1"
],
@@ -9109,16 +9106,16 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6766/127/modernfix-forge-5.24.3+mc1.20.1.jar",
- "id": "6766127",
+ "url": "https://edge.forgecdn.net/files/6837/713/modernfix-forge-5.24.4+mc1.20.1.jar",
+ "id": "6837713",
"parent_id": "790626",
"hashes": {
- "sha1": "53a839bb1b72a72a01f8906873173808d56a72b7",
- "md5": "9dc3ef7fb72521888ea3b04f26ba86c3"
+ "sha1": "daeccb1fbe1d67d426fcc8135cfff463ff0f7e1d",
+ "md5": "1d729a283f14fdbf1021ff4f0c88b0ec"
},
"required_dependencies": [],
- "size": 879295,
- "date_published": "2025-07-13T23:27:06.240Z"
+ "size": 880557,
+ "date_published": "2025-08-01T23:00:04.740Z"
}
]
},
@@ -9200,31 +9197,9 @@
"modrinth": "twkfQtEc"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "moonlight-1.20-2.14.13-forge.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "neoforge",
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6740/431/moonlight-1.20-2.14.13-forge.jar",
- "id": "6740431",
- "parent_id": "499980",
- "hashes": {
- "sha1": "845e93a836bbb0ed087d363d32b64cad131bcfc4",
- "md5": "ebc46c08854f1b07cc30b9442dd5daaa"
- },
- "required_dependencies": [],
- "size": 1272670,
- "date_published": "2025-07-07T10:31:53.687Z"
- },
{
"type": "modrinth",
- "file_name": "moonlight-1.20-2.14.13-forge.jar",
+ "file_name": "moonlight-1.20-2.15.4-forge.jar",
"mc_versions": [
"1.20.1"
],
@@ -9233,16 +9208,38 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/97agqQ6E/moonlight-1.20-2.14.13-forge.jar",
- "id": "97agqQ6E",
+ "url": "https://cdn.modrinth.com/data/twkfQtEc/versions/M6iMYHAg/moonlight-1.20-2.15.4-forge.jar",
+ "id": "M6iMYHAg",
"parent_id": "twkfQtEc",
"hashes": {
- "sha512": "a2fe908138ec199aa48d86328fb4f95cab9113d1c7dd296b6d39af86246ccb8cd0c3196d78c6cc89f1a31720ab350575ae82a8952e3532fedd347aeb471421d6",
- "sha1": "845e93a836bbb0ed087d363d32b64cad131bcfc4"
+ "sha512": "16cb6fc96520efbafaec43ca49eb6452ac246d6175f9583409e161a1ea4c693a9bf508eeb3ae03a6ce40d7d6b9e8d5fe692ffc341b1bcb02e838dc98b62c91f4",
+ "sha1": "bc48b915753817cf9171eb09cfd29b074a1d9d5f"
},
"required_dependencies": [],
- "size": 1272670,
- "date_published": "2025-07-07T10:32:06.345999Z"
+ "size": 1286553,
+ "date_published": "2025-08-03T11:05:16.717215Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "moonlight-1.20-2.15.4-forge.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "neoforge",
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6842/474/moonlight-1.20-2.15.4-forge.jar",
+ "id": "6842474",
+ "parent_id": "499980",
+ "hashes": {
+ "sha1": "bc48b915753817cf9171eb09cfd29b074a1d9d5f",
+ "md5": "209a5d244286db065c09d225da619f66"
+ },
+ "required_dependencies": [],
+ "size": 1286553,
+ "date_published": "2025-08-03T11:05:09.920Z"
}
]
},
@@ -10057,7 +10054,7 @@
},
{
"type": "curseforge",
- "file_name": "packetfixer-3.1.3-1.18-1.20.4-merged.jar",
+ "file_name": "packetfixer-3.1.4-1.18-1.20.4-merged.jar",
"mc_versions": [
"1.20.2",
"1.20.3",
@@ -10072,16 +10069,16 @@
"quilt"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6772/308/packetfixer-3.1.3-1.18-1.20.4-merged.jar",
- "id": "6772308",
+ "url": "https://edge.forgecdn.net/files/6778/805/packetfixer-3.1.4-1.18-1.20.4-merged.jar",
+ "id": "6778805",
"parent_id": "689467",
"hashes": {
- "sha1": "1338ae98ccbae20f4419d7f6f2f3510ee207f25c",
- "md5": "c0c347170f64fde6bcfae2004591950c"
+ "sha1": "1cdf5d8b637922b12bc72c575ce1428f1f2cae2a",
+ "md5": "667fc2a50867e1bf3dbc2b6e17ff2271"
},
"required_dependencies": [],
- "size": 163257,
- "date_published": "2025-07-15T16:24:16.450Z"
+ "size": 163268,
+ "date_published": "2025-07-17T12:44:31.040Z"
}
]
},
@@ -10689,8 +10686,8 @@
},
"files": [
{
- "type": "curseforge",
- "file_name": "primitive_creatures-2.0.1-forge-1.20.1.jar",
+ "type": "modrinth",
+ "file_name": "primitive_creatures-2.0.2 -forge-1.20.1.jar",
"mc_versions": [
"1.20.1"
],
@@ -10698,41 +10695,39 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6765/489/primitive_creatures-2.0.1-forge-1.20.1.jar",
- "id": "6765489",
+ "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/uNaRNzlu/primitive_creatures-2.0.2 -forge-1.20.1.jar",
+ "id": "uNaRNzlu",
+ "parent_id": "GfUwaZEm",
+ "hashes": {
+ "sha512": "d2a385a2c11e89e653df517f364d8daf241343fbc90fa5e127d8927c42fec5f019e0d7608b1b60b77799ac63e8504fe33f2db5296b97f20a6133b3c3d96bf8fe",
+ "sha1": "636e1df95059035e65a44102811543e7ef4d54ab"
+ },
+ "required_dependencies": [],
+ "size": 432958,
+ "date_published": "2025-07-27T22:34:47.018170Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "primitive_creatures-2.0.2 -forge-1.20.1.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6819/208/primitive_creatures-2.0.2 -forge-1.20.1.jar",
+ "id": "6819208",
"parent_id": "1218288",
"hashes": {
- "sha1": "3cbf513208873286085c9d067eb5a0ef32e74df0",
- "md5": "8471f856d14e74663c51baf4ec71c71f"
+ "sha1": "636e1df95059035e65a44102811543e7ef4d54ab",
+ "md5": "f42ff9cf3c6443df4ab473a6c54f3ed2"
},
"required_dependencies": [
"388172"
],
- "size": 426778,
- "date_published": "2025-07-13T19:44:01.033Z"
- },
- {
- "type": "modrinth",
- "file_name": "primitive_creatures.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "forge"
- ],
- "release_type": "release",
- "url": "https://cdn.modrinth.com/data/GfUwaZEm/versions/7Jniry0E/primitive_creatures.jar",
- "id": "7Jniry0E",
- "parent_id": "GfUwaZEm",
- "hashes": {
- "sha512": "f6491e76ee34beb910a842f435d11227adae239899bf5a43f8d7c7c6c2c2394de01ec0abac4e19aa2aaeb9417cf58c641ef6ac1bf1d91feb10116d1d8bb29213",
- "sha1": "3cbf513208873286085c9d067eb5a0ef32e74df0"
- },
- "required_dependencies": [
- "8BmcQJ2H"
- ],
- "size": 426778,
- "date_published": "2025-07-15T18:54:11.200101Z"
+ "size": 432958,
+ "date_published": "2025-07-27T22:32:37.827Z"
}
]
},
@@ -10782,8 +10777,8 @@
{
"pakku_id": "sbXThweS7VFdgVMJ",
"pakku_links": [
- "rbYKnXWzT4megBI6",
- "mYY02F5XR0fB6HXF"
+ "mYY02F5XR0fB6HXF",
+ "WN9DdLqsRKVeZIc9"
],
"type": "MOD",
"side": "BOTH",
@@ -11767,31 +11762,9 @@
"modrinth": "nmoqTijg"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "sophisticatedcore-1.20.1-1.2.75.1033.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "neoforge",
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6759/791/sophisticatedcore-1.20.1-1.2.75.1033.jar",
- "id": "6759791",
- "parent_id": "618298",
- "hashes": {
- "sha1": "ff32a30d40ba71d0af46e58987b1c97c81dfa12a",
- "md5": "e1fd83e7bfb1cd687d20ad8cd0b89be1"
- },
- "required_dependencies": [],
- "size": 1333615,
- "date_published": "2025-07-12T12:41:45.433Z"
- },
{
"type": "modrinth",
- "file_name": "sophisticatedcore-1.20.1-1.2.75.1033.jar",
+ "file_name": "sophisticatedcore-1.20.1-1.2.78.1052.jar",
"mc_versions": [
"1.20.1"
],
@@ -11800,16 +11773,38 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/2Nf2a3j9/sophisticatedcore-1.20.1-1.2.75.1033.jar",
- "id": "2Nf2a3j9",
+ "url": "https://cdn.modrinth.com/data/nmoqTijg/versions/hvAbUDQp/sophisticatedcore-1.20.1-1.2.78.1052.jar",
+ "id": "hvAbUDQp",
"parent_id": "nmoqTijg",
"hashes": {
- "sha512": "af116b9b26be90495dbf6f5e8a28bb1ef4482570a09b3b5bf8845fa38221d2cec3f2283c7d20ed490bc0b600eb6d2906c19bce9c214cfa07d7544260b9134666",
- "sha1": "819a80c185dfc80a738bd99087200ed5f28cfc6e"
+ "sha512": "f5661cb0db3013cb970c3287d8d628de98d8cca21d46356c5198cb88af903a68aab6041cf8c8460c0a501ed523d7186869106a8a9c669a96d51c8fd1db0bb3d0",
+ "sha1": "fbfebafec1de249a2e8c02f9d2d289a0c4df6690"
},
"required_dependencies": [],
- "size": 1333615,
- "date_published": "2025-07-12T12:42:02.625499Z"
+ "size": 1334327,
+ "date_published": "2025-07-27T13:23:22.968294Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "sophisticatedcore-1.20.1-1.2.78.1052.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "neoforge",
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6817/409/sophisticatedcore-1.20.1-1.2.78.1052.jar",
+ "id": "6817409",
+ "parent_id": "618298",
+ "hashes": {
+ "sha1": "a854d7bb990f2ed960cc39e74f0a5e92e4f03747",
+ "md5": "2e44d4484ab623276362e076c6dec66b"
+ },
+ "required_dependencies": [],
+ "size": 1334328,
+ "date_published": "2025-07-27T13:23:07.270Z"
}
]
},
@@ -12103,7 +12098,7 @@
]
},
{
- "pakku_id": "xmb1HbbWASwcnp4D",
+ "pakku_id": "TC156gA6Zt7xe4yH",
"type": "MOD",
"side": "BOTH",
"slug": {
@@ -12143,25 +12138,24 @@
},
{
"type": "modrinth",
- "file_name": "tfcambiental-1.20.1-3.3.0.jar",
+ "file_name": "tfcambiental-1.20.1-3.3.1.jar",
"mc_versions": [
"1.20.1"
],
"loaders": [
- "forge",
- "neoforge"
+ "forge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/K7eNiRnX/versions/L5UbdkdE/tfcambiental-1.20.1-3.3.0.jar",
- "id": "L5UbdkdE",
+ "url": "https://cdn.modrinth.com/data/K7eNiRnX/versions/to7EBq2d/tfcambiental-1.20.1-3.3.1.jar",
+ "id": "to7EBq2d",
"parent_id": "K7eNiRnX",
"hashes": {
- "sha512": "775a6cbe712e13c26061f34670ae417b382e79adbd69ed63b104fb0e4721b23e230c5328b671b9cf8eab7ea0b1c9ccc602f650da8c81923c2be90470e3b37641",
- "sha1": "e1bc92959d8cbfb1d8f16dc124a14a0709d6aba6"
+ "sha512": "ad600d3731080320a4d0a3134fbdbe8041f2671c395fef73d316e8d39d1bc2672f75f583817f6389aa11c456c0508e031ad5e3b9c876ca19b605c1e107a693cb",
+ "sha1": "0837547febfc05c18e224fd8b3f9ed4eef8eb9de"
},
"required_dependencies": [],
- "size": 640033,
- "date_published": "2024-05-05T01:41:06.190734Z"
+ "size": 640068,
+ "date_published": "2025-07-20T08:59:11.860074Z"
}
]
},
@@ -12357,7 +12351,7 @@
]
},
{
- "pakku_id": "oKmbT8tEk75s2Dfq",
+ "pakku_id": "JrHF5fM3A8rUpASP",
"pakku_links": [
"64uacGcEw697jVGs"
],
@@ -12401,7 +12395,7 @@
},
{
"type": "modrinth",
- "file_name": "tfcgroomer-1.20.1-0.1.3.jar",
+ "file_name": "tfcgroomer-1.20.1-0.1.4.jar",
"mc_versions": [
"1.20.1"
],
@@ -12409,16 +12403,16 @@
"forge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/2yZ8ZSeO/versions/XkumbkLd/tfcgroomer-1.20.1-0.1.3.jar",
- "id": "XkumbkLd",
+ "url": "https://cdn.modrinth.com/data/2yZ8ZSeO/versions/qd2e8zR5/tfcgroomer-1.20.1-0.1.4.jar",
+ "id": "qd2e8zR5",
"parent_id": "2yZ8ZSeO",
"hashes": {
- "sha512": "0748272427ca889f733f51e14bebfefcb0d8dc02734ed4be34a75ab55085a835b6e80864a0e857ab2f4c8ed48a7523272d41a008697dc4d7c347806c0376845e",
- "sha1": "292c57951e1fe01e2159287e0392e4afda1d8153"
+ "sha512": "5bb17013e6750ff579ceacba78bca68bff36c21bf093ef5e7c452499bb4e81de3ed24e92c53833f9327991dc0feeb648938b0efcfdd5efad795c1419100488c1",
+ "sha1": "e1bb7e932f900cee6be0bf5faf3fc77111488865"
},
"required_dependencies": [],
- "size": 133849,
- "date_published": "2025-07-20T10:58:34.516207Z"
+ "size": 134178,
+ "date_published": "2025-07-27T17:29:15.479048Z"
}
]
},
@@ -12563,25 +12557,28 @@
]
},
{
- "pakku_id": "B9nXYwWrLGp1WG43",
+ "pakku_id": "g6ZEWfhWiylyXnzM",
"pakku_links": [
- "fMkiGcRPRv1DdRC1",
"64uacGcEw697jVGs"
],
"type": "MOD",
+ "side": "BOTH",
"slug": {
- "curseforge": "tfc-lunch-box"
+ "curseforge": "tfc-lunch-box",
+ "modrinth": "tfc-lunch-box"
},
"name": {
- "curseforge": "TFC Lunch Box"
+ "curseforge": "TFC Lunch Box",
+ "modrinth": "TFC Lunch Box"
},
"id": {
- "curseforge": "1283445"
+ "curseforge": "1283445",
+ "modrinth": "GJoZTKwF"
},
"files": [
{
"type": "curseforge",
- "file_name": "tfclunchbox-1.20.1-1.0.0.22.jar",
+ "file_name": "tfclunchbox-1.20.1-1.0.0.24.jar",
"mc_versions": [
"1.20.1"
],
@@ -12590,18 +12587,42 @@
"forge"
],
"release_type": "beta",
- "url": "https://edge.forgecdn.net/files/6689/934/tfclunchbox-1.20.1-1.0.0.22.jar",
- "id": "6689934",
+ "url": "https://edge.forgecdn.net/files/6834/785/tfclunchbox-1.20.1-1.0.0.24.jar",
+ "id": "6834785",
"parent_id": "1283445",
"hashes": {
- "sha1": "ad7ff4a0262d0b8ef3a10ca4dd6ee6923df51efa",
- "md5": "772963db97a0dbe87df81b2783185383"
+ "sha1": "2b08da39c36d2590f0855e8ca5294f385b68f5ba",
+ "md5": "c610a18a425acb35f95afcda0fb31d90"
},
"required_dependencies": [
"302973"
],
- "size": 112101,
- "date_published": "2025-06-24T06:51:14.177Z"
+ "size": 148531,
+ "date_published": "2025-08-01T03:57:27.717Z"
+ },
+ {
+ "type": "modrinth",
+ "file_name": "tfclunchbox-1.20.1-1.0.0.24.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "forge",
+ "neoforge"
+ ],
+ "release_type": "beta",
+ "url": "https://cdn.modrinth.com/data/GJoZTKwF/versions/FBCKL0ph/tfclunchbox-1.20.1-1.0.0.24.jar",
+ "id": "FBCKL0ph",
+ "parent_id": "GJoZTKwF",
+ "hashes": {
+ "sha512": "710c87bada49f42833f0a9885be50d2c26f0487066727c24b185c2246ee69856fe77a06ea3cb889e38168ad4513ec0d7e6f5846b2a9f1c4009ff55c7f78dd699",
+ "sha1": "2b08da39c36d2590f0855e8ca5294f385b68f5ba"
+ },
+ "required_dependencies": [
+ "JaCEZUhg"
+ ],
+ "size": 148531,
+ "date_published": "2025-08-01T04:08:36.783768Z"
}
]
},
@@ -12723,7 +12744,8 @@
{
"pakku_id": "oV67DS8fDUlcK3I3",
"pakku_links": [
- "64uacGcEw697jVGs"
+ "64uacGcEw697jVGs",
+ "TC156gA6Zt7xe4yH"
],
"type": "MOD",
"side": "BOTH",
@@ -13301,33 +13323,9 @@
"modrinth": "JaCEZUhg"
},
"files": [
- {
- "type": "curseforge",
- "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.16.jar",
- "mc_versions": [
- "1.20.1"
- ],
- "loaders": [
- "neoforge",
- "forge"
- ],
- "release_type": "release",
- "url": "https://edge.forgecdn.net/files/6739/107/TerraFirmaCraft-Forge-1.20.1-3.2.16.jar",
- "id": "6739107",
- "parent_id": "302973",
- "hashes": {
- "sha1": "c87cab744f1e6e17cbe7fa596f3566ac5d904270",
- "md5": "ac46fb177d94e9729c0fa4e7c116dedd"
- },
- "required_dependencies": [
- "306770"
- ],
- "size": 47450381,
- "date_published": "2025-07-06T22:20:34.050Z"
- },
{
"type": "modrinth",
- "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.16.jar",
+ "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.18.jar",
"mc_versions": [
"1.20.1"
],
@@ -13336,26 +13334,50 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/9KLbGimV/TerraFirmaCraft-Forge-1.20.1-3.2.16.jar",
- "id": "9KLbGimV",
+ "url": "https://cdn.modrinth.com/data/JaCEZUhg/versions/Gu29xenE/TerraFirmaCraft-Forge-1.20.1-3.2.18.jar",
+ "id": "Gu29xenE",
"parent_id": "JaCEZUhg",
"hashes": {
- "sha512": "40c6488fbabf77522739d5b49798b7506fdaff75e9ab969e400431ce44ad47e5fe561f98aa0793e72d2300584a98cd8741229cc3449eed99e0359bb6d75fc363",
- "sha1": "c87cab744f1e6e17cbe7fa596f3566ac5d904270"
+ "sha512": "b5a5223fe037e97d0ddd7077697292bfebe6c207a87a3b10c4e51f95c91b0ea8b93fc7cd0240b80256966c14f7fb5850a18f0bcbf7316ae777272833a8038de8",
+ "sha1": "665ebee0375f06d68500447e250df5c8ad75b8b7"
},
"required_dependencies": [
"nU0bVIaL"
],
- "size": 47450381,
- "date_published": "2025-07-06T22:20:39.823132Z"
+ "size": 47452509,
+ "date_published": "2025-08-01T12:29:28.442090Z"
+ },
+ {
+ "type": "curseforge",
+ "file_name": "TerraFirmaCraft-Forge-1.20.1-3.2.18.jar",
+ "mc_versions": [
+ "1.20.1"
+ ],
+ "loaders": [
+ "neoforge",
+ "forge"
+ ],
+ "release_type": "release",
+ "url": "https://edge.forgecdn.net/files/6835/820/TerraFirmaCraft-Forge-1.20.1-3.2.18.jar",
+ "id": "6835820",
+ "parent_id": "302973",
+ "hashes": {
+ "sha1": "665ebee0375f06d68500447e250df5c8ad75b8b7",
+ "md5": "eb6b3344ab06d8a988f36610088ddc60"
+ },
+ "required_dependencies": [
+ "306770"
+ ],
+ "size": 47452509,
+ "date_published": "2025-08-01T12:29:22.040Z"
}
]
},
{
"pakku_id": "yUBBhskMKRv8l92B",
"pakku_links": [
- "rbYKnXWzT4megBI6",
- "64uacGcEw697jVGs"
+ "64uacGcEw697jVGs",
+ "WN9DdLqsRKVeZIc9"
],
"type": "MOD",
"side": "BOTH",
@@ -13374,7 +13396,7 @@
"files": [
{
"type": "modrinth",
- "file_name": "TerraFirmaGreg-Core-Modern-0.7.5.jar",
+ "file_name": "TerraFirmaGreg-Core-Modern-0.7.7.jar",
"mc_versions": [
"1.20.1"
],
@@ -13383,23 +13405,23 @@
"neoforge"
],
"release_type": "release",
- "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/k3OZlwbT/TerraFirmaGreg-Core-Modern-0.7.5.jar",
- "id": "k3OZlwbT",
+ "url": "https://cdn.modrinth.com/data/lNttW2Xl/versions/rCvgRuGz/TerraFirmaGreg-Core-Modern-0.7.7.jar",
+ "id": "rCvgRuGz",
"parent_id": "lNttW2Xl",
"hashes": {
- "sha512": "5092b312fd99c514096151737a01f846aab134c7ea3fd63398d18596fadb0452b1291f55d943249bf3f9e5e3d870dc78f7f21a73b812e5674cf55463a1acee67",
- "sha1": "e601fec291fdcb93110d880b73a647201ab260b5"
+ "sha512": "8545f713052f04899fca10ed04910e1b11114177fb87320a29e584601f25de72837f266777cae4d3d6f4c8ba83ae197eecf31dbd8dd74869868298b2b62eaac4",
+ "sha1": "1aac2233df7eac147444c2df482c7e3f3e05e3d0"
},
"required_dependencies": [
- "JaCEZUhg",
- "7tG215v7"
+ "7tG215v7",
+ "JaCEZUhg"
],
- "size": 459039,
- "date_published": "2025-07-25T20:21:55.177760Z"
+ "size": 460115,
+ "date_published": "2025-08-03T10:48:50.764248Z"
},
{
"type": "curseforge",
- "file_name": "TerraFirmaGreg-Core-Modern-0.7.5.jar",
+ "file_name": "TerraFirmaGreg-Core-Modern-0.7.7.jar",
"mc_versions": [
"1.20.1"
],
@@ -13408,19 +13430,19 @@
"forge"
],
"release_type": "release",
- "url": "https://edge.forgecdn.net/files/6811/416/TerraFirmaGreg-Core-Modern-0.7.5.jar",
- "id": "6811416",
+ "url": "https://edge.forgecdn.net/files/6842/423/TerraFirmaGreg-Core-Modern-0.7.7.jar",
+ "id": "6842423",
"parent_id": "513402",
"hashes": {
- "sha1": "e601fec291fdcb93110d880b73a647201ab260b5",
- "md5": "21d09a094c8f86f31f702113c6c3bf61"
+ "sha1": "1aac2233df7eac147444c2df482c7e3f3e05e3d0",
+ "md5": "030d1227fe09eb37bacd45bb287a7525"
},
"required_dependencies": [
"890405",
"302973"
],
- "size": 459039,
- "date_published": "2025-07-25T20:21:53.920Z"
+ "size": 460115,
+ "date_published": "2025-08-03T10:48:49.527Z"
}
]
},
diff --git a/tacz/Applied Armorer-v1.1.4.1-for114+.zip b/tacz/Applied Armorer-v1.1.4.1.TFG-for114+.zip
similarity index 55%
rename from tacz/Applied Armorer-v1.1.4.1-for114+.zip
rename to tacz/Applied Armorer-v1.1.4.1.TFG-for114+.zip
index 1b4bcf85f..ebf85214c 100644
Binary files a/tacz/Applied Armorer-v1.1.4.1-for114+.zip and b/tacz/Applied Armorer-v1.1.4.1.TFG-for114+.zip differ
diff --git a/tacz/Create Armorer-v1.1.4-for114+.zip b/tacz/Create Armorer-v1.1.4-for114+.zip
deleted file mode 100644
index 0b1d361ae..000000000
Binary files a/tacz/Create Armorer-v1.1.4-for114+.zip and /dev/null differ
diff --git a/tacz/Create Armorer-v1.2.0-for115.zip b/tacz/Create Armorer-v1.2.0-for115.zip
new file mode 100644
index 000000000..72e706e21
Binary files /dev/null and b/tacz/Create Armorer-v1.2.0-for115.zip differ
diff --git a/tacz/ULVguns.zip b/tacz/ulv_guns.zip
similarity index 85%
rename from tacz/ULVguns.zip
rename to tacz/ulv_guns.zip
index 2ec89bee2..074c170d9 100644
Binary files a/tacz/ULVguns.zip and b/tacz/ulv_guns.zip differ