diff --git a/kubejs/assets/tfg/blockstates/cultivation_monitor.json b/kubejs/assets/tfg/blockstates/cultivation_monitor.json new file mode 100644 index 000000000..c94d85c58 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/cultivation_monitor.json @@ -0,0 +1,29 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive"} + ], + "active=false,facing=south": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive", "y": 180 } + ], + "active=false,facing=west": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive", "y": 270 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_inactive", "y": 90 } + ], + + "active=true,facing=north": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active" } + ], + "active=true,facing=south": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active", "y": 180 } + ], + "active=true,facing=west": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active", "y": 270 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/machines/cultivation_monitor/cultivation_monitor_active", "y": 90 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/egh_planter.json b/kubejs/assets/tfg/blockstates/egh_planter.json new file mode 100644 index 000000000..542503c08 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/egh_planter.json @@ -0,0 +1,29 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive", "y": 180 } + ], + "active=false,facing=south": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive" } + ], + "active=false,facing=west": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive", "y": 90 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_inactive", "y": 270 } + ], + + "active=true,facing=north": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active", "y": 180 } + ], + "active=true,facing=south": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active" } + ], + "active=true,facing=west": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active", "y": 90 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/machines/egh_planter/egh_planter_active", "y": 270 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/grow_light.json b/kubejs/assets/tfg/blockstates/grow_light.json new file mode 100644 index 000000000..2e134a150 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/grow_light.json @@ -0,0 +1,29 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive", "y": 180 } + ], + "active=false,facing=south": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive" } + ], + "active=false,facing=west": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive", "y": 90 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/machines/egh_planter/grow_light_inactive", "y": 270 } + ], + + "active=true,facing=north": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active", "y": 180 } + ], + "active=true,facing=south": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active" } + ], + "active=true,facing=west": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active", "y": 90 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/machines/egh_planter/grow_light_active", "y": 270 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/hydroponics_facility.json b/kubejs/assets/tfg/blockstates/hydroponics_facility.json new file mode 100644 index 000000000..9b3d85bc4 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/hydroponics_facility.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/hydroponics_facility", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/hydroponics_facility" + }, + "facing=south": { + "model": "tfg:block/machines/hydroponics_facility", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/hydroponics_facility", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/pisciculture_core.json b/kubejs/assets/tfg/blockstates/pisciculture_core.json new file mode 100644 index 000000000..b81173526 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/pisciculture_core.json @@ -0,0 +1,28 @@ +{ + "variants": { + "active=false,facing=north": [ + { "model": "tfg:block/casings/pisciculture_core" } + ], + "active=false,facing=south": [ + { "model": "tfg:block/casings/pisciculture_core", "y": 180 } + ], + "active=false,facing=west": [ + { "model": "tfg:block/casings/pisciculture_core", "y": 270 } + ], + "active=false,facing=east": [ + { "model": "tfg:block/casings/pisciculture_core", "y": 90 } + ], + "active=true,facing=north": [ + { "model": "tfg:block/casings/pisciculture_core_active" } + ], + "active=true,facing=south": [ + { "model": "tfg:block/casings/pisciculture_core_active", "y": 180 } + ], + "active=true,facing=west": [ + { "model": "tfg:block/casings/pisciculture_core_active", "y": 270 } + ], + "active=true,facing=east": [ + { "model": "tfg:block/casings/pisciculture_core_active", "y": 90 } + ] + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/blockstates/pisciculture_fishery.json b/kubejs/assets/tfg/blockstates/pisciculture_fishery.json new file mode 100644 index 000000000..d5041e422 --- /dev/null +++ b/kubejs/assets/tfg/blockstates/pisciculture_fishery.json @@ -0,0 +1,19 @@ +{ + "variants": { + "facing=east": { + "model": "tfg:block/machines/pisciculture_fishery", + "y": 90 + }, + "facing=north": { + "model": "tfg:block/machines/pisciculture_fishery" + }, + "facing=south": { + "model": "tfg:block/machines/pisciculture_fishery", + "y": 180 + }, + "facing=west": { + "model": "tfg:block/machines/pisciculture_fishery", + "y": 270 + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json b/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json new file mode 100644 index 000000000..2b639dd1e --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_egh.json @@ -0,0 +1 @@ +{"parent":"minecraft:block/cube_all","textures":{"all":"tfg:block/casings/machine_casing_egh_inactive"}} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json b/kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json new file mode 100644 index 000000000..2819b3860 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/machine_casing_egh_active.json @@ -0,0 +1,7 @@ +{ + "parent": "tfg:block/casings/active_casing", + "textures": { + "active": "tfg:block/casings/machine_casing_egh_active", + "active_overlay": "tfg:block/casings/machine_casing_egh_active_emissive" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/pisciculture_core.json b/kubejs/assets/tfg/models/block/casings/pisciculture_core.json new file mode 100644 index 000000000..d9a5e9371 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/pisciculture_core.json @@ -0,0 +1,55 @@ +{ + "format_version": "1.21.6", + "credit": "Made with Blockbench", + "textures": { + "0": "tfg:block/casings/pisciculture_core_side", + "1": "tfg:block/casings/pisciculture_core_top", + "particle": "tfg:block/casings/pisciculture_core_top" + }, + "elements": [ + { + "name": "pisciculture_core", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#1"} + } + } + ], + "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, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 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] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json b/kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json new file mode 100644 index 000000000..b4ae9d996 --- /dev/null +++ b/kubejs/assets/tfg/models/block/casings/pisciculture_core_active.json @@ -0,0 +1,73 @@ +{ + "format_version": "1.21.6", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "textures": { + "0": "tfg:block/casings/pisciculture_core_side_active", + "1": "tfg:block/casings/pisciculture_core_top_active", + "2": "tfg:block/casings/pisciculture_core_active_emissive", + "particle": "tfg:block/casings/pisciculture_core_side_active" + }, + "elements": [ + { + "name": "rotor", + "from": [0, 0, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "east": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "south": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "west": {"uv": [16, 0, 0, 16], "texture": "#0"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#1"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#1"} + } + }, + { + "name": "emissive", + "from": [-0.05, -0.05, -0.05], + "to": [16.05, 16.05, 16.05], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [15.8, 1, 12.8]}, + "faces": { + "north": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "east": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "up": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "down": {"uv": [16, 0, 0, 16], "texture": "#2"} + } + } + ], + "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, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 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] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json new file mode 100644 index 000000000..d38895a45 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_active.json @@ -0,0 +1,95 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "3": "tfg:block/machines/cultivation_monitor/cultivation_monitor_display_active", + "4": "tfg:block/machines/cultivation_monitor/cultivation_monitor", + "particle": "tfg:block/machines/cultivation_monitor/cultivation_monitor" + }, + "elements": [ + { + "name": "arm", + "from": [7, 6, 12.5], + "to": [9, 10, 23.5], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 22.5]}, + "faces": { + "north": {"uv": [3.66667, 0, 3, 0.33333], "rotation": 90, "texture": "#4"}, + "east": {"uv": [3.66667, 0, 3, 1.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3.66667, 1.5, 3, 1.83333], "rotation": 90, "texture": "#4"}, + "west": {"uv": [3, 0, 3.66667, 1.83333], "rotation": 270, "texture": "#4"}, + "up": {"uv": [3.5, 0, 3.83333, 1.83333], "texture": "#4"}, + "down": {"uv": [2.83333, 0, 3.16667, 1.83333], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "monitor", + "from": [-9, -10, 12.10896], + "to": [25, 24, 13.10896], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 14.06147, 15.10896]}, + "faces": { + "north": {"uv": [5.66667, 7.49167, 0, 1.84167], "rotation": 180, "texture": "#4"}, + "east": {"uv": [0, 1.83333, 0.16667, 7.5], "texture": "#4"}, + "south": {"uv": [5.66667, 1.83333, 11.33333, 7.5], "texture": "#4"}, + "west": {"uv": [5.5, 1.83333, 5.66667, 7.5], "texture": "#4"}, + "up": {"uv": [0, 1.83333, 5.66667, 2], "texture": "#4"}, + "down": {"uv": [5.66667, 7.33333, 11.33333, 7.5], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "screen", + "from": [-8, -9, 12.00896], + "to": [24, 23, 12.00896], + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11.06147, 15.10896]}, + "faces": { + "north": {"uv": [16, 16, 0, 0], "rotation": 180, "texture": "#3"}, + "east": {"uv": [0, 0, 10, 0], "rotation": 90, "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#3"}, + "west": {"uv": [0, 0, 10, 0], "rotation": 270, "texture": "#missing"}, + "up": {"uv": [0, 0, 15.33333, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 15.33333, 0], "rotation": 180, "texture": "#missing"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_lefthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [27, 136, 0], + "translation": [-1.25, 0, 0], + "scale": [0.35, 0.35, 0.35] + }, + "head": { + "translation": [0, 0, -9.75], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, 0, -2], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json new file mode 100644 index 000000000..e2f398566 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/cultivation_monitor/cultivation_monitor_inactive.json @@ -0,0 +1,96 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "2": "tfg:block/machines/cultivation_monitor/cultivation_monitor_display_inactive", + "4": "tfg:block/machines/cultivation_monitor/cultivation_monitor", + "particle": "tfg:block/machines/cultivation_monitor/cultivation_monitor" + }, + "elements": [ + { + "name": "arm", + "from": [7, 6, 12.4], + "to": [9, 10, 23.4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 22.4]}, + "faces": { + "north": {"uv": [3.66667, 0, 3, 0.33333], "rotation": 90, "texture": "#4"}, + "east": {"uv": [3.66667, 0, 3, 1.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3.66667, 1.5, 3, 1.83333], "rotation": 90, "texture": "#4"}, + "west": {"uv": [3, 0, 3.66667, 1.83333], "rotation": 270, "texture": "#4"}, + "up": {"uv": [3.5, 0, 3.83333, 1.83333], "texture": "#4"}, + "down": {"uv": [2.83333, 0, 3.16667, 1.83333], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "monitor", + "from": [-9, -10, 12.00896], + "to": [25, 24, 13.00896], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 14.06147, 15.00896]}, + "faces": { + "north": {"uv": [5.66667, 7.49167, 0, 1.84167], "rotation": 180, "texture": "#4"}, + "east": {"uv": [0, 1.83333, 0.16667, 7.5], "texture": "#4"}, + "south": {"uv": [5.66667, 1.83333, 11.33333, 7.5], "texture": "#4"}, + "west": {"uv": [5.5, 1.83333, 5.66667, 7.5], "texture": "#4"}, + "up": {"uv": [0, 1.83333, 5.66667, 2], "texture": "#4"}, + "down": {"uv": [5.66667, 7.33333, 11.33333, 7.5], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "screen", + "from": [-8, -9, 11.90896], + "to": [24, 23, 11.90896], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11.06147, 15.00896]}, + "faces": { + "north": {"uv": [16, 16, 0, 0], "rotation": 180, "texture": "#2"}, + "east": {"uv": [0, 0, 10, 0], "rotation": 90, "texture": "#missing"}, + "south": {"uv": [0, 0, 16, 16], "texture": "#2"}, + "west": {"uv": [0, 0, 10, 0], "rotation": 270, "texture": "#missing"}, + "up": {"uv": [0, 0, 15.33333, 0], "texture": "#missing"}, + "down": {"uv": [0, 0, 15.33333, 0], "rotation": 180, "texture": "#missing"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_lefthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [27, 141, 0], + "translation": [0.5, 1, 0], + "scale": [0.3, 0.3, 0.3] + }, + "head": { + "translation": [0, 0, -2.5], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, 0, 2.5], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json new file mode 100644 index 000000000..0e58ce3da --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_active.json @@ -0,0 +1,313 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 1, 1], + "to": [15.4, 1, 15], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 0, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [4.5, 3.5, 3.25, 0], "texture": "#0"}, + "down": {"uv": [4.5, 0, 3.25, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 1, 0], + "to": [16, 2, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 1, 1], + "to": [5.6, 1, 15], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 0, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [3.25, 3.5, 4.5, 0], "texture": "#0"}, + "down": {"uv": [3.25, 0, 4.5, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 1, 0], + "to": [7, 2, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "east": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "west": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 13.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [2, 4, 3], + "to": [14, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]}, + "faces": { + "north": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "east": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "south": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "west": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 3, 8], "texture": "#0"}, + "down": {"uv": [0, 5.5, 3, 8], "texture": "#0"} + } + }, + { + "name": "water", + "from": [6, 2, 0.1], + "to": [10, 10, 15.9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "east": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "south": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "west": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "up": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"}, + "down": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"} + } + }, + { + "name": "vegetation1", + "from": [0, 9, 0], + "to": [16, 16, 0], + "rotation": {"angle": 22.5, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [0, 11, 0], + "to": [16, 16, 0], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [16, 9, 0], + "to": [16, 16, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [16, 11, 0], + "to": [16, 16, 16], + "rotation": {"angle": 45, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [0, 9, 0], + "to": [0, 16, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 11, 0], + "to": [0, 16, 16], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 9, 16], + "to": [16, 16, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation5", + "from": [0, 11, 16], + "to": [16, 16, 16], + "rotation": {"angle": -45, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "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, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -30, 0], + "translation": [0, -0.75, 0], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6, + { + "name": "vegetation_group1", + "origin": [0, 16, 0], + "color": 0, + "children": [7, 8] + }, + { + "name": "vegetation_group2", + "origin": [0, 16, 0], + "color": 0, + "children": [9, 10] + }, + { + "name": "vegetation_group3", + "origin": [0, 16, 0], + "color": 0, + "children": [11, 12] + }, + { + "name": "vegetation_group4", + "origin": [0, 16, 0], + "color": 0, + "children": [13, 14] + }, + 15 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json new file mode 100644 index 000000000..865c55300 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/egh_planter_inactive.json @@ -0,0 +1,309 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 1, 1], + "to": [15.4, 1, 15], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 0, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [3, 3.5, 1.75, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 1.75, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 1, 0], + "to": [16, 2, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 1, 1], + "to": [5.6, 1, 15], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 0, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [1.75, 3.5, 3, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 3, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 1, 0], + "to": [7, 2, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 1, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 10, 0], + "to": [16, 16, 16], + "faces": { + "north": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "east": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "south": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "west": {"uv": [5.5, 0, 9.5, 1.5], "texture": "#0"}, + "up": {"uv": [9.5, 1.5, 13.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [2, 4, 3], + "to": [14, 10, 13], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 8, 7]}, + "faces": { + "north": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "east": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "south": {"uv": [0, 4, 3, 5.5], "texture": "#0"}, + "west": {"uv": [0, 4, 2.5, 5.5], "texture": "#0"}, + "up": {"uv": [0, 5.5, 3, 8], "texture": "#0"}, + "down": {"uv": [0, 5.5, 3, 8], "texture": "#0"} + } + }, + { + "name": "water", + "from": [6, 2, 0.1], + "to": [10, 10, 15.9], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]}, + "faces": { + "north": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "east": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "south": {"uv": [3, 4, 4, 6], "texture": "#0"}, + "west": {"uv": [3, 6, 7, 8], "texture": "#0"}, + "up": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"}, + "down": {"uv": [4.5, 0, 5.5, 4], "texture": "#0"} + } + }, + { + "name": "vegetation1", + "from": [0, 9, 0], + "to": [16, 16, 0], + "rotation": {"angle": 22.5, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [0, 11, 0], + "to": [16, 16, 0], + "rotation": {"angle": 45, "axis": "x", "origin": [0, 16, 0]}, + "faces": { + "north": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation2", + "from": [16, 9, 0], + "to": [16, 16, 16], + "rotation": {"angle": 22.5, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [16, 11, 0], + "to": [16, 16, 16], + "rotation": {"angle": 45, "axis": "z", "origin": [16, 16, 0]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation3", + "from": [0, 9, 0], + "to": [0, 16, 16], + "rotation": {"angle": -22.5, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "east": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "west": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 11, 0], + "to": [0, 16, 16], + "rotation": {"angle": -45, "axis": "z", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "east": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "south": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "west": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "up": {"uv": [4, 0, 0, 0], "rotation": 90, "texture": "#0"}, + "down": {"uv": [4, 0, 0, 0], "rotation": 270, "texture": "#0"} + } + }, + { + "name": "vegetation4", + "from": [0, 9, 16], + "to": [16, 16, 16], + "rotation": {"angle": -22.5, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [9.5, 5.5, 13.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "south": {"uv": [9.5, 5.75, 13.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 2], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "vegetation5", + "from": [0, 11, 16], + "to": [16, 16, 16], + "rotation": {"angle": -45, "axis": "x", "origin": [0, 16, 16]}, + "faces": { + "north": {"uv": [13.5, 6, 9.5, 7.5], "texture": "#0"}, + "east": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "south": {"uv": [13.5, 6.25, 9.5, 7.5], "texture": "#0"}, + "west": {"uv": [0, 0, 0, 1.5], "texture": "#0"}, + "up": {"uv": [0, 0, 4, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 4, 0], "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 1, 6], + "to": [10, 2, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 1, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "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, 45, 0], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [0, -135, 0], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [30, -30, 0], + "translation": [0, -0.75, 0], + "scale": [0.6, 0.6, 0.6] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6, + { + "name": "vegetation_group1", + "origin": [0, 16, 0], + "color": 0, + "children": [7, 8] + }, + { + "name": "vegetation_group2", + "origin": [0, 16, 0], + "color": 0, + "children": [9, 10] + }, + { + "name": "vegetation_group3", + "origin": [0, 16, 0], + "color": 0, + "children": [11, 12] + }, + { + "name": "vegetation_group4", + "origin": [0, 16, 0], + "color": 0, + "children": [13, 14] + }, + 15 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json new file mode 100644 index 000000000..5b042818c --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_active.json @@ -0,0 +1,170 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "ambientocclusion": false, + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 12, 1.1], + "to": [15.4, 12, 14.9], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 11, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [4.5, 0, 3.25, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 12, 0.1], + "to": [16, 13, 15.9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 12, 1.1], + "to": [5.6, 12, 14.9], + "forge_data": { "block_light": 13, "sky_light": 13 }, + "shade": false, + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 11, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [3.25, 0, 4.5, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 12, 0.1], + "to": [7, 13, 15.9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 15, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "east": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "south": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "west": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "up": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [6, 13, 2], + "to": [10, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 17, 7]}, + "faces": { + "north": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "east": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "south": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "west": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "up": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 12, 6], + "to": [10, 13, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "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": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "rotation": [0, 0, 180], + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [142, 31, -160], + "translation": [-1.5, -3.25, 0], + "scale": [0.6, 0.6, 0.6] + }, + "head": { + "rotation": [0, 0, 180], + "translation": [0, 15, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6 + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json new file mode 100644 index 000000000..07ab7af3b --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/egh_planter/grow_light_inactive.json @@ -0,0 +1,165 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "0": "tfg:block/machines/egh_planter/egh_planter", + "particle": "tfg:block/machines/egh_planter/egh_planter" + }, + "elements": [ + { + "name": "lamps1", + "from": [10.4, 12, 1.1], + "to": [15.4, 12, 14.9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8.4, 11, 0]}, + "faces": { + "north": {"uv": [3.5, 0.5, 5.25, 0.75], "texture": "#0"}, + "east": {"uv": [3.5, 0, 7.5, 0.25], "texture": "#0"}, + "south": {"uv": [3.5, 0.75, 5.25, 1], "texture": "#0"}, + "west": {"uv": [3.5, 0.25, 7.5, 0.5], "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [3, 0, 1.75, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light1", + "from": [9, 12, 0.1], + "to": [16, 13, 15.9], + "rotation": {"angle": 22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [0, 3.75, 1.75, 4], "texture": "#0"}, + "east": {"uv": [0, 4, 0.25, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [1.75, 0, 0, 0.25], "texture": "#0"}, + "west": {"uv": [1.5, 0, 1.75, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [1.75, 4, 0, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 0, 4], "texture": "#0"} + } + }, + { + "name": "lamps2", + "from": [0.6, 12, 1.1], + "to": [5.6, 12, 14.9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [7.6, 11, 0]}, + "faces": { + "north": {"uv": [5.25, 0.5, 3.5, 0.75], "texture": "#0"}, + "east": {"uv": [7.5, 0.25, 3.5, 0.5], "texture": "#0"}, + "south": {"uv": [5.25, 0.75, 3.5, 1], "texture": "#0"}, + "west": {"uv": [7.5, 0, 3.5, 0.25], "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [1.75, 0, 3, 3.5], "texture": "#0"} + } + }, + { + "name": "grow_light2", + "from": [0, 12, 0.1], + "to": [7, 13, 15.9], + "rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 0]}, + "faces": { + "north": {"uv": [1.75, 3.75, 0, 4], "texture": "#0"}, + "east": {"uv": [1.5, 4, 1.75, 0], "rotation": 90, "texture": "#0"}, + "south": {"uv": [0, 0, 1.75, 0.25], "texture": "#0"}, + "west": {"uv": [0, 0, 0.25, 4], "rotation": 90, "texture": "#0"}, + "up": {"uv": [0, 4, 1.75, 0], "texture": "#0"}, + "down": {"uv": [0, 0, 1.75, 4], "texture": "#0"} + } + }, + { + "name": "top", + "from": [0, 15, 0], + "to": [16, 16, 16], + "rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]}, + "faces": { + "north": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "east": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "south": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "west": {"uv": [5.5, 1, 9.5, 1.25], "texture": "#0"}, + "up": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"}, + "down": {"uv": [5.5, 1.5, 9.5, 5.5], "texture": "#0"} + } + }, + { + "name": "mid", + "from": [6, 13, 2], + "to": [10, 15, 14], + "rotation": {"angle": 0, "axis": "y", "origin": [5, 17, 7]}, + "faces": { + "north": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "east": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "south": {"uv": [0, 5, 1, 5.5], "texture": "#0"}, + "west": {"uv": [0, 5, 3, 5.5], "texture": "#0"}, + "up": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"}, + "down": {"uv": [0, 6.25, 3, 7.25], "rotation": 90, "texture": "#0"} + } + }, + { + "name": "nozzel", + "from": [6, 12, 6], + "to": [10, 13, 10], + "rotation": {"angle": 0, "axis": "y", "origin": [6, 12, 6]}, + "faces": { + "north": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "east": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "south": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "west": {"uv": [4, 4.75, 5, 5], "texture": "#0"}, + "up": {"uv": [4, 5, 5, 6], "texture": "#0"}, + "down": {"uv": [4, 5, 5, 6], "texture": "#0"} + } + } + ], + "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": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "firstperson_lefthand": { + "rotation": [90, 60, -137], + "translation": [0, 0, 1.75], + "scale": [0.4, 0.4, 0.4] + }, + "ground": { + "rotation": [0, 0, 180], + "translation": [0, 3, 0], + "scale": [0.25, 0.25, 0.25] + }, + "gui": { + "rotation": [142, 31, -160], + "translation": [-1.5, -3.25, 0], + "scale": [0.6, 0.6, 0.6] + }, + "head": { + "rotation": [0, 0, 180], + "translation": [0, 15, 0] + }, + "fixed": { + "scale": [0.5, 0.5, 0.5] + } + }, + "groups": [ + { + "name": "growth_lamp1", + "origin": [8.4, 0, 0], + "color": 0, + "children": [0, 1] + }, + { + "name": "growth_lamp2", + "origin": [8.4, 0, 0], + "color": 0, + "children": [2, 3] + }, + 4, + 5, + 6 + ] +} \ 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 index 297392db3..15b08f801 100644 --- a/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json +++ b/kubejs/assets/tfg/models/block/machines/electric_greenhouse.json @@ -11,8 +11,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -21,8 +21,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -31,8 +31,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } }, @@ -41,8 +41,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } }, @@ -51,8 +51,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -61,8 +61,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_emissive" } } }, @@ -71,8 +71,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } }, @@ -81,8 +81,8 @@ "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" + "overlay_front": "tfg:block/machines/electric_greenhouse/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/electric_greenhouse/overlay_front_active_emissive" } } } @@ -91,129 +91,54 @@ { "type": "gtceu:growing_plant", "offsets": [ - [ - -2.0, - 1.0, - -1.0 - ], [ -1.0, - 1.0, - -1.0 - ], - [ - 0.0, - 1.0, + 1.4, -1.0 ], [ 1.0, - 1.0, + 1.4, -1.0 ], [ - 2.0, - 1.0, - -1.0 + -1.0, + 1.4, + -2.0 ], [ - -2.0, 1.0, + 1.4, -2.0 ], [ -1.0, - 1.0, - -2.0 - ], - [ - 0.0, - 1.0, - -2.0 + 1.4, + -3.0 ], [ 1.0, - 1.0, - -2.0 - ], - [ - 2.0, - 1.0, - -2.0 - ], - [ - -2.0, - 1.0, + 1.4, -3.0 ], [ -1.0, - 1.0, - -3.0 - ], - [ - 0.0, - 1.0, - -3.0 + 1.4, + -4.0 ], [ 1.0, - 1.0, - -3.0 - ], - [ - 2.0, - 1.0, - -3.0 - ], - [ - -2.0, - 1.0, + 1.4, -4.0 ], [ -1.0, - 1.0, - -4.0 - ], - [ - 0.0, - 1.0, - -4.0 - ], - [ - 1.0, - 1.0, - -4.0 - ], - [ - 2.0, - 1.0, - -4.0 - ], - [ - -2.0, - 1.0, - -5.0 - ], - [ - -1.0, - 1.0, - -5.0 - ], - [ - 0.0, - 1.0, + 1.4, -5.0 ], [ 1.0, - 1.0, - -5.0 - ], - [ - 2.0, - 1.0, + 1.4, -5.0 ] ] diff --git a/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json b/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json new file mode 100644 index 000000000..c980729e4 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/hydroponics_facility.json @@ -0,0 +1,279 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:hydroponics_facility", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_egh_inactive" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_egh_inactive", + "overlay_front": "tfg:block/machines/hydroponics_facility/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/hydroponics_facility/overlay_front_active_emissive" + } + } + } + }, + "dynamic_renders": [ + { + "type": "gtceu:growing_plant", + "offsets": [ + [ + -1.0, + 0.0, + -5.0 + ], + [ + -1.0, + 0.0, + -6.0 + ], + [ + -1.0, + 0.0, + -7.0 + ], + [ + -1.0, + 0.0, + -8.0 + ], + [ + -1.0, + 0.0, + -9.0 + ], + [ + -1.0, + 0.0, + -10.0 + ], + [ + 1.0, + 0.0, + -5.0 + ], + [ + 1.0, + 0.0, + -6.0 + ], + [ + 1.0, + 0.0, + -7.0 + ], + [ + 1.0, + 0.0, + -8.0 + ], + [ + 1.0, + 0.0, + -9.0 + ], + [ + 1.0, + 0.0, + -10.0 + ], + + [ + -1.0, + 3.0, + -5.0 + ], + [ + -1.0, + 3.0, + -6.0 + ], + [ + -1.0, + 3.0, + -7.0 + ], + [ + -1.0, + 3.0, + -8.0 + ], + [ + -1.0, + 3.0, + -9.0 + ], + [ + -1.0, + 3.0, + -10.0 + ], + [ + 1.0, + 3.0, + -5.0 + ], + [ + 1.0, + 3.0, + -6.0 + ], + [ + 1.0, + 3.0, + -7.0 + ], + [ + 1.0, + 3.0, + -8.0 + ], + [ + 1.0, + 3.0, + -9.0 + ], + [ + 1.0, + 3.0, + -10.0 + ], + + [ + -1.0, + 6.0, + -5.0 + ], + [ + -1.0, + 6.0, + -6.0 + ], + [ + -1.0, + 6.0, + -7.0 + ], + [ + -1.0, + 6.0, + -8.0 + ], + [ + -1.0, + 6.0, + -9.0 + ], + [ + -1.0, + 6.0, + -10.0 + ], + [ + 1.0, + 6.0, + -5.0 + ], + [ + 1.0, + 6.0, + -6.0 + ], + [ + 1.0, + 6.0, + -7.0 + ], + [ + 1.0, + 6.0, + -8.0 + ], + [ + 1.0, + 6.0, + -9.0 + ], + [ + 1.0, + 6.0, + -10.0 + ] + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json b/kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json new file mode 100644 index 000000000..80bc315e6 --- /dev/null +++ b/kubejs/assets/tfg/models/block/machines/pisciculture_fishery.json @@ -0,0 +1,106 @@ +{ + "parent": "minecraft:block/block", + "loader": "gtceu:machine", + "machine": "tfg:pisciculture_fishery", + "texture_overrides": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel" + }, + "variants": { + "is_formed=false,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + }, + "is_formed=false,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=idle": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=suspend": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=waiting": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + }, + "is_formed=true,recipe_logic_status=working": { + "model": { + "parent": "gtceu:block/machine/template/cube_all/sided", + "textures": { + "all": "tfg:block/casings/machine_casing_aluminium_plated_steel", + "overlay_front": "tfg:block/machines/pisciculture_fishery/overlay_front_active", + "overlay_front_emissive": "tfg:block/machines/pisciculture_fishery/overlay_front_active_emissive", + "overlay_top": "tfg:block/machines/pisciculture_fishery/overlay_top_active", + "overlay_top_emissive": "tfg:block/machines/pisciculture_fishery/overlay_top_active_emissive" + } + } + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/cultivation_monitor.json b/kubejs/assets/tfg/models/item/cultivation_monitor.json new file mode 100644 index 000000000..27a3d9b5e --- /dev/null +++ b/kubejs/assets/tfg/models/item/cultivation_monitor.json @@ -0,0 +1,78 @@ +{ + "format_version": "1.9.0", + "credit": "Made with Blockbench", + "texture_size": [64, 64], + "textures": { + "4": "tfg:block/machines/cultivation_monitor/cultivation_monitor", + "particle": "tfg:block/machines/cultivation_monitor/cultivation_monitor" + }, + "elements": [ + { + "name": "arm", + "from": [7, 6, 12.4], + "to": [9, 10, 23.4], + "rotation": {"angle": 0, "axis": "y", "origin": [7, 11, 22.4]}, + "faces": { + "north": {"uv": [3.66667, 0, 3, 0.33333], "rotation": 90, "texture": "#4"}, + "east": {"uv": [3.66667, 0, 3, 1.5], "rotation": 90, "texture": "#4"}, + "south": {"uv": [3.66667, 1.5, 3, 1.83333], "rotation": 90, "texture": "#4"}, + "west": {"uv": [3, 0, 3.66667, 1.83333], "rotation": 270, "texture": "#4"}, + "up": {"uv": [3.5, 0, 3.83333, 1.83333], "texture": "#4"}, + "down": {"uv": [2.83333, 0, 3.16667, 1.83333], "rotation": 180, "texture": "#4"} + } + }, + { + "name": "monitor", + "from": [-9, -10, 12.00896], + "to": [25, 24, 13.00896], + "rotation": {"angle": 0, "axis": "y", "origin": [7.5, 14.06147, 15.00896]}, + "faces": { + "north": {"uv": [5.66667, 7.49167, 0, 1.84167], "rotation": 180, "texture": "#4"}, + "east": {"uv": [0, 1.83333, 0.16667, 7.5], "texture": "#4"}, + "south": {"uv": [5.66667, 1.83333, 11.33333, 7.5], "texture": "#4"}, + "west": {"uv": [5.5, 1.83333, 5.66667, 7.5], "texture": "#4"}, + "up": {"uv": [0, 1.83333, 5.66667, 2], "texture": "#4"}, + "down": {"uv": [5.66667, 7.33333, 11.33333, 7.5], "rotation": 180, "texture": "#4"} + } + } + ], + "display": { + "thirdperson_righthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "thirdperson_lefthand": { + "rotation": [75, 0, 0], + "translation": [0, 1.5, 0], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_righthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "firstperson_lefthand": { + "rotation": [-3, 28, -8], + "translation": [-1.25, 0, 0.5], + "scale": [0.3, 0.3, 0.3] + }, + "ground": { + "translation": [0, 3, 0], + "scale": [0.2, 0.2, 0.2] + }, + "gui": { + "rotation": [27, 136, 0], + "translation": [-1.25, 0, 0], + "scale": [0.35, 0.35, 0.35] + }, + "head": { + "translation": [0, 0, -9.75], + "scale": [0.5, 0.5, 0.5] + }, + "fixed": { + "translation": [0, 0, -2], + "scale": [0.4, 0.4, 0.4] + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/egh_planter.json b/kubejs/assets/tfg/models/item/egh_planter.json new file mode 100644 index 000000000..e7d849abc --- /dev/null +++ b/kubejs/assets/tfg/models/item/egh_planter.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/egh_planter/egh_planter_inactive" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/fish_roe.json b/kubejs/assets/tfg/models/item/fish_roe.json new file mode 100644 index 000000000..9e6313768 --- /dev/null +++ b/kubejs/assets/tfg/models/item/fish_roe.json @@ -0,0 +1,9 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "tfg:item/fish_roe_0", + "layer1": "tfg:item/fish_roe_0", + "layer2": "tfg:item/fish_roe_1", + "layer3": "tfg:item/fish_roe_2" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/grow_light.json b/kubejs/assets/tfg/models/item/grow_light.json new file mode 100644 index 000000000..3a593c0ca --- /dev/null +++ b/kubejs/assets/tfg/models/item/grow_light.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/egh_planter/grow_light_inactive" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/hydroponics_facility.json b/kubejs/assets/tfg/models/item/hydroponics_facility.json new file mode 100644 index 000000000..833ffb6b8 --- /dev/null +++ b/kubejs/assets/tfg/models/item/hydroponics_facility.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/hydroponics_facility" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/machine_casing_egh.json b/kubejs/assets/tfg/models/item/machine_casing_egh.json new file mode 100644 index 000000000..c5ffeaec4 --- /dev/null +++ b/kubejs/assets/tfg/models/item/machine_casing_egh.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/machine_casing_egh" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/machine_casing_egh_active.json b/kubejs/assets/tfg/models/item/machine_casing_egh_active.json new file mode 100644 index 000000000..bd4aa3466 --- /dev/null +++ b/kubejs/assets/tfg/models/item/machine_casing_egh_active.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/machine_casing_egh_active" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pisciculture_core.json b/kubejs/assets/tfg/models/item/pisciculture_core.json new file mode 100644 index 000000000..23c229771 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pisciculture_core.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/pisciculture_core" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pisciculture_core_active.json b/kubejs/assets/tfg/models/item/pisciculture_core_active.json new file mode 100644 index 000000000..04803c454 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pisciculture_core_active.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/casings/pisciculture_core_active" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/pisciculture_fishery.json b/kubejs/assets/tfg/models/item/pisciculture_fishery.json new file mode 100644 index 000000000..e8cc71175 --- /dev/null +++ b/kubejs/assets/tfg/models/item/pisciculture_fishery.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/machines/pisciculture_fishery" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/rotten_voiding_cover.json b/kubejs/assets/tfg/models/item/rotten_voiding_cover.json new file mode 100644 index 000000000..c4bbc3846 --- /dev/null +++ b/kubejs/assets/tfg/models/item/rotten_voiding_cover.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:item/generated", + "textures": { + "layer0": "tfg:item/rotten_voiding_cover" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/particles/fish_school.json b/kubejs/assets/tfg/particles/fish_school.json new file mode 100644 index 000000000..7d8f405e8 --- /dev/null +++ b/kubejs/assets/tfg/particles/fish_school.json @@ -0,0 +1,13 @@ +{ + "textures": [ + "tfg:bluegill", + "tfg:cod", + "tfg:crappie", + "tfg:lake_trout", + "tfg:largemouth_bass", + "tfg:rainbow_trout", + "tfg:salmon", + "tfg:smallmouth_bass", + "tfg:tropical_fish" + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png new file mode 100644 index 000000000..981cec81c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta new file mode 100644 index 000000000..905ed4ebc --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_0_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png new file mode 100644 index 000000000..b50694dda Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_s.png new file mode 100644 index 000000000..f5cf56951 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_0_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png new file mode 100644 index 000000000..981cec81c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta new file mode 100644 index 000000000..09afe0a2d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_1_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png new file mode 100644 index 000000000..20e138d46 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_s.png new file mode 100644 index 000000000..6e3fb54aa Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_1_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png new file mode 100644 index 000000000..981cec81c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta new file mode 100644 index 000000000..228c8d6a0 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_2_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png new file mode 100644 index 000000000..d7824acd6 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_s.png new file mode 100644 index 000000000..88dd567dd Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_2_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png new file mode 100644 index 000000000..205206b3b Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..0149bb40b --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm.png new file mode 100644 index 000000000..77708988f Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_n.png new file mode 100644 index 000000000..ca88b9043 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_s.png new file mode 100644 index 000000000..f5cf56951 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_n.png new file mode 100644 index 000000000..f826ca55e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_3_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png new file mode 100644 index 000000000..03148ee63 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..3b8f81d1d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/copper_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm.png new file mode 100644 index 000000000..83084f137 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_n.png new file mode 100644 index 000000000..672ec272c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_s.png new file mode 100644 index 000000000..b960b5070 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_n.png new file mode 100644 index 000000000..534d798f7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_s.png new file mode 100644 index 000000000..f9e1184b0 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/copper_greenhouse_casing_4_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png new file mode 100644 index 000000000..e32c7ff4c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png.mcmeta new file mode 100644 index 000000000..9af69b553 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_0_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm.png new file mode 100644 index 000000000..3c6da4e98 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_s.png new file mode 100644 index 000000000..f5cf56951 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_0_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png new file mode 100644 index 000000000..e32c7ff4c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png.mcmeta new file mode 100644 index 000000000..3a50a2d3f --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_1_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm.png new file mode 100644 index 000000000..82fa8e59e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_s.png new file mode 100644 index 000000000..6e3fb54aa Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_1_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png new file mode 100644 index 000000000..e32c7ff4c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png.mcmeta new file mode 100644 index 000000000..66e5b87cd --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_2_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm.png new file mode 100644 index 000000000..a25b8dba9 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_s.png new file mode 100644 index 000000000..88dd567dd Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_2_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png new file mode 100644 index 000000000..34a7116cb Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..58ef1aa55 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm.png new file mode 100644 index 000000000..6d8deb08e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_n.png new file mode 100644 index 000000000..ca88b9043 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_s.png new file mode 100644 index 000000000..f5cf56951 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_n.png new file mode 100644 index 000000000..f826ca55e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_3_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png new file mode 100644 index 000000000..a20a22351 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..0e377138f --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/iron_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm.png new file mode 100644 index 000000000..4ff8cd5aa Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_n.png new file mode 100644 index 000000000..672ec272c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_s.png new file mode 100644 index 000000000..b960b5070 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_n.png new file mode 100644 index 000000000..534d798f7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_s.png new file mode 100644 index 000000000..f9e1184b0 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/iron_greenhouse_casing_4_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png new file mode 100644 index 000000000..32e7e1fc1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png.mcmeta new file mode 100644 index 000000000..6359f50d6 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_0_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm.png new file mode 100644 index 000000000..a06140e03 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_s.png new file mode 100644 index 000000000..f5cf56951 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_0_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png new file mode 100644 index 000000000..32e7e1fc1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png.mcmeta new file mode 100644 index 000000000..8cbfd761c --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_1_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm.png new file mode 100644 index 000000000..0d241884a Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_s.png new file mode 100644 index 000000000..6e3fb54aa Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_1_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png new file mode 100644 index 000000000..32e7e1fc1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png.mcmeta new file mode 100644 index 000000000..d896f1df0 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_2_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm.png new file mode 100644 index 000000000..37acd0448 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_s.png new file mode 100644 index 000000000..88dd567dd Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_2_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png new file mode 100644 index 000000000..bd21e6847 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..c23b0440d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm.png new file mode 100644 index 000000000..09df67c86 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_n.png new file mode 100644 index 000000000..ca88b9043 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_s.png new file mode 100644 index 000000000..f5cf56951 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_n.png new file mode 100644 index 000000000..f826ca55e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_s.png new file mode 100644 index 000000000..be2a977b8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_3_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png new file mode 100644 index 000000000..4e86c2364 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..4f24d215d --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/stainless_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png new file mode 100644 index 000000000..1722c2309 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_n.png new file mode 100644 index 000000000..672ec272c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_s.png new file mode 100644 index 000000000..b960b5070 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_n.png new file mode 100644 index 000000000..534d798f7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_s.png new file mode 100644 index 000000000..f9e1184b0 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/stainless_greenhouse_casing_4_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png new file mode 100644 index 000000000..78987171c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png.mcmeta new file mode 100644 index 000000000..cadbbf55a --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm.png new file mode 100644 index 000000000..4a218d5c1 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_s.png new file mode 100644 index 000000000..6c2e4edd9 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_s.png new file mode 100644 index 000000000..47902ba75 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_0_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png new file mode 100644 index 000000000..78987171c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png.mcmeta new file mode 100644 index 000000000..d2b9fb8e2 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm.png new file mode 100644 index 000000000..de3fbdb0d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_s.png new file mode 100644 index 000000000..d357ac160 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_s.png new file mode 100644 index 000000000..47902ba75 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_1_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png new file mode 100644 index 000000000..78987171c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png.mcmeta new file mode 100644 index 000000000..fe9bded36 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm.png new file mode 100644 index 000000000..18ad67b62 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_s.png new file mode 100644 index 000000000..ca8a0ee58 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_s.png new file mode 100644 index 000000000..47902ba75 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_2_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png new file mode 100644 index 000000000..aceeaac45 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta new file mode 100644 index 000000000..7de293db7 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm.png new file mode 100644 index 000000000..7879664ab Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_n.png new file mode 100644 index 000000000..ca88b9043 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_s.png new file mode 100644 index 000000000..6c2e4edd9 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_n.png new file mode 100644 index 000000000..f826ca55e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_s.png new file mode 100644 index 000000000..47902ba75 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_3_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png new file mode 100644 index 000000000..0c1346d30 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta new file mode 100644 index 000000000..39b6f4eb3 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm.png new file mode 100644 index 000000000..b3fbf303c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_n.png new file mode 100644 index 000000000..672ec272c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_s.png new file mode 100644 index 000000000..0931697be Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_n.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_n.png new file mode 100644 index 000000000..534d798f7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_s.png b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_s.png new file mode 100644 index 000000000..67192f444 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/greenhouse/treated_wood_greenhouse_casing_4_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png new file mode 100644 index 000000000..3483fbf0c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta new file mode 100644 index 000000000..6bd4034d6 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active.png.mcmeta @@ -0,0 +1,7 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_egh_active_ctm" + }, + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 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]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png new file mode 100644 index 000000000..7df56cf80 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta new file mode 100644 index 000000000..6b6b2dc36 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm.png.mcmeta @@ -0,0 +1,4 @@ +{ + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 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]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_s.png new file mode 100644 index 000000000..63e78928c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png new file mode 100644 index 000000000..59bd49e97 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta new file mode 100644 index 000000000..b6070f6c4 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive.png.mcmeta @@ -0,0 +1,8 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_egh_active_emissive_ctm", + "emissive": true + }, + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 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]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png new file mode 100644 index 000000000..b99c9121d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png.mcmeta new file mode 100644 index 000000000..6b6b2dc36 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm.png.mcmeta @@ -0,0 +1,4 @@ +{ + "animation": + {"frametime": 4, "frames": [{"index": 0, "time":40}, 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]} +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_s.png new file mode 100644 index 000000000..63e78928c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_s.png new file mode 100644 index 000000000..e525e4564 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_s.png new file mode 100644 index 000000000..e525e4564 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png new file mode 100644 index 000000000..5c0e08787 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta new file mode 100644 index 000000000..ff35499aa --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/machine_casing_egh_inactive_ctm" + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm.png new file mode 100644 index 000000000..6a2818a12 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_n.png new file mode 100644 index 000000000..206d93753 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_s.png new file mode 100644 index 000000000..63e78928c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_ctm_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_n.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_s.png b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_s.png new file mode 100644 index 000000000..e525e4564 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/machine_casing_egh_inactive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_active_emissive.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_active_emissive.png new file mode 100644 index 000000000..b9131bd44 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_active_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side.png new file mode 100644 index 000000000..c427d8406 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png new file mode 100644 index 000000000..13de68d8a Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png new file mode 100644 index 000000000..ad4c99941 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_n.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png new file mode 100644 index 000000000..9dd36449d Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_active_s.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_n.png new file mode 100644 index 000000000..42bd00011 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_s.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_s.png new file mode 100644 index 000000000..10812feee Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_side_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top.png new file mode 100644 index 000000000..619654e44 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png new file mode 100644 index 000000000..a04244461 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png new file mode 100644 index 000000000..fba693036 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_n.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png new file mode 100644 index 000000000..b47dad097 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_active_s.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_n.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_n.png new file mode 100644 index 000000000..8c699fbed Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_n.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_s.png b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_s.png new file mode 100644 index 000000000..04cb03ff8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/pisciculture_core_top_s.png differ diff --git a/kubejs/assets/tfg/textures/block/cover/rotten_voiding.png b/kubejs/assets/tfg/textures/block/cover/rotten_voiding.png new file mode 100644 index 000000000..8dc1a66e8 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/cover/rotten_voiding.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png b/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png new file mode 100644 index 000000000..2a7a18611 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.chloroplasts.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png new file mode 100644 index 000000000..4ed8e23f6 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_semiheavy_ammoniacal_water.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png new file mode 100644 index 000000000..35fb7b3a4 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png differ diff --git a/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta new file mode 100644 index 000000000..7e77c6485 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/fluids/fluid.nitrate_rich_water.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor.png new file mode 100644 index 000000000..15dded315 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png new file mode 100644 index 000000000..3b35c43e2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png.mcmeta new file mode 100644 index 000000000..f3da053bc --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_n.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_n.png new file mode 100644 index 000000000..36c0d360f Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_s.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_s.png new file mode 100644 index 000000000..d3d4ef8a7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png new file mode 100644 index 000000000..e6fe77c4e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta new file mode 100644 index 000000000..f3da053bc --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation":{ + "frametime": 2 + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_n.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_n.png new file mode 100644 index 000000000..36c0d360f Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_s.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_s.png new file mode 100644 index 000000000..d3d4ef8a7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_display_inactive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_n.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_n.png new file mode 100644 index 000000000..14dc60912 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_s.png b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_s.png new file mode 100644 index 000000000..f9293c053 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/cultivation_monitor/cultivation_monitor_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter.png b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter.png new file mode 100644 index 000000000..66cbc280e Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_n.png b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_n.png new file mode 100644 index 000000000..9da161220 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_s.png b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_s.png new file mode 100644 index 000000000..9b1a5d71c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/egh_planter/egh_planter_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front.png new file mode 100644 index 000000000..67204ecb4 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png new file mode 100644 index 000000000..334a35d21 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png new file mode 100644 index 000000000..cc45ec9dd Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_n.png new file mode 100644 index 000000000..362633c33 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_s.png new file mode 100644 index 000000000..351e50368 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_n.png new file mode 100644 index 000000000..362633c33 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_s.png new file mode 100644 index 000000000..351e50368 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_emissive.png new file mode 100644 index 000000000..c20a1c981 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_n.png new file mode 100644 index 000000000..362633c33 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_s.png new file mode 100644 index 000000000..351e50368 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/electric_greenhouse/overlay_front_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front.png new file mode 100644 index 000000000..add23fbb6 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png new file mode 100644 index 000000000..546713fda Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png new file mode 100644 index 000000000..f8af855db Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png new file mode 100644 index 000000000..351573e66 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_emissive_s.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png new file mode 100644 index 000000000..351573e66 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png.mcmeta new file mode 100644 index 000000000..cc8a1f3c9 --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_active_s.png.mcmeta @@ -0,0 +1 @@ +{"animation": {"frametime": 1}} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_emissive.png new file mode 100644 index 000000000..c20a1c981 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_n.png new file mode 100644 index 000000000..b77416ed2 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_s.png new file mode 100644 index 000000000..5e7078b76 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/hydroponics_facility/overlay_front_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front.png new file mode 100644 index 000000000..26488a7e7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png new file mode 100644 index 000000000..f8a716867 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png new file mode 100644 index 000000000..0f7f0926b Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png.mcmeta b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png.mcmeta new file mode 100644 index 000000000..24f9c2fae --- /dev/null +++ b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive.png.mcmeta @@ -0,0 +1,5 @@ +{ + "animation": { + "frametime": 1 + } +} diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_n.png new file mode 100644 index 000000000..8b66d61da Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_s.png new file mode 100644 index 000000000..b67e4f9c4 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_n.png new file mode 100644 index 000000000..8b66d61da Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_s.png new file mode 100644 index 000000000..b67e4f9c4 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive.png new file mode 100644 index 000000000..c20a1c981 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_n.png new file mode 100644 index 000000000..8b66d61da Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_s.png new file mode 100644 index 000000000..b67e4f9c4 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_n.png new file mode 100644 index 000000000..8b66d61da Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_s.png new file mode 100644 index 000000000..b67e4f9c4 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_front_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top.png new file mode 100644 index 000000000..d74402b0a Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active.png new file mode 100644 index 000000000..31d490760 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive.png new file mode 100644 index 000000000..f5ce733c7 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_n.png new file mode 100644 index 000000000..3235e6201 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_s.png new file mode 100644 index 000000000..c61d55b04 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_n.png new file mode 100644 index 000000000..3235e6201 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_s.png new file mode 100644 index 000000000..c61d55b04 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_active_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive.png new file mode 100644 index 000000000..c20a1c981 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_n.png new file mode 100644 index 000000000..3235e6201 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_s.png new file mode 100644 index 000000000..c61d55b04 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_emissive_s.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_n.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_n.png new file mode 100644 index 000000000..3235e6201 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_n.png differ diff --git a/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_s.png b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_s.png new file mode 100644 index 000000000..c61d55b04 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/machines/pisciculture_fishery/overlay_top_s.png differ diff --git a/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_egh.png b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_egh.png new file mode 100644 index 000000000..094588789 Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_egh.png differ diff --git a/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_fish.png b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_fish.png new file mode 100644 index 000000000..65f64cb3d Binary files /dev/null and b/kubejs/assets/tfg/textures/gui/progress_bar/progress_bar_fish.png differ diff --git a/kubejs/assets/tfg/textures/item/fish_roe_0.png b/kubejs/assets/tfg/textures/item/fish_roe_0.png new file mode 100644 index 000000000..1e53613ad Binary files /dev/null and b/kubejs/assets/tfg/textures/item/fish_roe_0.png differ diff --git a/kubejs/assets/tfg/textures/item/fish_roe_1.png b/kubejs/assets/tfg/textures/item/fish_roe_1.png new file mode 100644 index 000000000..28a9fc726 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/fish_roe_1.png differ diff --git a/kubejs/assets/tfg/textures/item/fish_roe_2.png b/kubejs/assets/tfg/textures/item/fish_roe_2.png new file mode 100644 index 000000000..4572ae84d Binary files /dev/null and b/kubejs/assets/tfg/textures/item/fish_roe_2.png differ diff --git a/kubejs/assets/tfg/textures/item/flora_pellets.png b/kubejs/assets/tfg/textures/item/flora_pellets.png new file mode 100644 index 000000000..ad2251707 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/flora_pellets.png differ diff --git a/kubejs/assets/tfg/textures/item/rotten_voiding_cover.png b/kubejs/assets/tfg/textures/item/rotten_voiding_cover.png new file mode 100644 index 000000000..f9e454d33 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/rotten_voiding_cover.png differ diff --git a/kubejs/assets/tfg/textures/particle/bluegill.png b/kubejs/assets/tfg/textures/particle/bluegill.png new file mode 100644 index 000000000..8a8d780d7 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/bluegill.png differ diff --git a/kubejs/assets/tfg/textures/particle/cod.png b/kubejs/assets/tfg/textures/particle/cod.png new file mode 100644 index 000000000..6a321e27a Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/cod.png differ diff --git a/kubejs/assets/tfg/textures/particle/crappie.png b/kubejs/assets/tfg/textures/particle/crappie.png new file mode 100644 index 000000000..f22aa5023 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/crappie.png differ diff --git a/kubejs/assets/tfg/textures/particle/lake_trout.png b/kubejs/assets/tfg/textures/particle/lake_trout.png new file mode 100644 index 000000000..1e3337d34 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/lake_trout.png differ diff --git a/kubejs/assets/tfg/textures/particle/largemouth_bass.png b/kubejs/assets/tfg/textures/particle/largemouth_bass.png new file mode 100644 index 000000000..61d9a3a07 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/largemouth_bass.png differ diff --git a/kubejs/assets/tfg/textures/particle/rainbow_trout.png b/kubejs/assets/tfg/textures/particle/rainbow_trout.png new file mode 100644 index 000000000..e799d5422 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/rainbow_trout.png differ diff --git a/kubejs/assets/tfg/textures/particle/salmon.png b/kubejs/assets/tfg/textures/particle/salmon.png new file mode 100644 index 000000000..97e2ed010 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/salmon.png differ diff --git a/kubejs/assets/tfg/textures/particle/smallmouth_bass.png b/kubejs/assets/tfg/textures/particle/smallmouth_bass.png new file mode 100644 index 000000000..7ee3623e2 Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/smallmouth_bass.png differ diff --git a/kubejs/assets/tfg/textures/particle/tropical_fish.png b/kubejs/assets/tfg/textures/particle/tropical_fish.png new file mode 100644 index 000000000..0790f278b Binary files /dev/null and b/kubejs/assets/tfg/textures/particle/tropical_fish.png differ diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js index e0fd264d8..7bb86d517 100644 --- a/kubejs/server_scripts/beneath/recipes.js +++ b/kubejs/server_scripts/beneath/recipes.js @@ -63,15 +63,6 @@ const registerBeneathRecipes = (event) => { event.recipes.tfc.landslide('beneath:soul_clay', 'beneath:soul_clay') - - Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, element.withCount(4), '#tfc:any_fresh_water', 8000, element.withCount(24), - recipeId, 'minecraft:the_nether', 8, element.withCount(4), GTValues.VH[GTValues.LV]); - }); - event.shaped('beneath:wood/sewing_table/crimson', [ ' AB', 'CCC', diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 78b2347e5..1f9352bd5 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -187,18 +187,6 @@ const registerFirmaLifeRecipes = (event) => { //#region Рецепты теплиц / Greenhouse - //#region Treated Wood - - event.shapeless('firmalife:treated_wood_greenhouse_port', [ - 'firmalife:treated_wood_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/treated_wood_greenhouse_port') - - //#endregion Treated Wood - - //#region Медная / Copper - event.recipes.gtceu.extruder('tfg:firmalife/sprinkler_electric_only') .itemInputs('#forge:plates/copper') .notConsumable('tfg:small_casing_extruder_mold') @@ -207,233 +195,95 @@ const registerFirmaLifeRecipes = (event) => { .EUt(8) .addMaterialInfo(true) - // Стена - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/copper', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_wall') + /** + * @type {string[]} - Tier names of greenhouse casings. + */ + const greenhouse_tiers = [ + {tier: 'treated_wood', material: 'firmalife:treated_lumber'}, + {tier: 'copper', material: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Copper, 1)}, + {tier: 'iron', material: ChemicalHelper.get(TagPrefix.rod, GTMaterials.WroughtIron, 1)}, + {tier: 'stainless_steel', material: ChemicalHelper.get(TagPrefix.rod, GTMaterials.StainlessSteel, 1)} + ]; - // Панель - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_panel_wall') + //Firmalife namespace is left so we dont have to change patchouli entries. + greenhouse_tiers.forEach(tier => { - // Панельная Крыша - event.recipes.gtceu.shaped('4x firmalife:copper_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_panel_roof') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_wall`}) + event.recipes.gtceu.shaped(`16x firmalife:${tier.tier}_greenhouse_wall`, [ + 'ABA', + 'BBB', + 'ABA' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_wall`) - // Крыша - event.recipes.gtceu.shaped('4x firmalife:copper_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_roof') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_wall`}) + event.recipes.gtceu.shaped(`16x firmalife:${tier.tier}_greenhouse_panel_wall`, [ + 'ABA', + 'ABA', + 'ABA' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_wall`) - // Верхушка крыши - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/copper', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_roof_top') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_roof`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_panel_roof`, [ + 'A ', + 'BA ', + 'BBA' + ], { + A: 'firmalife:reinforced_glass', + B: tier.material + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_panel_roof`) - // Люк - event.recipes.gtceu.shaped('8x firmalife:copper_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/copper' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_trapdoor') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_roof`, [ + 'A ', + 'BA ', + 'BBA' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof`) - // Дверь - event.recipes.gtceu.shaped('2x firmalife:copper_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/copper', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/copper_greenhouse_door') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof_top`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_roof_top`, [ + 'ABA', + 'BAB' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_roof_top`) - event.shapeless('firmalife:copper_greenhouse_port', [ - 'firmalife:copper_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/copper_greenhouse_port') + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_trapdoor`}) + event.recipes.gtceu.shaped(`8x firmalife:${tier.tier}_greenhouse_trapdoor`, [ + 'ABA', + 'BAB' + ], { + A: 'firmalife:reinforced_glass', + B: tier.material + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_trapdoor`) - //#endregion + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_door`}) + event.recipes.gtceu.shaped(`2x firmalife:${tier.tier}_greenhouse_door`, [ + 'AB', + 'AB', + 'AB' + ], { + A: tier.material, + B: 'firmalife:reinforced_glass' + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_door`) - //#region Железная / Iron - - // Стена - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_wall') - - // Панель - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_panel_wall') - - // Панельная Крыша - event.recipes.gtceu.shaped('4x firmalife:iron_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_panel_roof') - - // Крыша - event.recipes.gtceu.shaped('4x firmalife:iron_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_roof') - - // Верхушка крыши - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/wrought_iron', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_roof_top') - - // Люк - event.recipes.gtceu.shaped('8x firmalife:iron_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/wrought_iron' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_trapdoor') - - // Дверь - event.recipes.gtceu.shaped('2x firmalife:iron_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/wrought_iron', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/iron_greenhouse_door') - - event.shapeless('firmalife:iron_greenhouse_port', [ - 'firmalife:iron_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/iron_greenhouse_port') - - //#endregion - - //#region Нержавеющая теплица / Stainless Steel - - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/stainless_steel', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall') - - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_panel_wall', [ - 'ABA', - 'ABA', - 'ABA' - ], { - A: '#forge:rods/stainless_steel', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall') - - event.recipes.gtceu.shaped('4x firmalife:stainless_steel_greenhouse_panel_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/stainless_steel' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof') - - event.recipes.gtceu.shaped('4x firmalife:stainless_steel_greenhouse_roof', [ - 'A ', - 'BA ', - 'BBA' - ], { - A: '#forge:rods/stainless_steel', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof') - - // Верхушка крыши - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_roof_top', [ - 'ABA', - 'BAB' - ], { - A: '#forge:rods/stainless_steel', - B: 'firmalife:reinforced_glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top') - - // Люк - event.recipes.gtceu.shaped('8x firmalife:stainless_steel_greenhouse_trapdoor', [ - 'ABA', - 'BAB' - ], { - A: 'firmalife:reinforced_glass', - B: '#forge:rods/stainless_steel' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor') - - // Дверь - event.recipes.gtceu.shaped('2x firmalife:stainless_steel_greenhouse_door', [ - 'AB', - 'AB', - 'AB' - ], { - A: '#forge:rods/stainless_steel', - B: 'minecraft:glass' - }).addMaterialInfo().id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_door') - - event.shapeless('firmalife:stainless_steel_greenhouse_port', [ - 'firmalife:stainless_steel_greenhouse_wall', - '#forge:tiny_fluid_pipes/copper' - ]) - .id('firmalife:crafting/greenhouse/stainless_steel_greenhouse_port') - - //#endregion + event.remove({ id: `firmalife:crafting/greenhouse/${tier.tier}_greenhouse_port`}) + event.recipes.gtceu.shaped(`firmalife:${tier.tier}_greenhouse_port`, [ + 'AB' + ], { + A: `#tfg:${tier.tier}_greenhouse_casings`, + B: ChemicalHelper.get(TagPrefix.pipeTinyFluid, GTMaterials.Copper, 1) + }).addMaterialInfo().id(`firmalife:crafting/greenhouse/${tier.tier}_greenhouse_port`) + }); event.recipes.gtceu.shaped('firmalife:sweeper', [ 'ABD', @@ -459,37 +309,27 @@ const registerFirmaLifeRecipes = (event) => { //#endregion - //#region Укрепленное стекло + //#region Reinforced Glass - event.shaped('firmalife:reinforced_glass', [ + event.shaped('9x firmalife:reinforced_glass', [ 'AB' ], { A: '#tfc:saws', B: 'gtceu:tempered_glass' - }).id('tfg:shaped/reinforced_glass') + }).id('tfg:shaped/reinforced_glass'); - generateCutterRecipe(event, '3x gtceu:tempered_glass', '8x firmalife:reinforced_glass', 100, 7, 'reinforced_glass') + generateCutterRecipe(event, '1x gtceu:tempered_glass', '9x firmalife:reinforced_glass', 100, 7, 'reinforced_glass'); + + event.recipes.gtceu.macerator('tfg:recycling/reinforced_glass') + .itemInputs('firmalife:reinforced_glass') + .itemOutputs( + ChemicalHelper.get(TagPrefix.dustTiny, GTMaterials.Glass, 1) + ) + .duration(GTMaterials.Glass.getMass() * 1) + .category(GTRecipeCategories.MACERATOR_RECYCLING) + .EUt(GTValues.VA[GTValues.ULV]); //#endregion - - //#region Рецепты электрической теплицы - - // Дерево - - // Семена фруктов - global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_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, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, null, 8, null, GTValues.VA[GTValues.LV]) - }) - - //#endregion - //#region Sticky Resin by Vat event.recipes.firmalife.vat() diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index ac057b6e0..ad32deab1 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -44,6 +44,12 @@ function registerGTCEUItemTags(event) { // @ts-expect-error According to KJS docs adding tags to tags is supported. event.add("gtceu:molds", "#gtceu:casting_molds", "#gtceu:extruder_molds", "gtceu:empty_mold"); + // Groups up concrete blocks into tags. + Object.entries(global.GTCEU_CONCRETE_BLOCKS).forEach(([type, ids]) => { + event.add(`tfg:gtceu_concrete_blocks/${type}`, ids); + event.add('tfg:gtceu_concrete_blocks', ids); + }); + //greens event.add('tfc:compost_greens', 'gtceu:bio_chaff'); event.add('tfc:compost_greens', 'gtceu:plant_ball'); @@ -85,6 +91,12 @@ function registerGTCEUBlockTags(event) { event.add("gtceu:cleanroom_doors", "ad_astra:desh_sliding_door"); event.add("gtceu:cleanroom_doors", "ad_astra:ostrum_sliding_door"); event.add("gtceu:cleanroom_doors", "ad_astra:calorite_sliding_door"); + + // Groups up concrete blocks into tags. + Object.entries(global.GTCEU_CONCRETE_BLOCKS).forEach(([type, ids]) => { + event.add(`tfg:gtceu_concrete_blocks/${type}`, ids); + event.add('tfg:gtceu_concrete_blocks', ids); + }); } /** @param {TagEvent.Fluid} event */ diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 0f000d949..39c376d82 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -66,64 +66,6 @@ const generateCutterRecipe = (event, input, output, duration, EUt, id) => { //#endregion -//#region Green House -/** - * Function for generating greenhouse recipes. - * - * @param {*} event - * @param {string} input -Item (Not consumed) - * @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|null} output_seconday -Item (Optional, if there should be a third output) - * @param {number} EUt - */ -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(`${fluid} ${fluid_amount}`) - .itemOutputs(output) - .chancedOutput(input, 750, 0) - .chancedOutput(input, 500, 0) - .duration(36000) // 30 mins - .EUt(EUt) - - if (dimension !== null) { - r.dimension(dimension) - } - if (output_secondary !== null) { - r.chancedOutput(output_secondary, 750, 0) - } - - - // С удобрением (With fertilizer) - r = event.recipes.gtceu.greenhouse(`${id}_fertilized`) - .notConsumable(input) - .itemInputs(Item.of('gtceu:fertilizer', fertiliser_count)) - .circuit(2) - .inputFluids(`${fluid} ${fluid_amount}`) - .itemOutputs(output) - .chancedOutput(input, 4000, 0) - .chancedOutput(input, 3000, 0) - .duration(12000) // 10 mins - .EUt(EUt) - - if (dimension !== null) { - r.dimension(dimension) - } - if (output_secondary !== null) { - r.chancedOutput(output_secondary, 4000, 0) - } -} -//#endregion - //#region Filling NBT /** * Function to get fluid filling NBT. diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index 2909ccf4d..a274981ab 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -533,7 +533,7 @@ const registerMinecraftRecipes = (event) => { A: '#forge:plates/wrought_iron', B: '#forge:chests/wooden', D: '#forge:tools/wrenches', - E: '#forge:tools/hammers', + E: '#forge:tools/hammers' }).id('gtceu:shaped/hopper') event.recipes.gtceu.assembler('hopper_wrought_iron') @@ -896,7 +896,7 @@ const registerMinecraftRecipes = (event) => { A: '#forge:rods/black_steel', B: 'minecraft:lava_bucket', C: '#minecraft:logs', - D: '#forge:storage_blocks/charcoal', + D: '#forge:storage_blocks/charcoal' }).id('tfg:campfire_charcoal') event.shaped('minecraft:campfire', [ @@ -907,7 +907,7 @@ const registerMinecraftRecipes = (event) => { A: '#forge:rods/black_steel', B: 'minecraft:lava_bucket', C: '#minecraft:logs', - D: '#forge:storage_blocks/coal', + D: '#forge:storage_blocks/coal' }).id('tfg:campfire_coal') //#endregion @@ -1053,22 +1053,6 @@ const registerMinecraftRecipes = (event) => { // #endregion - //#region Greenhouse - - generateGreenHouseRecipe(event, '8x minecraft:bamboo', '#tfc:any_fresh_water', 4000, - '64x minecraft:bamboo', 'bamboo', 'minecraft:overworld', 8, - '8x minecraft:bamboo', GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '4x minecraft:red_mushroom', '#tfc:any_fresh_water', 4000, - '24x minecraft:red_mushroom', 'red_mushroom', 'minecraft:the_nether', 8, - '4x minecraft:red_mushroom', GTValues.VA[GTValues.LV]) - - generateGreenHouseRecipe(event, '4x minecraft:brown_mushroom', '#tfc:any_fresh_water', 4000, - '24x minecraft:brown_mushroom', 'brown_mushroom', 'minecraft:the_nether', 8, - '4x minecraft:brown_mushroom', GTValues.VA[GTValues.LV]) - - // #endregion - // Minecart w/ Furnace event.shapeless('minecraft:furnace_minecart', ['minecraft:water_bucket', 'gtceu:hp_steam_solid_boiler', 'minecraft:minecart']); diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index 1c15098dc..18dfe338e 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -57,50 +57,6 @@ const registerTFCRecipes = (event) => { event.recipes.tfc.quern(element.output, element.input) .id(`tfg:quern/${element.name}`) }) - - //#region Рецепты электрической теплицы - - // Дерево - global.TFC_WOOD_TYPES.forEach(wood => { - generateGreenHouseRecipe(event, `8x tfc:wood/sapling/${wood}`, '#tfc:any_fresh_water', 16000, `64x tfc:wood/log/${wood}`, - `tfg:greenhouse/${wood}`, 'minecraft:overworld', 16, `32x tfc:wood/sapling/${wood}`, GTValues.VH[GTValues.LV]) - }) - - global.AFC_SAPLINGS.forEach(x => { - generateGreenHouseRecipe(event, `8x afc:wood/sapling/${x.sapling}`, '#tfc:any_fresh_water', 16000, `64x ${x.log}`, - `tfg:greenhouse/${x.sapling}`, 'minecraft:overworld', 16, `32x afc:wood/sapling/${x.sapling}`, GTValues.VH[GTValues.LV]) - }) - - // Семена фруктов - global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, 'minecraft:overworld', 8, element.input, GTValues.VH[GTValues.LV]) - }) - - // Семена овощей - global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, null, 8, element.input, GTValues.VH[GTValues.LV]) - }) - - // Семена ягод - global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, '#tfc:any_fresh_water', element.fluid_amount, element.output, - element.name, null, 8, element.input, GTValues.VH[GTValues.LV]) - }) - - // Растения - Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `greenhouse_${itemId.replace(':', '_')}`; - - generateGreenHouseRecipe(event, itemId, '#tfc:any_fresh_water', 8000, `8x ${itemId}`, - recipeId, null, 8, itemId, GTValues.VH[GTValues.LV]); - }); - - //#endregion - - // Доменная печь event.recipes.gtceu.shaped('tfc:blast_furnace', [ 'AAA', diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 4596f212f..f1ca9d2e4 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,6 +1,8 @@ // priority: 0 "use strict"; +const ForgeRegistries = Java.loadClass('net.minecraftforge.registries.ForgeRegistries'); + /** @param {TagEvent.Item} event */ function registerTFCItemTags(event) { // Теги для соответствия инструментов TFC и GT @@ -511,11 +513,21 @@ function registerTFCBlockTags(event) { event.add("tfc:forge_invisible_whitelist", "greate:stainless_steel_mechanical_pump"); event.add("tfc:forge_invisible_whitelist", "greate:titanium_mechanical_pump"); - //Allows any block with the word "brick" in its id to be used as bloomery and forge insulation. - //Add blacklisted words to the const with | between. - const brick_blacklist = "drying|slab|stairs|wall|additionalplacements"; - event.add("tfc:bloomery_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); - event.add("tfc:forge_insulation", `/^(?=.*brick)(?!.*(${brick_blacklist})).*/`); + // Allows any block with the word "brick" in its id to be used as bloomery and forge insulation. + // Optimized to compute matching blocks once instead of regex scanning per tag like before. + // Blacklist removes blocks that are unwanted. + const blacklist = ["drying", "slab", "stairs", "wall", "additionalplacements", "fence", "roof", "bridge"]; + const matches = []; + ForgeRegistries.BLOCKS.getValues().forEach(block => { + const id = String(ForgeRegistries.BLOCKS.getKey(block)); + if (id.includes("brick") && !blacklist.some(no_no_word => id.includes(no_no_word))) { + matches.push(id); + }; + }); + ["tfc:bloomery_insulation", "tfc:forge_insulation"].forEach(tag => { + matches.forEach(id => event.add(tag, id)); + }); + event.add("tfc:forge_insulation", 'create:depot'); global.TFC_STONE_TYPES.forEach((stone) => { diff --git a/kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js b/kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js new file mode 100644 index 000000000..cd93cab11 --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/data.aquaponics.js @@ -0,0 +1,15 @@ +"use strict"; + +/** @param {Internal.TFCDataEventJS} event */ +function registerTFGAquaponicsData(event) { + + event.fuel('tfg:flora_pellets', 1415, 1900, 0.95); + + event.foodItem('tfg:fish_roe', (food) => { + food.hunger(4); + food.decayModifier(2); + food.protein(2.5); + food.saturation(2); + }); + +} diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js new file mode 100644 index 000000000..e26039327 --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.greenhouse.js @@ -0,0 +1,555 @@ +// priority: 1 +"use strict"; + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +//#region Balancing Values + +/** Base duration of recipes in ticks. */ +const greenhouse_base_duration = 16 * 60 * 20; +/** Duration multiplier for fertilized recipes. */ +const greenhouse_duration_multiplier_fertilized = 0.5; +/** Duration multiplier for aquaponic recipes. */ +const greenhouse_duration_multiplier_aquaponics = 0.4; + +/** Hydroponic facility chance multiplier. */ +const hydroponics_facility_chance_multiplier = 1.25; +/** Base percent chance for chanced outputs (out of 100). */ +const greenhouse_chanced_output_base = 7.5; +/** Fertilized percent chance for chanced outputs (out of 100). */ +const greenhouse_chanced_output_fertilized = 40; +/** Aquaponics percent chance for chanced outputs (out of 100). */ +const greenhouse_chanced_output_aquaponics = 80; + +/** + * Dimension setting index provides recipe modifications based on the dimension assigned. + * + * @typedef {Object} DimensionIndex + * @property {Internal.Dimension} id - Dimension ID. + * @property {Internal.FluidStackIngredient_} fluid - Fluid ID or tag. + * @property {number} fluid_chance - Chance for fluid consumption per tick out of 100. + * @property {Internal.ItemStack|null} fertilizer - Fertilizer item ID or null if fertilizer is not needed on that dimension. + * @property {GTValues.EUt} eut - EUt value for that dimension. + * @property {boolean|null} oxygenated - Whether the recipe requires an oxygenated environment. + */ + +/** @param {...DimensionIndex[]} - Dimension settings array */ +const greenhouse_dimension_index = [ + // Overworld settings are also used as the default when no dimension is specified. + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_tier2: 'tfg:nitrate_rich_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'ad_astra:moon', fluid: 'gtceu:helium_3', fluid_tier2: null, fluid_chance: 2, fertilizer: null, eut: GTValues.VA[GTValues.MV], oxygenated: null}, + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_tier2: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', fluid_chance: 10, fertilizer: 'gtceu:fertilizer', eut: GTValues.VA[GTValues.HV], oxygenated: null} +]; + +//#endregion +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +//#region Utility Script + +/** Correct recipe IDs to replace invalid characters */ +function linuxUnfucker(value) { + const str = (value === undefined || value === null) ? "" : value.toString(); + return str.replace(/[/:\s]/g, "_"); +}; + +/** + * Function for generating greenhouse recipes. + * + * @param {*} event + * @param {Internal.Dimension|null} dimension -Dimension ID + * @param {Internal.ItemStack} input -Input Item (seeds, saplings, etc.) + * @param {Internal.ItemStack|Internal.ItemStack[]} output -Output Items. If array, first item is guaranteed while rest use chanced output. Last item in array is used for the rest of the chance outputs. + * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + */ +function generateGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { + + // Resolve dimension based modifier defaults by comparing to the `greenhouse_dimension_index` array. + + /** @type {DimensionIndex|null} */ + const dimMods = dimension ? greenhouse_dimension_index.find(d => d.id === dimension) : null; + + /** @type {Internal.FluidStackIngredient_} - Resolved fluid ID or tag. Defaults to `#tfg:clean_water` */ + const resolvedFluid = dimMods?.fluid ?? '#tfg:clean_water'; + + /** @type {Internal.FluidStackIngredient_} - Resolved aquaponic loop fluid ID or tag. Defaults to `tfg:nitrate_rich_water` */ + const resolvedFluidTier2 = dimMods?.fluid_tier2 ?? 'tfg:nitrate_rich_water'; + + /** @type {Internal.ItemStack|null} - Resolved fertilizer item ID. Defaults to `gtceu:fertilizer` */ + const resolvedFertilizer = dimMods ? dimMods.fertilizer : 'gtceu:fertilizer'; + + /** @type {boolean} - Whether fertilization is possible for this dimension. */ + const canFertilize = resolvedFertilizer !== null; + + /** @type {GTValues.EUt} - Resolved EUt value. Defaults to LV */ + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + + /** @type {number} - Resolved fluid chance multiplied by 100. Defaults to 1000. */ + const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 1000; + + /** @type {boolean|null} - Whether the recipe requires an oxygenated environment. Defaults to true. */ + const requiresOxygen = dimMods ? dimMods.oxygenated : true; + + ///////////////////////////////////////////////////////////////////////////////////////////////////// + + /** Collect errors. */ + + const errors = []; + + if (input === undefined || Array.isArray(input)) { + errors.push("input is undefined or is an array"); + }; + if (output !== undefined && !Array.isArray(output)) { + output = [output]; + } + if (output === undefined || output.length === 0 || output.length > 4) { + errors.push("output is undefined or has invalid length"); + }; + + // If there are any errors, log them all and throw once. + if (errors.length > 0) { + throw new TypeError(`Greenhouse recipe errors for recipe ID ${`tfg:greenhouse/${linuxUnfucker(input)}`}\n - ${errors.join("\n - ")}`); + }; + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + // Normalize outputs to an array of 4 items. + + // index 0 is guaranteed output, indexes 1-3 are chanced outputs. + // Last item in output array is used for any missing chanced outputs. + let outputs_array = []; + const guaranteed_output = output[0]; + const last_output = output[output.length - 1]; + for (let i = 0; i < 4; i++) { + if (i === 0) outputs_array[i] = guaranteed_output; + else outputs_array[i] = (output[i] !== undefined) ? output[i] : last_output; + }; + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + // Math Section :D + + /** + * Function to keep calculated duration values above 0 (minimum 1 tick). + * + * @param {number} value - Number to validate. + * @returns {number} - Validated Number. + */ + function validate_duration(value) { + return Math.max(1, Math.round(value)); + }; + + const fertilizer_duration = validate_duration(greenhouse_base_duration * greenhouse_duration_multiplier_fertilized); + const aquaponic_duration = validate_duration(greenhouse_base_duration * greenhouse_duration_multiplier_aquaponics); + + /** + * Function to keep percent values within valid range (1 to 10000). + * + * @param {number} value - Number to validate. + * @returns {number} - Validated Number. + */ + function validate_percent(value) { + return Math.min(10000, Math.max(1, Math.round(value))); + }; + + chance_multiplier = chance_multiplier ?? 1; + chance_multiplier = chance_multiplier * 100; + const base_chance = validate_percent(greenhouse_chanced_output_base * chance_multiplier); + const fertilizer_chance = validate_percent(greenhouse_chanced_output_fertilized * chance_multiplier); + const aquaponic_chance = validate_percent(greenhouse_chanced_output_aquaponics * chance_multiplier); + const hydroponics_base_chance = validate_percent(greenhouse_chanced_output_base * chance_multiplier); + const hydroponics_fertilizer_chance = validate_percent(greenhouse_chanced_output_fertilized * chance_multiplier * hydroponics_facility_chance_multiplier); + const hydroponics_aquaponic_chance = validate_percent(greenhouse_chanced_output_aquaponics * chance_multiplier * hydroponics_facility_chance_multiplier); + + //////////////////////////////////////////////////////////////////////////////////////////////////////// + + // Recipe Scripts. + + if (canFertilize) { + + //======================== Greenhouse Recipes ======================== + + // Base recipe. + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(greenhouse_base_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + a.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(a, requiresOxygen) + }; + if (outputs_array[1] !== null) { + a.chancedOutput(outputs_array[1], base_chance, 0) + a.chancedOutput(outputs_array[2], base_chance, 0) + a.chancedOutput(outputs_array[3], base_chance, 0) + }; + + // Fertilized Recipe. + let b = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_fertilized`) + .notConsumable(input) + .circuit(2) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + b.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(b, requiresOxygen) + }; + if (outputs_array[1] !== null) { + b.chancedOutput(outputs_array[1], fertilizer_chance, 0) + b.chancedOutput(outputs_array[2], fertilizer_chance, 0) + b.chancedOutput(outputs_array[3], fertilizer_chance, 0) + b.itemInputs(Item.of(resolvedFertilizer, 8)) + }; + + // Aquaponics Recipe. + let c = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}_aquaponic`) + .notConsumable(input) + .circuit(3) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) + .perTick(false) + .duration(aquaponic_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + c.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(c, requiresOxygen) + }; + if (outputs_array[1] !== null) { + c.chancedOutput(outputs_array[1], aquaponic_chance, 0) + c.chancedOutput(outputs_array[2], aquaponic_chance, 0) + c.chancedOutput(outputs_array[3], aquaponic_chance, 0) + }; + c.itemOutputs('tfg:flora_pellets'); + + //======================== Hydroponic Facility Recipes ======================== + + // Base recipe. + let d = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(greenhouse_base_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + d.dimension(dimension) + }; + if (outputs_array[1] !== null) { + d.chancedOutput(outputs_array[1], hydroponics_base_chance, 0) + d.chancedOutput(outputs_array[2], hydroponics_base_chance, 0) + d.chancedOutput(outputs_array[3], hydroponics_base_chance, 0) + }; + + // Fertilized Recipe. + let e = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_fertilized`) + .notConsumable(input) + .circuit(2) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + e.dimension(dimension) + }; + if (outputs_array[1] !== null) { + e.chancedOutput(outputs_array[1], hydroponics_fertilizer_chance, 0) + e.chancedOutput(outputs_array[2], hydroponics_fertilizer_chance, 0) + e.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) + e.itemInputs(Item.of(resolvedFertilizer, 8)) + }; + + // Aquaponics Recipe. + let f = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}_aquaponic`) + .notConsumable(input) + .circuit(3) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluidTier2} 1`, resolvedChance, 0) + .perTick(false) + .duration(aquaponic_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + f.dimension(dimension) + }; + if (outputs_array[1] !== null) { + f.chancedOutput(outputs_array[1], hydroponics_aquaponic_chance, 0) + f.chancedOutput(outputs_array[2], hydroponics_aquaponic_chance, 0) + f.chancedOutput(outputs_array[3], hydroponics_aquaponic_chance, 0) + }; + f.itemOutputs('tfg:flora_pellets'); + + } else { + // Base recipe boosted if no fertilization needed. + + //======================== Greenhouse Recipes ======================== + + let a = event.recipes.gtceu.greenhouse(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + a.dimension(dimension) + }; + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(a, requiresOxygen) + }; + if (outputs_array[1] !== null) { + a.chancedOutput(outputs_array[1], fertilizer_chance, 0) + a.chancedOutput(outputs_array[2], fertilizer_chance, 0) + a.chancedOutput(outputs_array[3], fertilizer_chance, 0) + }; + + //======================== Hydroponics Facility Recipes ======================== + + let b = event.recipes.gtceu.hydroponics_facility(`tfg:${linuxUnfucker(input)}`) + .notConsumable(input) + .circuit(1) + .itemOutputs(outputs_array[0]) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .perTick(false) + .duration(fertilizer_duration) + .EUt(resolvedEUt) + if (dimension !== null) { + b.dimension(dimension) + }; + if (outputs_array[1] !== null) { + b.chancedOutput(outputs_array[1], hydroponics_fertilizer_chance, 0) + b.chancedOutput(outputs_array[2], hydroponics_fertilizer_chance, 0) + b.chancedOutput(outputs_array[3], hydroponics_fertilizer_chance, 0) + }; + }; +}; + +/** + * Function for generating standard crop greenhouse recipes. + * Uses the following defaults: + * - 4x seed inputs + * - 20x crop output + * - 1x seed chanced output + * - 4x crop chanced output + * + * @param {Internal.RecipesEventJS} event + * @param {Internal.Dimension|null} dimension -Dimension ID + * @param {Internal.Ingredient} input -Input Item. (seed, bush, etc.) + * @param {Internal.ItemStack} output -Output Item. (vegetable, fruit, etc.) + * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + */ +function generateCropGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `4x ${input}`, [Item.of(output, 20), Item.of(input, 1), Item.of(output, 4)], chance_multiplier); +}; + +/** + * Function for generating standard tree greenhouse recipes. + * Uses the following defaults: + * - 8x sapling inputs + * - 64x wood output + * - 4x sapling chanced output + * - 16x wood chanced output + * + * @param {Internal.RecipesEventJS} event + * @param {Internal.Dimension|null} dimension -Dimension ID + * @param {Internal.Ingredient} input -Input Item. (sapling) + * @param {Internal.ItemStack} output -Output Item. (wood) + * @param {number|null} chance_multiplier -Multiplies output chances by this value. Defaults to 1. + */ +function generateTreeGreenHouseRecipe(event, dimension, input, output, chance_multiplier) { + generateGreenHouseRecipe(event, dimension, `8x ${input}`, [Item.of(output, 64), Item.of(input, 4), Item.of(output, 16)], chance_multiplier); +}; + +//#endregion +// Recipes + +/** + * @param {Internal.RecipesEventJS} event + */ +const registerTFGGreenhouseRecipes = (event) => { + + //#region Multiblock Parts + + /** @type {string[]} - Tier names of greenhouse casings. */ + const greenhouse_tiers = ['treated_wood', 'copper', 'iron', 'stainless_steel']; + + greenhouse_tiers.forEach(tier => { + + const tier_tag = Ingredient.of(`#tfg:${tier}_greenhouse_casings`).itemIds.toArray().map(String); + + tier_tag.forEach(item => { + event.stonecutting(item, + Ingredient.of(`#tfg:${tier}_greenhouse_casings`).subtract(item) + ).id(`tfg:stonecutter/${linuxUnfucker(item)}`) + }); + }); + + // Cultivation Monitor + event.recipes.gtceu.shaped('tfg:cultivation_monitor', [ + 'CEC', + 'DBD', + 'CAC' + ], { + A: 'gtceu:ev_scanner', + B: 'gtceu:computer_monitor_cover', + C: ChemicalHelper.get(TagPrefix.plateDense, GTMaterials.TungstenSteel, 1), + D: '#gtceu:circuits/luv', + E: '#forge:lenses/emerald' + }).addMaterialInfo().id('tfg:shaped/cultivation_monitor'); + + // Hydroponics Facility Controller + event.recipes.gtceu.shaped('tfg:hydroponics_facility', [ + 'FBF', + 'EAE', + 'CDC' + ], { + A: 'gtceu:iv_machine_hull', + B: 'tfg:cultivation_monitor', + C: '#gtceu:circuits/iv', + D: 'gtceu:platinum_single_cable', + E: 'gtceu:iv_electric_pump', + F: 'tfg:grow_light' + }).addMaterialInfo().id('tfg:shaped/hydroponics_facility'); + + // Grow Lights + event.recipes.gtceu.shaped('2x tfg:grow_light', [ + 'ABA', + 'CDC' + ], { + A: ChemicalHelper.get(TagPrefix.plate, GTMaterials.TinAlloy, 1), + B: 'gtceu:annealed_copper_single_cable', + C: 'minecraft:glowstone', + D: 'gtceu:tin_alloy_small_fluid_pipe' + }).addMaterialInfo().id('tfg:shaped/grow_light'); + + // Horticulture Planters + event.recipes.gtceu.shaped('tfg:egh_planter', [ + 'BAB', + 'BDB', + 'CCC' + ], { + A: 'firmalife:hydroponic_planter', + B: ChemicalHelper.get(TagPrefix.plate, GTMaterials.TungstenSteel, 1), + C: 'tfg:grow_light', + D: 'gtceu:iv_hermetic_casing' + }).addMaterialInfo().id('tfg:shaped/egh_planter'); + + // Horticulture Casings + event.recipes.gtceu.assembler('tfg:casings/machine_casing_egh') + .itemInputs('gtceu:plascrete', '#forge:frames/calorite') + .inputFluids(Fluid.of('tfg:chloroplasts', 100)) + .itemOutputs('2x tfg:casings/machine_casing_egh') + .duration(8*20) + .circuit(6) + .EUt(GTValues.VA[GTValues.HV]) + .addMaterialInfo(true); + + //#endregion + + //#region Recipes + + // Mushrooms + Ingredient.of('#beneath:mushrooms').stacks.forEach(element => { + generateGreenHouseRecipe(event, 'minecraft:the_nether', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:red_mushroom', ['24x minecraft:red_mushroom', '8x minecraft:red_mushroom'], 1); + generateGreenHouseRecipe(event, 'minecraft:the_nether', '8x minecraft:brown_mushroom', ['24x minecraft:brown_mushroom', '8x minecraft:brown_mushroom'], 1); + + // Crops + global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + + global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { + generateCropGreenHouseRecipe(event, null, element.input, element.output, 1); + }); + + // Wood + global.TFC_WOOD_TYPES.forEach(element => { + generateTreeGreenHouseRecipe(event, null, `tfc:wood/sapling/${element}`, `tfc:wood/log/${element}`, 1); + }); + global.AFC_SAPLINGS.forEach(element => { + generateTreeGreenHouseRecipe(event, null, `afc:wood/sapling/${element.sapling}`, element.log, 1); + }); + + // Plants + Ingredient.of('#tfc:plants').subtract('#tfc:wild_fruits').stacks.forEach(element => { + generateGreenHouseRecipe(event, null, `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + generateGreenHouseRecipe(event, null, '8x minecraft:bamboo', ['64x minecraft:bamboo', '8x minecraft:bamboo'], 1); + + // Mars Wood + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/strophar', [ + '64x ad_astra:strophar_stem', '4x tfg:saplings/strophar', '16x ad_astra:strophar_cap', '16x ad_astra:strophar_cap' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/aeronos', [ + '64x ad_astra:aeronos_stem', '4x tfg:saplings/aeronos', '16x ad_astra:aeronos_cap', '16x ad_astra:aeronos_cap' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/glacian', [ + '64x ad_astra:glacian_log', '4x tfg:saplings/glacian', '16x species:alphacene_moss_block', '16x species:alphacene_moss_block' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/alphacene', [ + '64x species:alphacene_mushroom_block', '4x tfg:saplings/alphacene', '16x minecraft:mushroom_stem', '16x minecraft:mushroom_stem' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/warped', [ + '64x beneath:wood/log/warped', '4x tfg:saplings/warped', '16x minecraft:warped_wart_block', '16x minecraft:warped_wart_block' + ], 1); + generateGreenHouseRecipe(event, 'ad_astra:mars', '8x tfg:saplings/crimson', [ + '64x beneath:wood/log/crimson', '4x tfg:saplings/crimson', '16x minecraft:nether_wart_block', '16x minecraft:nether_wart_block' + ], 1); + + // Mars Plants + Ingredient.of('#tfg:mars_plants').stacks.forEach(element => { + generateGreenHouseRecipe(event, 'ad_astra:mars', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:amber_root_seeds', 'betterend:amber_root_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:blossom_berry_seeds', 'betterend:blossom_berry_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:bolux_mushroom_seeds', 'betterend:bolux_mushroom_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:cave_pumpkin_plant_seeds', 'betterend:cave_pumpkin', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:chorus_mushroom_seeds', 'betterend:chorus_mushroom_product', 1); + generateCropGreenHouseRecipe(event, 'ad_astra:mars', 'betterend:shadow_berry_seeds', 'betterend:shadow_berry_product', 1); + + // Moon Crops + generateCropGreenHouseRecipe(event, 'ad_astra:moon', 'tfg:lunar_chorus_flower', 'minecraft:chorus_fruit', 2); + + // Moon Plants + generateGreenHouseRecipe(event, 'ad_astra:moon', '8x minecraft:twisting_vines', [ + '16x minecraft:twisting_vines', '8x minecraft:pearlescent_froglight', '8x minecraft:verdant_froglight', '8x minecraft:ochre_froglight' + ], 1); + + Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { + generateGreenHouseRecipe(event, 'ad_astra:moon', `8x ${element.id}`, [element.withCount(24), element.withCount(8)], 1); + }); + + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js new file mode 100644 index 000000000..e871d930c --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/recipes.pisciculture.js @@ -0,0 +1,242 @@ +// priority: 0 +"use strict"; + +/////////////////////////////////////////////////////////////////////////////////////////////////////// +//#region Balancing Values + +/** + * Base duration of recipes in ticks. + * * Should match the Greenhouse base duration * aquaponics multiplier. +*/ +const pisciculture_base_duration = Math.max(1, greenhouse_base_duration * greenhouse_duration_multiplier_aquaponics); + +/** + * Dimension setting index provides recipe modifications based on the dimension assigned. + * + * @typedef {Object} DimensionIndex + * @property {Internal.Dimension} id - Dimension ID. + * @property {Internal.FluidStackIngredient_} fluid - Fluid ID or tag. + * @property {number} fluid_chance - Chance for fluid consumption per tick out of 100. + * @property {Internal.FluidStackIngredient_} fluid_out - Output fluid ID. + * @property {GTValues.EUt} eut - EUt value for that dimension. + * @property {boolean|null} oxygenated - Whether the recipe requires an oxygenated environment. + */ + +/** @type {DimensionIndex[]} - Dimension settings array */ +const pisciculture_dimension_index = [ + // Overworld settings are also used as the default when no dimension is specified. + {id: 'minecraft:overworld', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + {id: 'minecraft:the_nether', fluid: '#tfg:clean_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_water', eut: GTValues.VA[GTValues.LV], oxygenated: true}, + // The moon has no fish yet :( + {id: 'ad_astra:mars', fluid: 'tfg:semiheavy_ammoniacal_water', fluid_chance: 50, fluid_out: 'tfg:nitrate_rich_semiheavy_ammoniacal_water', eut: GTValues.VA[GTValues.HV], oxygenated: null} +]; + +//#endregion +/////////////////////////////////////////////////////////////////////////////////////////////////////// + +//#region Utility Script + + /** + * Function for generating pisciculture recipes. + * + * @param {*} event + * @param {Internal.Dimension|null} dimension -Dimension ID. + * @param {Internal.ItemStack|Internal.ItemStack[]} input -Input Item (roe, fish food, etc). + * @param {Internal.ItemStack|Internal.ItemStack[]} output -Output Items. + * @param {string} id -Recipe ID. + */ + function generatePiscicultureRecipe(event, dimension, input, output, id) { + + // Resolve dimension based modifier defaults by comparing to the `pisciculture_dimension_index` array. + const dimMods = dimension ? pisciculture_dimension_index.find(d => d.id === dimension) : null; + const resolvedFluid = dimMods?.fluid ?? '#tfg:clean_water'; + const resolvedFluidOut = dimMods?.fluid_out ?? 'tfg:nitrate_rich_water'; + const resolvedEUt = dimMods ? dimMods.eut : GTValues.VA[GTValues.LV]; + const resolvedChance = dimMods ? (dimMods.fluid_chance * 100) : 5000; + const requiresOxygen = dimMods ? dimMods.oxygenated : true; + + // Collect errors. + const errors = []; + + if (input === undefined) { + errors.push("input is undefined"); + }; + if (output !== undefined && !Array.isArray(output)) { + output = [output]; + } + if (output === undefined || output.length === 0 || output.length > 4) { + errors.push("output is undefined or has invalid length"); + }; + + // If there are any errors, log them all and throw once. + if (errors.length > 0) { + throw new TypeError(`Pisciculture Fishery recipe errors for recipe ID ${`tfg:pisciculture_fishery/${id}`}\n - ${errors.join("\n - ")}`); + }; + + let a = event.recipes.gtceu.pisciculture_fishery(`tfg:${id}`) + .itemInputs(input) + .perTick(true) + .chancedFluidInput(`${resolvedFluid} 1`, resolvedChance, 0) + .chancedFluidOutput(`${resolvedFluidOut} 1`, resolvedChance, 0) + .perTick(false) + .itemOutputs(output) + .duration(pisciculture_base_duration) + .EUt(resolvedEUt); + + if (dimension !== null) { + a.dimension(dimension) + }; + + if (requiresOxygen !== null) { + TFGRecipeSchemaBindings.isOxygenated(a, requiresOxygen) + }; +}; + +//#endregion + +/** + * @param {Internal.RecipesEventJS} event + */ +const registerTFGPiscicultureRecipes = (event) => { + + + //#region Multiblock Parts + + // Pisciculture Fishery Controller + event.recipes.gtceu.shaped('tfg:pisciculture_fishery', [ + 'FBF', + 'EAE', + 'CDC' + ], { + A: 'gtceu:hv_machine_hull', + B: 'tfg:machine_casing_aluminium_plated_steel', + C: '#gtceu:circuits/hv', + D: 'gtceu:stainless_steel_small_fluid_pipe', + E: 'gtceu:hv_electric_pump', + F: 'gtceu:fluid_filter' + }).addMaterialInfo().id('tfg:shaped/pisciculture_fishery'); + + // Pisciculture Core + event.recipes.gtceu.shaped('tfg:pisciculture_core', [ + 'CBC', + 'DBD', + 'CAC' + ], { + A: 'gtceu:hv_rotor_holder', + B: 'gtceu:stainless_steel_rotor', + C: 'gtceu:inert_machine_casing', + D: ChemicalHelper.get(TagPrefix.ring, GTMaterials.PolyvinylChloride, 1) + }).addMaterialInfo().id('tfg:shaped/pisciculture_core'); + + //#endregion + //#region Recipes + + global.FISH_INDEX.forEach(fish => { + + // Bucket to Roe. + if (fish.parent !== null && fish.parent.includes('bucket')) { + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '6x #tfc:small_fishing_bait' + ], [ + `6x ${fish.item}`, + Item.of(`3x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '2x minecraft:bucket' + ], + `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/bucket_to_roe` + ); + + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '2x #tfg:advanced_fish_food' + ], [ + `12x ${fish.item}`, + Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '2x minecraft:bucket' + ], + `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/bucket_to_roe` + ); + } else { + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '6x #tfc:small_fishing_bait' + ], [ + `6x ${fish.item}`, + Item.of(`3x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/parent_to_roe` + ); + + generatePiscicultureRecipe(event, + fish.dimension, [ + fish.parent, + fish.parent, + '2x #tfg:advanced_fish_food' + ], [ + `12x ${fish.item}`, + Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/parent_to_roe` + ); + }; + + // Roe to Roe. + generatePiscicultureRecipe(event, + fish.dimension, [ + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '6x #tfc:small_fishing_bait' + ], [ + `10x ${fish.item}`, + Item.of(`4x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/basic_food/roe_to_roe` + ); + + generatePiscicultureRecipe(event, + fish.dimension, [ + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + Item.of(`tfg:fish_roe`, {"mob_type": fish.id}).strongNBT(), + '2x #tfg:advanced_fish_food' + ], [ + `15x ${fish.item}`, + Item.of(`5x tfg:fish_roe`, {"mob_type": fish.id}).strongNBT() + ], + `${fish.id.replace(/[/:\s]/g, "_")}/advanced_food/roe_to_roe` + ); + + }); + + //#endregion + //#region Related Recipes + + // Nitrate Rich Water Filtering + event.recipes.gtceu.electrolyzer('tfg:nitrate_rich_water_filtering') + .inputFluids(Fluid.of('tfg:nitrate_rich_water', 10000)) + .outputFluids( + Fluid.of('minecraft:water', 8000), + Fluid.of('gtceu:ammonia', 1000) + ) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Saltpeter, 1)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]); + + // Nitrate Rich Semiheavy Ammoniacal Water Filtering + event.recipes.gtceu.electrolyzer('tfg:nitrate_rich_semiheavy_ammoniacal_water_filtering') + .inputFluids(Fluid.of('tfg:nitrate_rich_semiheavy_ammoniacal_water', 10000)) + .outputFluids( + Fluid.of('tfg:semiheavy_ammoniacal_water', 8000), + Fluid.of('gtceu:ammonia', 1000) + ) + .itemOutputs(ChemicalHelper.get(TagPrefix.dust, GTMaterials.Saltpeter, 1)) + .duration(20 * 5) + .EUt(GTValues.VA[GTValues.HV]); + + //#endregion +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js b/kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js new file mode 100644 index 000000000..cdb85131a --- /dev/null +++ b/kubejs/server_scripts/tfg/aquaponics/tags.aquaponics.js @@ -0,0 +1,56 @@ +"use strict"; + +/** + * @param {Internal.TagEventJS} event + */ +const registerTFGAquaponicsItemTags = (event) => { + event.add('tfg:treated_wood_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + + event.add('tfg:copper_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + + event.add('tfg:iron_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + + event.add('tfg:stainless_steel_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); + + + event.add('tfc:foods/usable_in_salad', 'tfg:fish_roe'); + event.add('tfc:foods/usable_in_jam_sandwich', 'tfg:fish_roe'); + event.add('tfc:foods/usable_in_sandwich', 'tfg:fish_roe'); + event.add('tfc:foods/can_be_salted', 'tfg:fish_roe'); + event.add('tfc:foods', 'tfg:fish_roe'); + event.add('firmalife:foods/raw_fish', 'tfg:fish_roe'); + event.add('minecraft:fishes', 'tfg:fish_roe'); + + event.add('tfg:advanced_fish_food', 'tfg:flora_pellets'); + event.add('create:blaze_burner_fuel/regular', "tfg:flora_pellets"); +}; + +/** + * @param {Internal.TagEventJS} event + */ +const registerTFGAquaponicsBlockTags = (event) => { + event.add('tfg:treated_wood_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:treated_wood_greenhouse_wall'); + + event.add('tfg:copper_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:copper_greenhouse_wall'); + + event.add('tfg:iron_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:iron_greenhouse_wall'); + + event.add('tfg:stainless_steel_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); + event.add('tfg:all_greenhouse_casings', 'firmalife:stainless_steel_greenhouse_wall'); +}; + +/** + * @param {Internal.TagEventJS} event + */ +const registerTFGAquaponicsFluidTags = (event) => { + event.add('tfg:pisciculture_fishery_fluids', 'minecraft:water') + event.add('tfg:pisciculture_fishery_fluids', 'tfc:salt_water') + event.add('tfg:pisciculture_fishery_fluids', 'tfg:semiheavy_ammoniacal_water') +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/data.js b/kubejs/server_scripts/tfg/data.js index 6608c3ef1..e48d7205f 100644 --- a/kubejs/server_scripts/tfg/data.js +++ b/kubejs/server_scripts/tfg/data.js @@ -11,6 +11,7 @@ function registerTFCDataForTFG(event) { registerTFGFLPlanters(event); registerTFGFauna(event); registerTFGEquipmentData(event); + registerTFGAquaponicsData(event); } //#region Heat Data diff --git a/kubejs/server_scripts/tfg/food/recipes.biomass.js b/kubejs/server_scripts/tfg/food/recipes.biomass.js index 82455ef59..dccad54e9 100644 --- a/kubejs/server_scripts/tfg/food/recipes.biomass.js +++ b/kubejs/server_scripts/tfg/food/recipes.biomass.js @@ -179,4 +179,4 @@ function registerTFGBiomassRecipes(event) { .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') .duration(100) .EUt(2) -} \ No newline at end of file +} diff --git a/kubejs/server_scripts/tfg/food/recipes.food.js b/kubejs/server_scripts/tfg/food/recipes.food.js index e0b93f905..caf7ac9f4 100644 --- a/kubejs/server_scripts/tfg/food/recipes.food.js +++ b/kubejs/server_scripts/tfg/food/recipes.food.js @@ -303,8 +303,7 @@ function registerTFGFoodRecipes(event) { itemOutputProvider: TFC.isp.of(`4x ${item.unsalted_cheese}`).copyOldestFood() }) - if (item.salted_wheel === null || item.salted_cheese === null) - return; + if (item.salted_wheel === null || item.salted_cheese === null) return; global.processorRecipe(event, `${item.id}_salted_cheese_wheel`, 1000, 16, { circuit: 2, @@ -381,8 +380,8 @@ function registerTFGFoodRecipes(event) { for (const cshape of chocolateShape) { global.processorRecipe(event, `${ctype}_${cshape}_melting`, 100, 16, { circuit: 1, - itemInputs:[cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], - fluidOutputs:[cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], + itemInputs:[cshape === "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], + fluidOutputs:[cshape === "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)] }) } } @@ -390,9 +389,9 @@ function registerTFGFoodRecipes(event) { for (const ctype of chocolateType) { for (const cshape of chocolateShape) { global.processorRecipe(event, `${ctype}_${cshape}_casting`, 100, 16, { - fluidInputs: [cshape == "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], - itemOutputs: [cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], - itemOutputProvider: TFC.isp.of(cshape == "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`).resetFood(), + fluidInputs: [cshape === "" ? Fluid.of(`tfcchannelcasting:${ctype}`, 144) : Fluid.of(`tfcchannelcasting:${ctype}`, 100)], + itemOutputs: [cshape === "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`], + itemOutputProvider: TFC.isp.of(cshape === "" ? `firmalife:food/${ctype}` : `tfcchannelcasting:food/${ctype}${cshape}`).resetFood(), notConsumable: [chocolatemolds[chocolateShape.indexOf(cshape)]] }) } diff --git a/kubejs/server_scripts/tfg/mars/recipes.mars.js b/kubejs/server_scripts/tfg/mars/recipes.mars.js index ac9fa0bc2..8798236bc 100644 --- a/kubejs/server_scripts/tfg/mars/recipes.mars.js +++ b/kubejs/server_scripts/tfg/mars/recipes.mars.js @@ -99,7 +99,7 @@ function registerTFGMarsRecipes(event) { 'A A' ], { A: 'tfg:wood/lumber/aeronos', - B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1) }).id('tfg:shaped/aeronos_ladder') event.shaped('8x ad_astra:strophar_ladder', [ @@ -108,29 +108,9 @@ function registerTFGMarsRecipes(event) { 'A A' ], { A: 'tfg:wood/lumber/strophar', - B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1), + B: ChemicalHelper.get(TagPrefix.rod, GTMaterials.Wood, 1) }).id('tfg:shaped/strophar_ladder') - - generateGreenHouseRecipe(event, '8x tfg:saplings/strophar', '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 tfg:saplings/aeronos', '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]) - generateGreenHouseRecipe(event, '8x tfg:saplings/glacian', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x ad_astra:glacian_log', 'tfg:green_house/glacian_tree', 'ad_astra:mars', 8, - '8x species:alphacene_moss_block', GTValues.VA[GTValues.MV]) - - // Beneath woods - - generateGreenHouseRecipe(event, '8x tfg:saplings/warped', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x beneath:wood/log/warped', 'tfg:green_house/warped_fungus', 'ad_astra:mars', 8, - '32x minecraft:warped_wart_block', GTValues.VA[GTValues.MV]) - generateGreenHouseRecipe(event, '8x tfg:saplings/crimson', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x beneath:wood/log/crimson', 'tfg:green_house/crimson_fungus', 'ad_astra:mars', 8, - '32x 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, @@ -164,12 +144,6 @@ function registerTFGMarsRecipes(event) { .processingTime(50 * global.VINTAGE_IMPROVEMENTS_DURATION_MULTIPLIER) .id(`tfg:vi/lathe/stripping_warped_wood`) - // Alphacene - - generateGreenHouseRecipe(event, '8x tfg:saplings/alphacene', 'tfg:semiheavy_ammoniacal_water', 16000, - '64x species:alphacene_mushroom_block', 'tfg:green_house/alphacene_mushroom', 'ad_astra:mars', 8, - '8x minecraft:mushroom_stem', GTValues.VA[GTValues.MV]) - //Large Nest event.shaped('tfg:large_nest_box', [ @@ -247,34 +221,6 @@ function registerTFGMarsRecipes(event) { B: '#tfc:lumber' }).id('tfg:shaped/glacian_bed') - // Plants - - 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, itemId, 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_seeds', 'tfg:semiheavy_ammoniacal_water', 8000, - '24x betterend:shadow_berry_product', 'shadow_berry', 'ad_astra:mars', 8, null, GTValues.VA[GTValues.LV]) - event.recipes.firmalife.oven('betterend:cave_pumpkin_pie_raw', 400, 60 * 20, 'betterend:cave_pumpkin_pie') // Mars primitive stuff diff --git a/kubejs/server_scripts/tfg/moon/recipes.plants.js b/kubejs/server_scripts/tfg/moon/recipes.plants.js index 38c5e8f8b..8a15efa4a 100644 --- a/kubejs/server_scripts/tfg/moon/recipes.plants.js +++ b/kubejs/server_scripts/tfg/moon/recipes.plants.js @@ -2,40 +2,13 @@ function registerTFGMoonPlantRecipes(event) { - // 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') - .notConsumable('8x tfg:lunar_chorus_flower') - .itemOutputs('64x minecraft:chorus_fruit') - .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 500, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 750, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse('tfg:chorus_helium') - .notConsumable('8x tfg:lunar_chorus_flower') - .inputFluids(Fluid.of('gtceu:helium_3', 2000)) - .itemOutputs('64x minecraft:chorus_fruit') - .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 3000, 0) - .chancedOutput('8x tfg:lunar_chorus_flower', 4000, 0) - .duration(12000) // 10 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - // Replace the built-in greg one to add a circuit event.recipes.gtceu.fermenter('fermented_biomass') .inputFluids(Fluid.of('gtceu:biomass', 100)) .outputFluids(Fluid.of('gtceu:fermented_biomass', 100)) .circuit(1) .duration(150) - .EUt(2) + .EUt(2); event.recipes.gtceu.fermenter('tfg:chorus') .itemInputs('minecraft:chorus_fruit') @@ -45,7 +18,7 @@ function registerTFGMoonPlantRecipes(event) { .circuit(2) .duration(5 * 20) .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') + .dimension('ad_astra:moon'); event.recipes.gtceu.fermenter('tfg:chorus_flower') .itemInputs('tfg:lunar_chorus_flower') @@ -55,64 +28,12 @@ function registerTFGMoonPlantRecipes(event) { .circuit(2) .duration(5 * 20) .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') + .dimension('ad_astra:moon'); - // Lightblooms - event.recipes.gtceu.greenhouse('tfg:lightbloom') - .notConsumable('8x minecraft:twisting_vines') - .itemOutputs('16x minecraft:twisting_vines') - .chancedOutput('minecraft:pearlescent_froglight', 2500, 0) - .chancedOutput('minecraft:verdant_froglight', 2500, 0) - .chancedOutput('minecraft:ochre_froglight', 2500, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.LV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse('tfg:lightbloom_helium') - .notConsumable('8x minecraft:twisting_vines') - .inputFluids(Fluid.of('gtceu:helium_3', 2000)) - .itemOutputs('16x minecraft:twisting_vines') - .chancedOutput('minecraft:pearlescent_froglight', 3500, 0) - .chancedOutput('minecraft:verdant_froglight', 3500, 0) - .chancedOutput('minecraft:ochre_froglight', 3500, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.LV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.brewery('biomass_from_twisting_vines') - .itemInputs('minecraft:twisting_vines') - .inputFluids("#tfg:clean_water 20") - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(50) - .EUt(3) - - Ingredient.of('#tfg:moon_plants').stacks.forEach(element => { - const itemId = element.id; - const recipeId = `betterend:greenhouse_${itemId.replace(':', '_')}`; - - event.recipes.gtceu.greenhouse(recipeId) - .notConsumable(element.id) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 750, 0) - .chancedOutput(element.id, 500, 0) - .chancedOutput(element.id, 750, 0) - .duration(36000) // 30 mins - .circuit(1) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - - event.recipes.gtceu.greenhouse(`${recipeId}_helium`) - .notConsumable(element.id) - .inputFluids(Fluid.of('gtceu:helium_3', 500)) - .itemOutputs(`8x ${element.id}`) - .chancedOutput(element.id, 4000, 0) - .chancedOutput(element.id, 3000, 0) - .chancedOutput(element.id, 4000, 0) - .duration(12000) // 30 mins - .circuit(2) - .EUt(GTValues.VA[GTValues.MV]) - .dimension('ad_astra:moon') - }); -} \ No newline at end of file + event.recipes.gtceu.brewery('biomass_from_twisting_vines') + .itemInputs('minecraft:twisting_vines') + .inputFluids("#tfg:clean_water 20") + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .duration(50) + .EUt(3); +}; \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js index 847e4123a..81e6b8be0 100644 --- a/kubejs/server_scripts/tfg/powergen/recipes.boiler.js +++ b/kubejs/server_scripts/tfg/powergen/recipes.boiler.js @@ -60,10 +60,15 @@ function registerTFGBoilerRecipes(event) { .duration(75) .dimension('minecraft:overworld') + event.recipes.gtceu.steam_boiler('tfg:flora_pellets') + .itemInputs('tfg:flora_pellets') + .duration(1200) + .dimension('minecraft:overworld') + // Small nerf to charcoal event.forEachRecipe({ id: /gtceu:(steam_boiler|large_boiler)\/.*charcoal.*/ }, recipe => { - var newDuration = recipe.get("duration") + let newDuration = recipe.get("duration") recipe.set("duration", newDuration/4*3) }) diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js index f6d91db2c..f2321374c 100644 --- a/kubejs/server_scripts/tfg/recipes.js +++ b/kubejs/server_scripts/tfg/recipes.js @@ -14,6 +14,9 @@ const registerTFGRecipes = (event) => { registerTFGRefrigeratorRecipes(event) registerTFGMealBagRecipes(event) registerTFGBiomassRecipes(event) + // Greenhouse needs to register before pisciculture. + registerTFGGreenhouseRecipes(event) + registerTFGPiscicultureRecipes(event) // TFC stone types registerTFCStoneRecipes(event) diff --git a/kubejs/server_scripts/tfg/recipes.miscellaneous.js b/kubejs/server_scripts/tfg/recipes.miscellaneous.js index 3499e2494..fe3ec5369 100644 --- a/kubejs/server_scripts/tfg/recipes.miscellaneous.js +++ b/kubejs/server_scripts/tfg/recipes.miscellaneous.js @@ -169,4 +169,12 @@ function registerTFGMiscellaneousRecipes(event) { TFGHelpers.registerMaterialInfo('tfg:rnr_plow', { 'cobalt_brass': 9, 'invar': 4, 'steel': 2, 'wrought_iron': 3, 'treated_wood': 2 }); //#endregion + + // Rotten Voiding Cover + event.recipes.gtceu.assembler('tfg:rotten_voiding_cover') + .itemInputs('gtceu:item_voiding_cover', '8x tfc:rotten_compost') + .itemOutputs('tfg:rotten_voiding_cover') + .duration(5*20) + .EUt(GTValues.VA[GTValues.LV]) + .addMaterialInfo(true); } diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js index db7057af8..c083d0293 100644 --- a/kubejs/server_scripts/tfg/tags.js +++ b/kubejs/server_scripts/tfg/tags.js @@ -17,6 +17,7 @@ const registerTFGItemTags = (event) => { registerTFGMoonItemTags(event) registerTFGMarsItemTags(event) registerTFGVenusItemTags(event) + registerTFGAquaponicsItemTags(event) // TEMPORARY, REMOVE WHEN GURMAN FIXES THIS event.remove('tfc:foods', 'tfc_gurman:havai_pizza') @@ -115,6 +116,7 @@ const registerTFGBlockTags = (event) => { registerTFGMoonBlockTags(event) registerTFGMarsBlockTags(event) registerTFGVenusBlockTags(event) + registerTFGAquaponicsBlockTags(event) event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_large') event.add('minecraft:mineable/pickaxe', 'tfg:superconductor_coil_small') @@ -140,6 +142,7 @@ const registerTFGBlockTags = (event) => { //#region Fluids const registerTFGFluidTags = (event) => { + registerTFGAquaponicsFluidTags(event) registerTFGPrimitiveFluidTags(event) event.add('tfg:clean_water', 'minecraft:water') diff --git a/kubejs/server_scripts/tfg/venus/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js index c3298a2da..e1a711727 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/venus/recipes.biochem.js @@ -462,6 +462,22 @@ function registerTFGBiochemRecipes(event) { organics.forEach(organic => deccellularizationRecipe(event, organic.type, organic.id, organic.amount) ); + + // Chlorplast "Centrifuging" + event.recipes.gtceu.bioreactor('tfg:chloroplasts') + .notConsumableFluid( + Fluid.of('gtceu:glycerol', 1000) + ) + .inputFluids( + Fluid.of('gtceu:biomass', 8000) + ) + .outputFluids( + Fluid.of('tfg:chloroplasts', 100), + Fluid.of('minecraft:water', 6000), + Fluid.of('gtceu:seed_oil', 1900) + ) + .duration(20*20) + .EUt(GTValues.VA[GTValues.EV]); //#endregion //#region Gram Stain diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index db0ce962b..db7e6b48f 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -101,13 +101,12 @@ global.FIRMALIFE_JAMS = [ ] global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ - { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, - { input: 'firmalife:plant/fig_sapling', fluid_amount: 8000, output: '3x firmalife:food/fig', name: 'fig' } -]; - -global.FIRMALIFE_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ - { input: 'firmalife:plant/pineapple_bush', fluid_amount: 6000, output: '3x firmalife:food/pineapple', name: 'pineapple' }, - { input: 'firmalife:plant/nightshade_bush', fluid_amount: 6000, output: '3x firmalife:food/nightshade_berry', name: 'nightshade' } + { input: 'firmalife:plant/cocoa_sapling', output: 'firmalife:food/cocoa_beans'}, + { input: 'firmalife:plant/fig_sapling', output: 'firmalife:food/fig'}, + { input: 'firmalife:plant/pineapple_bush', output: 'firmalife:food/pineapple'}, + { input: 'firmalife:plant/nightshade_bush', output: 'firmalife:food/nightshade_berry'}, + { input: 'firmalife:seeds/red_grape', output: 'firmalife:food/red_grapes'}, + { input: 'firmalife:seeds/white_grape', output: 'firmalife:food/white_grapes'} ]; global.FIRMALIFE_COOKING_RECIPE_COMPONENTS = [ diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js index 92c377a5e..2a2d4898b 100644 --- a/kubejs/startup_scripts/gtceu/constants.js +++ b/kubejs/startup_scripts/gtceu/constants.js @@ -433,3 +433,69 @@ global.GTCEU_SUPERCONDUCTORS = /** @type {const} */ ([ { name: "ruthenium_trinium_americium_neutronate", materialId: "RutheniumTriniumAmericiumNeutronate" } ]); //#endregion + +//#region Concrete Blocks +/** + * Concrete block groups keyed by type [type, ids]. + * + * @global + * @type {Record} + */ +global.GTCEU_CONCRETE_BLOCKS = (() => { + /** + * Attach a name to an array of concrete block item IDs. + * @param {string} name + * @param {string[]} items + * @returns {string[] & { name: string }} + */ + function group(name, items) { + items.name = name; + return items; + } + + return { + light_concrete: group('light_concrete', [ + 'gtceu:light_concrete', + 'gtceu:light_concrete_cobblestone', + 'gtceu:mossy_light_concrete_cobblestone', + 'gtceu:polished_light_concrete', + 'gtceu:light_concrete_bricks', + 'gtceu:cracked_light_concrete_bricks', + 'gtceu:mossy_light_concrete_bricks', + 'gtceu:chiseled_light_concrete', + 'gtceu:light_concrete_tile', + 'gtceu:light_concrete_small_tile', + 'gtceu:light_concrete_windmill_a', + 'gtceu:light_concrete_windmill_b', + 'gtceu:small_light_concrete_bricks', + 'gtceu:square_light_concrete_bricks' + ]), + dark_concrete: group('dark_concrete', [ + 'gtceu:dark_concrete', + 'gtceu:dark_concrete_cobblestone', + 'gtceu:mossy_dark_concrete_cobblestone', + 'gtceu:polished_dark_concrete', + 'gtceu:dark_concrete_bricks', + 'gtceu:cracked_dark_concrete_bricks', + 'gtceu:mossy_dark_concrete_bricks', + 'gtceu:chiseled_dark_concrete', + 'gtceu:dark_concrete_tile', + 'gtceu:dark_concrete_small_tile', + 'gtceu:dark_concrete_windmill_a', + 'gtceu:dark_concrete_windmill_b', + 'gtceu:small_dark_concrete_bricks', + 'gtceu:square_dark_concrete_bricks' + + ]), + titanium_concrete: group('titanium_concrete', [ + 'tfg:titanium_concrete', + 'tfg:polished_titanium_concrete', + 'tfg:titanium_concrete_tile', + 'tfg:titanium_concrete_tile_small', + 'tfg:titanium_concrete_bricks', + 'tfg:titanium_concrete_bricks_small', + 'tfg:titanium_concrete_bricks_square' + ]) + }; +})(); +//#endregion diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gtceu/machines.js index 864e69f0e..20241104f 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gtceu/machines.js @@ -3,6 +3,7 @@ const registerGTCEuMachines = (event) => { const CoilWorkableElectricMultiblockMachine = Java.loadClass("com.gregtechceu.gtceu.api.machine.multiblock.CoilWorkableElectricMultiblockMachine") + const $Tags = Java.loadClass("dev.latvian.mods.kubejs.util.Tags") //#region Large Solar Panels @@ -87,31 +88,7 @@ const registerGTCEuMachines = (event) => { .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("A", Predicates.blockTag($Tags.block("tfg:gtceu_concrete_blocks"))) .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")) @@ -173,31 +150,7 @@ const registerGTCEuMachines = (event) => { .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("A", Predicates.blockTag($Tags.block("tfg:gtceu_concrete_blocks"))) .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")) diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index d0c502952..52bf3b253 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -22,6 +22,7 @@ ItemEvents.modification(event => { registerGTCEuItemModifications(event) registerMinecraftItemModifications(event) registerSNSItemModifications(event) + registerTFGItemModifications(event) }) StartupEvents.registry('fluid', event => { diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index 24c389857..3cb34c6d0 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -787,58 +787,58 @@ global.TFC_JAMS = /** @type {const} */ ([ ]); global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "tfc:plant/cherry_sapling", fluid_amount: 8000, output: "32x tfc:food/cherry", name: "cherry" }, - { input: "tfc:plant/green_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/green_apple", name: "green_apple" }, - { input: "tfc:plant/lemon_sapling", fluid_amount: 8000, output: "32x tfc:food/lemon", name: "lemon" }, - { input: "tfc:plant/olive_sapling", fluid_amount: 8000, output: "32x tfc:food/olive", name: "olive" }, - { input: "tfc:plant/orange_sapling", fluid_amount: 8000, output: "32x tfc:food/orange", name: "orange" }, - { input: "tfc:plant/peach_sapling", fluid_amount: 8000, output: "32x tfc:food/peach", name: "peach" }, - { input: "tfc:plant/plum_sapling", fluid_amount: 8000, output: "32x tfc:food/plum", name: "plum" }, - { input: "tfc:plant/red_apple_sapling", fluid_amount: 8000, output: "32x tfc:food/red_apple", name: "red_apple" }, - { input: "tfc:plant/banana_sapling", fluid_amount: 8000, output: "32x tfc:food/banana", name: "banana" } + { input: "tfc:plant/cherry_sapling", output: "tfc:food/cherry"}, + { input: "tfc:plant/green_apple_sapling", output: "tfc:food/green_apple"}, + { input: "tfc:plant/lemon_sapling", output: "tfc:food/lemon"}, + { input: "tfc:plant/olive_sapling", output: "tfc:food/olive"}, + { input: "tfc:plant/orange_sapling", output: "tfc:food/orange"}, + { input: "tfc:plant/peach_sapling", output: "tfc:food/peach"}, + { input: "tfc:plant/plum_sapling", output: "tfc:food/plum"}, + { input: "tfc:plant/red_apple_sapling", output: "tfc:food/red_apple"}, + { input: "tfc:plant/banana_sapling", output: "tfc:food/banana"} ]); global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "8x tfc:seeds/barley", fluid_amount: 4000, output: "24x tfc:food/barley", name: "barley" }, - { input: "8x tfc:seeds/oat", fluid_amount: 4000, output: "24x tfc:food/oat", name: "oat" }, - { input: "8x tfc:seeds/rye", fluid_amount: 4000, output: "24x tfc:food/rye", name: "rye" }, - { input: "8x tfc:seeds/maize", fluid_amount: 4000, output: "24x tfc:food/maize", name: "maize" }, - { input: "8x tfc:seeds/wheat", fluid_amount: 4000, output: "24x tfc:food/wheat", name: "wheat" }, - { input: "8x tfc:seeds/rice", fluid_amount: 4000, output: "24x tfc:food/rice", name: "rice" }, - { input: "8x tfc:seeds/beet", fluid_amount: 4000, output: "24x tfc:food/beet", name: "beet" }, - { input: "8x tfc:seeds/cabbage", fluid_amount: 4000, output: "24x tfc:food/cabbage", name: "cabbage" }, - { input: "8x tfc:seeds/carrot", fluid_amount: 4000, output: "24x tfc:food/carrot", name: "carrot" }, - { input: "8x tfc:seeds/green_bean", fluid_amount: 4000, output: "24x tfc:food/green_bean", name: "green_bean" }, - { input: "8x tfc:seeds/garlic", fluid_amount: 4000, output: "24x tfc:food/garlic", name: "garlic" }, - { input: "8x tfc:seeds/potato", fluid_amount: 4000, output: "24x tfc:food/potato", name: "potato" }, - { input: "8x tfc:seeds/onion", fluid_amount: 4000, output: "24x tfc:food/onion", name: "onion" }, - { input: "8x tfc:seeds/soybean", fluid_amount: 4000, output: "24x tfc:food/soybean", name: "soybean" }, - { input: "8x tfc:seeds/squash", fluid_amount: 4000, output: "24x tfc:food/squash", name: "squash" }, - { input: "8x tfc:seeds/sugarcane", fluid_amount: 4000, output: "24x tfc:food/sugarcane", name: "sugarcane" }, - { input: "8x tfc:seeds/tomato", fluid_amount: 4000, output: "24x tfc:food/tomato", name: "tomato" }, - { input: "8x tfc:seeds/jute", fluid_amount: 4000, output: "24x tfc:jute", name: "jute" }, - { input: "8x tfc:seeds/papyrus", fluid_amount: 4000, output: "24x tfc:papyrus", name: "papyrus" }, - { input: "8x tfc:seeds/pumpkin", fluid_amount: 4000, output: "24x tfc:pumpkin", name: "pumpkin" }, - { input: "8x tfc:seeds/melon", fluid_amount: 4000, output: "24x tfc:melon", name: "melon" }, - { input: "8x tfc:seeds/red_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/red_bell_pepper", name: "red_bell_pepper" }, - { input: "8x tfc:seeds/yellow_bell_pepper", fluid_amount: 4000, output: "24x tfc:food/yellow_bell_pepper", name: "yellow_bell_pepper" }, - { input: "8x tfg:sunflower_seeds", fluid_amount: 4000, output: "24x tfg:sunflower_product", name: "sunflower" }, - { input: "8x tfg:rapeseed_seeds", fluid_amount: 4000, output: "24x tfg:rapeseed_product", name: "rapeseed" }, - { input: "8x tfg:flax_seeds", fluid_amount: 4000, output: "24x tfg:flax_product", name: "flax" } + { input: "tfc:seeds/barley", output: "tfc:food/barley"}, + { input: "tfc:seeds/oat", output: "tfc:food/oat"}, + { input: "tfc:seeds/rye", output: "tfc:food/rye"}, + { input: "tfc:seeds/maize", output: "tfc:food/maize"}, + { input: "tfc:seeds/wheat", output: "tfc:food/wheat"}, + { input: "tfc:seeds/rice", output: "tfc:food/rice"}, + { input: "tfc:seeds/beet", output: "tfc:food/beet"}, + { input: "tfc:seeds/cabbage", output: "tfc:food/cabbage"}, + { input: "tfc:seeds/carrot", output: "tfc:food/carrot"}, + { input: "tfc:seeds/green_bean", output: "tfc:food/green_bean"}, + { input: "tfc:seeds/garlic", output: "tfc:food/garlic"}, + { input: "tfc:seeds/potato", output: "tfc:food/potato"}, + { input: "tfc:seeds/onion", output: "tfc:food/onion"}, + { input: "tfc:seeds/soybean", output: "tfc:food/soybean"}, + { input: "tfc:seeds/squash", output: "tfc:food/squash"}, + { input: "tfc:seeds/sugarcane", output: "tfc:food/sugarcane"}, + { input: "tfc:seeds/tomato", output: "tfc:food/tomato"}, + { input: "tfc:seeds/jute", output: "tfc:jute"}, + { input: "tfc:seeds/papyrus", output: "tfc:papyrus"}, + { input: "tfc:seeds/pumpkin", output: "tfc:pumpkin"}, + { input: "tfc:seeds/melon", output: "tfc:melon"}, + { input: "tfc:seeds/red_bell_pepper", output: "tfc:food/red_bell_pepper"}, + { input: "tfc:seeds/yellow_bell_pepper", output: "tfc:food/yellow_bell_pepper"}, + { input: "tfg:sunflower_seeds", output: "tfg:sunflower_product"}, + { input: "tfg:rapeseed_seeds", output: "tfg:rapeseed_product"}, + { input: "tfg:flax_seeds", output: "tfg:flax_product"} ]); global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = /** @type {const} */ ([ - { input: "tfc:plant/snowberry_bush", fluid_amount: 6000, output: "3x tfc:food/snowberry", name: "snowberry" }, - { input: "tfc:plant/bunchberry_bush", fluid_amount: 6000, output: "3x tfc:food/bunchberry", name: "bunchberry" }, - { input: "tfc:plant/gooseberry_bush", fluid_amount: 6000, output: "3x tfc:food/gooseberry", name: "gooseberry" }, - { input: "tfc:plant/cloudberry_bush", fluid_amount: 6000, output: "3x tfc:food/cloudberry", name: "cloudberry" }, - { input: "tfc:plant/strawberry_bush", fluid_amount: 6000, output: "3x tfc:food/strawberry", name: "strawberry" }, - { input: "tfc:plant/wintergreen_berry_bush", fluid_amount: 6000, output: "3x tfc:food/wintergreen_berry", name: "wintergreen_berry" }, - { input: "tfc:plant/blackberry_bush", fluid_amount: 6000, output: "3x tfc:food/blackberry", name: "blackberry" }, - { input: "tfc:plant/raspberry_bush", fluid_amount: 6000, output: "3x tfc:food/raspberry", name: "raspberry" }, - { input: "tfc:plant/blueberry_bush", fluid_amount: 6000, output: "3x tfc:food/blueberry", name: "blueberry" }, - { input: "tfc:plant/elderberry_bush", fluid_amount: 6000, output: "3x tfc:food/elderberry", name: "elderberry" }, - { input: "tfc:plant/cranberry_bush", fluid_amount: 6000, output: "3x tfc:food/cranberry", name: "cranberry" } + { input: "tfc:plant/snowberry_bush", output: "tfc:food/snowberry"}, + { input: "tfc:plant/bunchberry_bush", output: "tfc:food/bunchberry"}, + { input: "tfc:plant/gooseberry_bush", output: "tfc:food/gooseberry"}, + { input: "tfc:plant/cloudberry_bush", output: "tfc:food/cloudberry"}, + { input: "tfc:plant/strawberry_bush", output: "tfc:food/strawberry"}, + { input: "tfc:plant/wintergreen_berry_bush", output: "tfc:food/wintergreen_berry"}, + { input: "tfc:plant/blackberry_bush", output: "tfc:food/blackberry"}, + { input: "tfc:plant/raspberry_bush", output: "tfc:food/raspberry"}, + { input: "tfc:plant/blueberry_bush", output: "tfc:food/blueberry"}, + { input: "tfc:plant/elderberry_bush", output: "tfc:food/elderberry"}, + { input: "tfc:plant/cranberry_bush", output: "tfc:food/cranberry"} ]); global.TFC_MILKS = /** @type {const} */ ([ diff --git a/kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js b/kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js new file mode 100644 index 000000000..10ed1007c --- /dev/null +++ b/kubejs/startup_scripts/tfg/aquaponics/items.aquaponics.js @@ -0,0 +1,7 @@ +"use strict"; + +function registerTFGAquaponicsItems(event) { + + event.create('tfg:flora_pellets') + .tag('tfc:compost_greens_low') +}; diff --git a/kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js b/kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js new file mode 100644 index 000000000..ace2449e0 --- /dev/null +++ b/kubejs/startup_scripts/tfg/aquaponics/materials.aquaponics.js @@ -0,0 +1,34 @@ +// priority: 0 +"use strict"; + +const registerTFGAquaponicsMaterials = (event) => { + + /* event.create('mysterious_ooze') + .liquid(new GTFluidBuilder().temperature(293)) + .gas(new GTFluidBuilder().state(GTFluidState.GAS).customStill().temperature(293)) + .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) + */ + + // Nitrate Fluids + event.create('tfg:nitrate_rich_water') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION); + + event.create('tfg:nitrate_rich_semiheavy_ammoniacal_water') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION); + +} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/biotech/materials.bioline.js b/kubejs/startup_scripts/tfg/biotech/materials.bioline.js index 7649d7ac0..b49739805 100644 --- a/kubejs/startup_scripts/tfg/biotech/materials.bioline.js +++ b/kubejs/startup_scripts/tfg/biotech/materials.bioline.js @@ -112,4 +112,11 @@ const registerTFGBiolineMaterials = (event) => { .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) //#endregion + //#region Green Stuff + + event.create('tfg:chloroplasts') + .liquid(new GTFluidBuilder().customStill().temperature(310)) + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + //#endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/blocks.casings.js b/kubejs/startup_scripts/tfg/blocks.casings.js index 0faab3877..f96da2f0c 100644 --- a/kubejs/startup_scripts/tfg/blocks.casings.js +++ b/kubejs/startup_scripts/tfg/blocks.casings.js @@ -10,6 +10,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_light_gray') }) @@ -20,14 +21,16 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_light_gray') - event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') - .simple('tfg:block/casings/machine_casing_vacuum_engine_intake') + event.create('tfg:casings/machine_casing_vacuum_engine_intake', 'gtceu:active') + .model('tfg:block/casings/machine_casing_vacuum_engine_intake') .translationKey('block.tfg.casings.machine_casing_vacuum_engine_intake') .soundType('metal') .resistance(6).hardness(5) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .requiresTool(true) .mapColor('color_light_gray') @@ -38,6 +41,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_red') event.create('tfg:casings/machine_casing_bioculture_glass') @@ -47,6 +51,8 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfc:mineable_with_glass_saw') + .tagBoth('tfg:casings') .mapColor('color_orange') .defaultTranslucent() @@ -57,11 +63,12 @@ function registerTFGCasingBlocks(event) { .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_light_gray') - .activeOffset(1.6, 2, 1.6) - .activeVelocity(0, 0, 0) - .activeParticle('minecraft:landing_lava') - .activeCount(10) - .activeForced(false) + .activeParticles(a => a + .range(1.6, 2, 1.6) + .velocity(0, 0, 0) + .particle('minecraft:landing_lava') + .count(10) + .forced(false)) event.create('tfg:casings/bioculture_rotor_secondary', 'gtceu:active') .translationKey('block.tfg.casings.bioculture_rotor_secondary') @@ -78,6 +85,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_light_gray') event.create('tfg:casings/heat_pipe_casing') @@ -87,6 +95,7 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_black') event.create('tfg:sample_rack', 'tfg:active_cardinal') @@ -103,6 +112,7 @@ function registerTFGCasingBlocks(event) { .soundType('copper') .hardness(5) .resistance(6) + .lightLevel(0.8) .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_light_gray') .notSolid() @@ -114,8 +124,160 @@ function registerTFGCasingBlocks(event) { .hardness(5) .resistance(6) .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') .mapColor('color_brown') + event.create('tfg:cultivation_monitor', 'tfg:active_cardinal') + .soundType('copper') + .hardness(5) + .resistance(6) + .lightLevel(0.8) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('color_light_gray') + .notSolid() + .noCollision() + .renderType('cutout') + .opaque(false); + + event.create('tfg:egh_planter', 'tfg:active_particle_emitter') + .translationKey('block.tfg.egh_planter') + .soundType('copper') + .hardness(5) + .resistance(6) + .notSolid() + .activeLight(12) + .inactiveLight(0) + .renderType('cutout') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('grass') + .activeParticles(a => a + .range(0.2, 0.0, 0.2) + .velocity(0.0, 0.0, 0.0) + .position(0.5, -0.1, 0.5) + .count(1) + .particle('minecraft:dripping_water') + .forced(false)) + .hasTicker(true) + .emitDelay(200) + .tagBlock('tfc:tree_grows_on') + .tagBlock('tfc:bush_plantable_on') + .tagBlock('tfc:wild_crop_grows_on') + .tagBlock('tfc:spreading_fruit_grows_on') + .tagBlock('tfc:grass_plantable_on') + .tagBlock('tfc:creeping_plantable_on') + .tagBlock('minecraft:mushroom_grow_block') + .tagBlock('minecraft:bamboo_plantable_on') + .tagBoth('tfc:farmland'); + + event.create('tfg:grow_light', 'tfg:active_particle_emitter') + .translationKey('block.tfg.grow_light') + .soundType('copper') + .hardness(5) + .resistance(6) + .notSolid() + .box(0, 12, 0, 16, 16, 16, true) + .activeLight(12) + .inactiveLight(0) + .renderType('cutout') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .mapColor('grass') + .activeParticles(a => a + .range(0.2, 0.0, 0.2) + .velocity(0.0, 0.0, 0.0) + .position(0.5, 0.5, 0.5) + .count(1) + .particle('minecraft:dripping_water') + .forced(false)) + .hasTicker(true) + .emitDelay(200); + + event.create('tfg:pisciculture_core', 'tfg:active_particle_emitter') + .translationKey('block.tfg.pisciculture_core') + .soundType('copper') + .hardness(5) + .resistance(6) + .activeLight(12) + .inactiveLight(0) + .renderType('cutout') + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .activeParticles(a => a + .particle('tfg:fish_school') + .position(0.5, 1.5, 0.5) + .range(0.0, 2.0, 0.0) + .velocity(0.0, 0.0, 0.0) + .count(5) + .forced(false)) + .activeParticles(a => a + .particle('minecraft:current_down') + .position(0.0, 3.8, 0.0) + .range(5.0, 0.0, 5.0) + .velocity(0.0, 0.1, 0.0) + .count(5) + .forced(false)) + .activeParticles(a => a + .particle('minecraft:current_down') + .position(0.0, 3.8, 0.0) + .range(0.5, 0.0, 0.5) + .velocity(0.0, 0.1, 0.0) + .count(5) + .forced(false)) + .hasTicker(true) + .emitDelay(20); + + event.create('tfg:casings/machine_casing_egh', 'gtceu:active') + .translationKey('block.tfg.casings.machine_casing_egh') + .soundType('metal') + .hardness(5) + .resistance(6) + .tagBlock('gtceu:mineable/pickaxe_or_wrench') + .tagBoth('tfg:casings') + .mapColor('color_light_gray'); + + /** + * @type {string[]} - Tier names of greenhouse casings. + */ + const greenhouse_tiers = ['treated_wood', 'copper', 'iron', 'stainless']; + + greenhouse_tiers.forEach(tier => { + for (let i = 0; i <= 4; i++) { + + let r = event.create(`tfg:casings/greenhouse/${tier}_greenhouse_casing_${i}`) + .translationKey(`block.tfg.casings.greenhouse.${tier}_greenhouse_casing_${i}`) + .hardness(0.3) + .resistance(0.3) + .soundType('glass') + .requiresTool(true) + .tagBoth('tfg:casings') + .tagBoth('tfc:mineable_with_glass_saw') + .tagBoth('firmalife:greenhouse') + .tagBoth('firmalife:greenhouse_full_walls') + .tagBoth('tfg:all_greenhouse_casings') + + // Exception of shame V + if (tier === 'stainless') { + r.tagBoth(`firmalife:${tier}_steel_greenhouse`) + r.tagBoth(`tfg:${tier}_steel_greenhouse_casings`) + r.tagBlock(`firmalife:all_${tier}_steel_greenhouse`) + } else { + r.tagBoth(`firmalife:${tier}_greenhouse`) + r.tagBoth(`tfg:${tier}_greenhouse_casings`) + r.tagBlock(`firmalife:all_${tier}_greenhouse`) + }; + + if (tier === 'treated_wood') { + r.tagBlock('minecraft:mineable/axe') + } else { + r.tagBlock('minecraft:mineable/pickaxe') + }; + + if (i > 2) { + r.defaultTranslucent() + } else { + r.defaultCutout() + }; + }; + }); + event.create('tfg:casings/test_casing') .soundType('copper') .hardness(5) diff --git a/kubejs/startup_scripts/tfg/constants.js b/kubejs/startup_scripts/tfg/constants.js index efbac9cbe..ecaab9035 100644 --- a/kubejs/startup_scripts/tfg/constants.js +++ b/kubejs/startup_scripts/tfg/constants.js @@ -355,3 +355,25 @@ global.SPICES = [ { plant: 'firmalife:plant/oregano', product: 'tfg:spice/oregano_leaves' }, { plant: 'firmalife:plant/pimento', product: 'tfg:spice/allspice' } ]; + +/** + * @typedef {Object} FishIndex + * @property {string} id - Fish mob ID. + * @property {string} item - Fish Item ID. + * @property {string} parent - Bucket of Fish Item ID. + * @property {string|null} dimension - Dimension ID (null for any). + */ +/** @type {FishIndex[]} - Index of fish mobs for pisciculture */ +global.FISH_INDEX = [ + { id: 'tfc:bluegill', item: 'tfc:food/bluegill', parent: 'tfc:bucket/bluegill', dimension: null }, + { id: 'tfc:crappie', item: 'tfc:food/crappie', parent: 'tfc:bucket/crappie', dimension: null }, + { id: 'tfc:lake_trout', item: 'tfc:food/lake_trout', parent: 'tfc:bucket/lake_trout', dimension: null }, + { id: 'tfc:largemouth_bass', item: 'tfc:food/largemouth_bass', parent: 'tfc:bucket/largemouth_bass', dimension: null }, + { id: 'tfc:rainbow_trout', item: 'tfc:food/rainbow_trout', parent: 'tfc:bucket/rainbow_trout', dimension: null }, + { id: 'tfc:salmon', item: 'tfc:food/salmon', parent: 'tfc:bucket/salmon', dimension: null }, + { id: 'tfc:smallmouth_bass', item: 'tfc:food/smallmouth_bass', parent: 'tfc:bucket/smallmouth_bass', dimension: null }, + { id: 'tfc:cod', item: 'tfc:food/cod', parent: 'tfc:bucket/cod', dimension: null }, + { id: 'tfc:tropical_fish', item: 'tfc:food/tropical_fish', parent: 'tfc:bucket/tropical_fish', dimension: null }, + { id: 'tfc:pufferfish', item: 'minecraft:pufferfish', parent: 'tfc:bucket/pufferfish', dimension: null }, + { id: 'wan_ancient_beasts:toxlacanth', item: 'wan_ancient_beasts:toxlacanth', parent: 'wan_ancient_beasts:toxlacanth_bucket', dimension: 'ad_astra:mars' } +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/items.js b/kubejs/startup_scripts/tfg/items.js index a3c941093..92fadd335 100644 --- a/kubejs/startup_scripts/tfg/items.js +++ b/kubejs/startup_scripts/tfg/items.js @@ -18,6 +18,7 @@ const registerTFGItems = (event) => { registerTFGBiotechItems(event); registerTFGWeaponItems(event); registerTFGRockItems(event); + registerTFGAquaponicsItems(event); event.create('tfg:terra_firma_greg') .tag('c:hidden_from_recipe_viewers') diff --git a/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js index 3043fc2ef..86ccf9ea9 100644 --- a/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js +++ b/kubejs/startup_scripts/tfg/mars/blocks.mars_deco.js @@ -126,8 +126,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) { leaves.tagBlock('minecraft:replaceable') leaves.noDynamicTinting() leaves.models((modelType, generator) => { - if (modelType.layers != 8) { - generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height); + if (modelType.layers !== 8) { + generator.parent(`tfc:block/groundcover/fallen_leaves_height${modelType.height}`); generator.texture("all", "betterend:block/cave_bush_leaves_1"); } else { generator.parent("betterend:block/cave_bush_01"); @@ -151,8 +151,8 @@ function registerTFGWorldGenMarsDecoBlocks(event) { leaves.tagBlock('minecraft:replaceable') leaves.noDynamicTinting() leaves.models((modelType, generator) => { - if (modelType.layers != 8) { - generator.parent("tfc:block/groundcover/fallen_leaves_height" + modelType.height); + if (modelType.layers !== 8) { + generator.parent(`tfc:block/groundcover/fallen_leaves_height${modelType.height}`); generator.texture("all", "betterend:block/lucernia_leaves_1"); } else { generator.parent("betterend:block/lucernia_leaves_1"); @@ -240,11 +240,12 @@ function registerTFGWorldGenMarsDecoBlocks(event) { .resistance(6) // makes it invisible on xaeros, so people can't use it to find the deposits :) .mapColor('none') - .particleOffset(0.3, 1.5, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('electric_spark') - .particleCount(2) - .particleForced(false) + .particles(a => a + .range(0.3, 1.5, 0.3) + .velocity(0, 0.05, 0) + .particle('electric_spark') + .count(2) + .forced(false)) .fullBlock(true) .opaque(true) } \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index 061ae2404..7e8068be4 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -30,6 +30,7 @@ const registerTFGMaterials = (event) => { registerTFGMarsMaterials(event); registerTFGVenusMaterials(event); registerTFGEuropaMaterials(event); + registerTFGAquaponicsMaterials(event); // Refrigerants diff --git a/kubejs/startup_scripts/tfg/modifications.js b/kubejs/startup_scripts/tfg/modifications.js new file mode 100644 index 000000000..ffb1d94ad --- /dev/null +++ b/kubejs/startup_scripts/tfg/modifications.js @@ -0,0 +1,11 @@ +"use strict"; + +function registerTFGItemModifications(event) { + + event.modify('tfg:fish_roe', item => { + item.foodProperties = food => { + food.hunger(2).saturation(2) + }; + }); + +}; \ No newline at end of file diff --git a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js index ca75d5ef3..5ea789413 100644 --- a/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/blocks.nuclear.js @@ -51,12 +51,13 @@ function registerTFGNuclearBlocks(event) { .tagBlock('gtceu:mineable/pickaxe_or_wrench') .mapColor('color_black') .speedFactor(1.1) - .activeOffset(2, 2, 2) - .activeVelocity(0.0, 0.0, 0.0) - .activeParticle('tfg:cooling_steam') - .activeBase(0.0, 13.5, 0.0) - .activeCount(2) - .activeForced(false) + .activeParticles(a => a + .range(2, 2, 2) + .velocity(0.0, 0.0, 0.0) + .particle('tfg:cooling_steam') + .position(0.0, 13.5, 0.0) + .count(2) + .forced(false)) .hasTicker(true) .emitDelay(4); diff --git a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js index f8eec30b8..c5fd668ca 100644 --- a/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js +++ b/kubejs/startup_scripts/tfg/venus/blocks.venus_deco.js @@ -8,11 +8,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.1, 0) - .particle('minecraft:campfire_signal_smoke') - .particleCount(5) - .particleForced(true) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.1, 0) + .particle('minecraft:campfire_signal_smoke') + .count(5) + .forced(true)); event.create('tfg:geyser_source_small', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') @@ -20,11 +21,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(2) - .particleForced(false) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.05, 0) + .particle('minecraft:campfire_cosy_smoke') + .count(2) + .forced(false)); event.create('tfg:smoker_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') @@ -32,11 +34,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.05, 0) - .particle('minecraft:campfire_cosy_smoke') - .particleCount(1) - .particleForced(false) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.05, 0) + .particle('minecraft:campfire_cosy_smoke') + .count(1) + .forced(false)); event.create('tfg:lava_source', 'tfg:particle_emitter_decoration') .soundType('dripstone_block') @@ -44,11 +47,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .box(3, 0, 3, 13, 10, 13) .resistance(6) .hardness(1.5) - .particleOffset(0.3, 0.5, 0.3) - .particleVelocity(0, 0, 0) - .particle('lava') - .particleCount(1) - .particleForced(false) + .particles(a => a + .range(0.3, 0.5, 0.3) + .velocity(0, 0, 0) + .particle('lava') + .count(1) + .forced(false)); //Geyserite event.create('tfg:rock/raw/geyserite', 'tfc:raw_rock') @@ -208,11 +212,12 @@ function registerTFGWorldGenVenusDecoBlocks(event) { .fullBlock(false) .box(1, 0, 1, 15, 16, 15) .notSolid() - .particleOffset(0.3, 1, 0.3) - .particleVelocity(0, 0.1, 0) - .particle('minecraft:large_smoke') - .particleCount(2) - .particleForced(true) + .particles(a => a + .range(0.3, 1, 0.3) + .velocity(0, 0.1, 0) + .particle('minecraft:large_smoke') + .count(2) + .forced(false)); event.create('betterend:tube_worm', 'tfg:attached_decorative_plant') .soundType('nether_wart') diff --git a/kubejs/startup_scripts/tfg/venus/materials.venus.js b/kubejs/startup_scripts/tfg/venus/materials.venus.js index e5a6e8f7e..36f49d208 100644 --- a/kubejs/startup_scripts/tfg/venus/materials.venus.js +++ b/kubejs/startup_scripts/tfg/venus/materials.venus.js @@ -12,7 +12,9 @@ function registerTFGVenusMaterials(event) { .ingot() .flags( GTMaterialFlags.FORCE_GENERATE_BLOCK, - GTMaterialFlags.GENERATE_PLATE + GTMaterialFlags.GENERATE_PLATE, + GTMaterialFlags.GENERATE_ROD, + GTMaterialFlags.GENERATE_FRAME ) //#region Bromine Line