diff --git a/kubejs/assets/tfg/molecules/14_sorbitan.json b/kubejs/assets/tfg/molecules/14_sorbitan.json new file mode 100644 index 000000000..1a9a7422c --- /dev/null +++ b/kubejs/assets/tfg/molecules/14_sorbitan.json @@ -0,0 +1,167 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "right": "H", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 5, + "x": 2.806, + "y": 1.4781 + }, + { + "type": "atom", + "index": 6, + "x": 3.8006, + "y": 1.5827 + }, + { + "type": "atom", + "index": 7, + "x": 4.2073, + "y": 0.6691 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 3.5686, + "y": -0.9945 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 5.1854, + "y": 0.4612 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 1.732, + "y": -1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 7, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/alpha_keratin.json b/kubejs/assets/tfg/molecules/alpha_keratin.json new file mode 100644 index 000000000..3c1e844ba --- /dev/null +++ b/kubejs/assets/tfg/molecules/alpha_keratin.json @@ -0,0 +1,483 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.3971, + "y": -8.9559 + }, + { + "type": "atom", + "index": 1, + "x": 1.0735, + "y": -8.6029 + }, + { + "type": "atom", + "index": 2, + "x": 2.5294, + "y": -7.8823 + }, + { + "type": "atom", + "index": 3, + "x": 3.103, + "y": -7.3676 + }, + { + "type": "atom", + "index": 4, + "x": 2.4118, + "y": -6.5588 + }, + { + "type": "atom", + "index": 5, + "x": 1.7794, + "y": -7.0588 + }, + { + "type": "atom", + "index": 6, + "x": -0.0294, + "y": -6.897 + }, + { + "type": "atom", + "index": 7, + "x": -0.2353, + "y": -6.3529 + }, + { + "type": "atom", + "index": 8, + "x": 0.6471, + "y": -6.0147 + }, + { + "type": "atom", + "index": 9, + "x": 1.3235, + "y": -5.6765 + }, + { + "type": "atom", + "index": 10, + "x": 2.6324, + "y": -5.1617 + }, + { + "type": "atom", + "index": 11, + "x": 3.0588, + "y": -4.4853 + }, + { + "type": "atom", + "index": 12, + "x": 2.4118, + "y": -3.6617 + }, + { + "type": "atom", + "index": 13, + "x": 1.8677, + "y": -3.8823 + }, + { + "type": "atom", + "index": 14, + "x": 0.1324, + "y": -3.8088 + }, + { + "type": "atom", + "index": 15, + "x": -0.0588, + "y": -3.0882 + }, + { + "type": "atom", + "index": 16, + "x": 0.8677, + "y": -3.0882 + }, + { + "type": "atom", + "index": 17, + "x": 1.4118, + "y": -2.5294 + }, + { + "type": "atom", + "index": 18, + "x": 2.7206, + "y": -2.0882 + }, + { + "type": "atom", + "index": 19, + "x": 3.1912, + "y": -1.4412 + }, + { + "type": "atom", + "index": 20, + "x": 2.1912, + "y": -0.5294 + }, + { + "type": "atom", + "index": 21, + "x": 1.4118, + "y": -0.6912 + }, + { + "type": "atom", + "index": 22, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "index": 23, + "x": 0.7794, + "y": -0.1323 + }, + { + "type": "atom", + "element": "N", + "index": 24, + "x": 2.8088, + "y": -0.7941 + }, + { + "type": "atom", + "element": "N", + "index": 25, + "x": 2.1912, + "y": -2.5588 + }, + { + "type": "atom", + "element": "N", + "index": 26, + "x": 0.2059, + "y": -2.5735 + }, + { + "type": "atom", + "element": "N", + "index": 27, + "x": 1.1471, + "y": -3.6617 + }, + { + "type": "atom", + "element": "N", + "index": 28, + "x": 3.0, + "y": -3.7647 + }, + { + "type": "atom", + "element": "N", + "index": 29, + "x": 2.0441, + "y": -5.6176 + }, + { + "type": "atom", + "element": "N", + "index": 30, + "x": -0.0882, + "y": -5.5882 + }, + { + "type": "atom", + "element": "N", + "index": 31, + "x": 0.9853, + "y": -6.8235 + }, + { + "type": "atom", + "element": "N", + "index": 32, + "x": 3.0294, + "y": -6.6912 + }, + { + "type": "atom", + "element": "N", + "index": 33, + "x": 1.8971, + "y": -8.397 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 33, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 33, + "b": 2, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 32, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 31, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 7, + "b": 30, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 30, + "b": 8, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 9, + "b": 29, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 29, + "b": 10, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 10, + "b": 11, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 28, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 15, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 26, + "b": 16, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 17, + "b": 25, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 25, + "b": 18, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 24, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 24, + "b": 19, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 28, + "b": 11, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 32, + "b": 3, + "lines": [ + "outward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ammonium_carbamate.json b/kubejs/assets/tfg/molecules/ammonium_carbamate.json new file mode 100644 index 000000000..b69a251d1 --- /dev/null +++ b/kubejs/assets/tfg/molecules/ammonium_carbamate.json @@ -0,0 +1,149 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 4.266, + "y": 0.5667 + }, + { + "type": "atom", + "element": "N", + "right": [ + "H", + 2 + ], + "index": 1, + "x": 5.132, + "y": 0.0667 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 4.266, + "y": 1.5667 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 3.4, + "y": 0.0667 + }, + { + "sup": "-", + "atoms": [ + 0, + 1, + 2, + 3 + ], + "type": "parens" + }, + { + "type": "atom", + "element": "N", + "index": 4, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 5, + "x": 1.4487, + "y": -0.4333 + }, + { + "type": "atom", + "element": "H", + "index": 6, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "element": "H", + "index": 7, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 1.7987, + "y": 0.4167 + }, + { + "sup": "+", + "atoms": [ + 4, + 5, + 6, + 7, + 8 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 8, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/chitin.json b/kubejs/assets/tfg/molecules/chitin.json new file mode 100644 index 000000000..de026c71f --- /dev/null +++ b/kubejs/assets/tfg/molecules/chitin.json @@ -0,0 +1,501 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 3.2321, + "y": 0.866 + }, + { + "type": "atom", + "index": 1, + "x": 2.2321, + "y": 0.866 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.2321, + "y": -0.866 + }, + { + "type": "atom", + "index": 4, + "x": 3.2321, + "y": -0.866 + }, + { + "type": "atom", + "index": 5, + "x": 3.7321, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 6, + "x": 2.2321, + "y": 0.134 + }, + { + "type": "atom", + "element": "N", + "right": "H", + "index": 7, + "x": 3.2321, + "y": -1.866 + }, + { + "type": "atom", + "index": 8, + "x": 2.2321, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 1.3661, + "y": 2.366 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 0.8661, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 4.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 12, + "x": 5.4642, + "y": 0.0 + }, + { + "type": "atom", + "index": 13, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 14, + "x": 5.9642, + "y": -0.866 + }, + { + "type": "atom", + "element": "O", + "index": 15, + "x": 6.9642, + "y": -0.866 + }, + { + "type": "atom", + "index": 16, + "x": 7.4642, + "y": 0.0 + }, + { + "type": "atom", + "index": 17, + "x": 6.9641, + "y": 0.866 + }, + { + "type": "atom", + "index": 18, + "x": 5.9641, + "y": 0.866 + }, + { + "type": "atom", + "index": 19, + "x": 5.9642, + "y": -1.866 + }, + { + "type": "atom", + "index": 20, + "x": 2.3661, + "y": -2.366 + }, + { + "type": "atom", + "index": 21, + "x": 1.5001, + "y": -1.866 + }, + { + "type": "atom", + "element": "O", + "index": 22, + "x": 2.3661, + "y": -3.366 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 23, + "x": 5.0982, + "y": -2.366 + }, + { + "type": "atom", + "element": "O", + "index": 24, + "x": 8.3302, + "y": -0.5 + }, + { + "type": "atom", + "index": 25, + "x": 9.1962, + "y": 0.0 + }, + { + "type": "atom", + "element": "N", + "right": "H", + "index": 26, + "x": 6.9641, + "y": 1.866 + }, + { + "type": "atom", + "index": 27, + "x": 6.0981, + "y": 2.366 + }, + { + "type": "atom", + "index": 28, + "x": 5.2321, + "y": 1.866 + }, + { + "type": "atom", + "element": "O", + "index": 29, + "x": 6.0981, + "y": 3.366 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 30, + "x": 5.9641, + "y": -0.134 + }, + { + "sub": "n", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 26, + 27, + 28, + 29 + ], + "type": "parens" + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 5, + "b": 4, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 15, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 14, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 22, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 19, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 29, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 18, + "b": 30, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/choline_chloride.json b/kubejs/assets/tfg/molecules/choline_chloride.json new file mode 100644 index 000000000..2eaae8751 --- /dev/null +++ b/kubejs/assets/tfg/molecules/choline_chloride.json @@ -0,0 +1,124 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 2.5684, + "y": 0.032 + }, + { + "type": "atom", + "index": 1, + "x": 3.4344, + "y": -0.468 + }, + { + "type": "atom", + "index": 2, + "x": 2.5684, + "y": 1.032 + }, + { + "type": "atom", + "index": 3, + "x": 1.7023, + "y": -0.468 + }, + { + "type": "atom", + "index": 4, + "x": 3.4344, + "y": 0.532 + }, + { + "type": "atom", + "index": 5, + "x": 4.3004, + "y": 0.032 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 6, + "x": 5.1664, + "y": 0.532 + }, + { + "sup": "+", + "atoms": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ], + "type": "parens" + }, + { + "type": "atom", + "element": { + "symbol": "Cl⁻", + "color": { + "color": -14684129, + "optional": true + }, + "material": "gtceu:chlorine" + }, + "index": 7, + "x": 0.75, + "y": 0.25 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/epox_isosorbide_ln.json b/kubejs/assets/tfg/molecules/epox_isosorbide_ln.json new file mode 100644 index 000000000..9717fdee9 --- /dev/null +++ b/kubejs/assets/tfg/molecules/epox_isosorbide_ln.json @@ -0,0 +1,862 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 11.7692, + "y": -4.3487 + }, + { + "type": "atom", + "index": 1, + "x": 12.0782, + "y": -3.3977 + }, + { + "type": "atom", + "index": 2, + "x": 11.2692, + "y": -2.8099 + }, + { + "type": "atom", + "index": 3, + "x": 10.4602, + "y": -3.3977 + }, + { + "type": "atom", + "index": 4, + "x": 10.7692, + "y": -4.3487 + }, + { + "type": "atom", + "index": 5, + "x": 12.8872, + "y": -2.8099 + }, + { + "type": "atom", + "index": 6, + "x": 12.5782, + "y": -1.8588 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 11.5782, + "y": -1.8588 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 10.4602, + "y": -2.2221 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 12.8872, + "y": -3.9854 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 13.8383, + "y": -3.1189 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 9.5091, + "y": -3.0886 + }, + { + "type": "atom", + "index": 12, + "x": 8.766, + "y": -3.7578 + }, + { + "type": "atom", + "index": 13, + "x": 7.8149, + "y": -3.4488 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 8.9739, + "y": -4.7359 + }, + { + "type": "atom", + "index": 15, + "x": 7.0718, + "y": -4.1179 + }, + { + "type": "atom", + "index": 16, + "x": 6.1207, + "y": -3.8089 + }, + { + "type": "atom", + "index": 17, + "x": 5.3776, + "y": -4.478 + }, + { + "type": "atom", + "index": 18, + "x": 4.4265, + "y": -4.169 + }, + { + "type": "atom", + "index": 19, + "x": 3.6834, + "y": -4.8381 + }, + { + "type": "atom", + "index": 20, + "x": 2.7323, + "y": -4.5291 + }, + { + "type": "atom", + "index": 21, + "x": 1.9892, + "y": -5.1982 + }, + { + "type": "atom", + "index": 22, + "x": 1.0381, + "y": -4.8892 + }, + { + "type": "atom", + "index": 23, + "x": 0.8302, + "y": -3.9111 + }, + { + "type": "atom", + "index": 24, + "x": -0.1209, + "y": -3.602 + }, + { + "type": "atom", + "index": 25, + "x": -0.3288, + "y": -2.6239 + }, + { + "type": "atom", + "index": 26, + "x": 0.4144, + "y": -1.9548 + }, + { + "type": "atom", + "index": 27, + "x": 0.2065, + "y": -0.9766 + }, + { + "type": "atom", + "index": 28, + "x": 0.9496, + "y": -0.3075 + }, + { + "type": "atom", + "index": 29, + "x": 1.9007, + "y": -0.6165 + }, + { + "type": "atom", + "index": 30, + "x": 2.6438, + "y": 0.0526 + }, + { + "type": "atom", + "index": 31, + "x": 14.5814, + "y": -2.4498 + }, + { + "type": "atom", + "index": 32, + "x": 15.5325, + "y": -2.7588 + }, + { + "type": "atom", + "element": "O", + "index": 33, + "x": 14.3735, + "y": -1.4716 + }, + { + "type": "atom", + "index": 34, + "x": 16.2756, + "y": -2.0896 + }, + { + "type": "atom", + "index": 35, + "x": 17.2267, + "y": -2.3987 + }, + { + "type": "atom", + "index": 36, + "x": 17.9698, + "y": -1.7295 + }, + { + "type": "atom", + "index": 37, + "x": 18.9209, + "y": -2.0386 + }, + { + "type": "atom", + "index": 38, + "x": 19.664, + "y": -1.3694 + }, + { + "type": "atom", + "index": 39, + "x": 20.6151, + "y": -1.6784 + }, + { + "type": "atom", + "index": 40, + "x": 21.3582, + "y": -1.0093 + }, + { + "type": "atom", + "index": 41, + "x": 22.3093, + "y": -1.3183 + }, + { + "type": "atom", + "index": 42, + "x": 22.5172, + "y": -2.2965 + }, + { + "type": "atom", + "index": 43, + "x": 23.4683, + "y": -2.6055 + }, + { + "type": "atom", + "index": 44, + "x": 23.6762, + "y": -3.5836 + }, + { + "type": "atom", + "index": 45, + "x": 22.933, + "y": -4.2528 + }, + { + "type": "atom", + "index": 46, + "x": 23.1409, + "y": -5.2309 + }, + { + "type": "atom", + "index": 47, + "x": 22.3978, + "y": -5.9 + }, + { + "type": "atom", + "index": 48, + "x": 21.4467, + "y": -5.591 + }, + { + "type": "atom", + "index": 49, + "x": 20.7036, + "y": -6.2602 + }, + { + "type": "atom", + "element": "O", + "index": 50, + "x": -1.0698, + "y": -3.2925 + }, + { + "type": "atom", + "element": "O", + "index": 51, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 52, + "x": 1.2466, + "y": -5.8653 + }, + { + "type": "atom", + "element": "O", + "index": 53, + "x": 23.3474, + "y": -6.2075 + }, + { + "type": "atom", + "element": "O", + "index": 54, + "x": 24.4172, + "y": -2.915 + }, + { + "type": "atom", + "element": "O", + "index": 55, + "x": 22.1008, + "y": -0.3423 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 21, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 24, + "b": 25, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 27, + "b": 28, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 33, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 32, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 40, + "b": 41, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 43, + "b": 44, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 46, + "b": 47, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 48, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 48, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 50, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 50, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 51, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 51, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 52, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 52, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 53, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 53, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 54, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 54, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 55, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 55, + "b": 40, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/ethylene_oxide.json b/kubejs/assets/tfg/molecules/ethylene_oxide.json new file mode 100644 index 000000000..dfc63995e --- /dev/null +++ b/kubejs/assets/tfg/molecules/ethylene_oxide.json @@ -0,0 +1,107 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "index": 1, + "x": 1.866, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.366, + "y": 0.3661 + }, + { + "type": "atom", + "element": "H", + "index": 3, + "x": 2.732, + "y": -1.0 + }, + { + "type": "atom", + "element": "H", + "index": 4, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "element": "H", + "index": 5, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 6, + "x": 2.732, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/fructose.json b/kubejs/assets/tfg/molecules/fructose.json new file mode 100644 index 000000000..957051a45 --- /dev/null +++ b/kubejs/assets/tfg/molecules/fructose.json @@ -0,0 +1,183 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 1.675, + "y": -0.9122 + }, + { + "type": "atom", + "index": 1, + "x": 2.484, + "y": -1.5 + }, + { + "type": "atom", + "index": 2, + "x": 2.175, + "y": -2.451 + }, + { + "type": "atom", + "index": 3, + "x": 1.175, + "y": -2.451 + }, + { + "type": "atom", + "index": 4, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "index": 5, + "x": 0.866, + "y": -0.5 + }, + { + "type": "atom", + "index": 6, + "x": 2.484, + "y": -2.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 2.484, + "y": -0.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 8, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 3.35, + "y": -3.0 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 10, + "x": 2.05, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 1.175, + "y": -3.451 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/galactose.json b/kubejs/assets/tfg/molecules/galactose.json new file mode 100644 index 000000000..eb3196ec9 --- /dev/null +++ b/kubejs/assets/tfg/molecules/galactose.json @@ -0,0 +1,183 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 1.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 1, + "x": 2.0, + "y": -2.7321 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 3, + "x": 0.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 4, + "x": 0.0, + "y": -2.7321 + }, + { + "type": "atom", + "index": 5, + "x": 0.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 6, + "x": 0.5, + "y": -0.8661 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 7, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 2.0, + "y": -3.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 1.5, + "y": -4.5981 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 0.5, + "y": -2.5981 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 11, + "x": 0.0, + "y": -1.7321 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 11, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/glucose.json b/kubejs/assets/tfg/molecules/glucose.json new file mode 100644 index 000000000..890c2c2db --- /dev/null +++ b/kubejs/assets/tfg/molecules/glucose.json @@ -0,0 +1,183 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 1.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 1, + "x": 2.0, + "y": -2.7321 + }, + { + "type": "atom", + "element": "O", + "index": 2, + "x": 1.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 3, + "x": 0.5, + "y": -1.8661 + }, + { + "type": "atom", + "index": 4, + "x": 0.0, + "y": -2.7321 + }, + { + "type": "atom", + "index": 5, + "x": 0.5, + "y": -3.5981 + }, + { + "type": "atom", + "index": 6, + "x": 0.5, + "y": -0.8661 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 7, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 2.0, + "y": -3.7321 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 9, + "x": 0.0, + "y": -3.7321 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 0.5, + "y": -2.5981 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 1.5, + "y": -4.5981 + }, + { + "type": "bond", + "a": 5, + "b": 0, + "lines": [ + "thick" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 11, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/isosorbide.json b/kubejs/assets/tfg/molecules/isosorbide.json new file mode 100644 index 000000000..c74ac4c63 --- /dev/null +++ b/kubejs/assets/tfg/molecules/isosorbide.json @@ -0,0 +1,188 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 2.0691, + "y": 1.2298 + }, + { + "type": "atom", + "index": 1, + "x": 1.7601, + "y": 0.2788 + }, + { + "type": "atom", + "index": 2, + "x": 2.5691, + "y": -0.309 + }, + { + "type": "atom", + "index": 3, + "x": 3.3781, + "y": 0.2788 + }, + { + "type": "atom", + "index": 4, + "x": 3.0691, + "y": 1.2298 + }, + { + "type": "atom", + "index": 5, + "x": 0.9511, + "y": -0.309 + }, + { + "type": "atom", + "index": 6, + "x": 1.2601, + "y": -1.26 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 2.2601, + "y": -1.26 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 3.3781, + "y": -0.8968 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 0.9511, + "y": 0.8666 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 10, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 4.3292, + "y": -0.0302 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "outward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/isosorbide_ln.json b/kubejs/assets/tfg/molecules/isosorbide_ln.json new file mode 100644 index 000000000..5de795e84 --- /dev/null +++ b/kubejs/assets/tfg/molecules/isosorbide_ln.json @@ -0,0 +1,730 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "index": 0, + "x": 11.5627, + "y": -3.3721 + }, + { + "type": "atom", + "index": 1, + "x": 11.8717, + "y": -2.4211 + }, + { + "type": "atom", + "index": 2, + "x": 11.0627, + "y": -1.8333 + }, + { + "type": "atom", + "index": 3, + "x": 10.2537, + "y": -2.4211 + }, + { + "type": "atom", + "index": 4, + "x": 10.5627, + "y": -3.3721 + }, + { + "type": "atom", + "index": 5, + "x": 12.6807, + "y": -1.8333 + }, + { + "type": "atom", + "index": 6, + "x": 12.3717, + "y": -0.8822 + }, + { + "type": "atom", + "element": "O", + "index": 7, + "x": 11.3717, + "y": -0.8822 + }, + { + "type": "atom", + "element": "H", + "index": 8, + "x": 10.2537, + "y": -1.2455 + }, + { + "type": "atom", + "element": "H", + "index": 9, + "x": 12.6807, + "y": -3.0088 + }, + { + "type": "atom", + "element": "O", + "index": 10, + "x": 13.6318, + "y": -2.1423 + }, + { + "type": "atom", + "element": "O", + "index": 11, + "x": 9.3026, + "y": -2.112 + }, + { + "type": "atom", + "index": 12, + "x": 8.5595, + "y": -2.7812 + }, + { + "type": "atom", + "index": 13, + "x": 7.6084, + "y": -2.4722 + }, + { + "type": "atom", + "element": "O", + "index": 14, + "x": 8.7674, + "y": -3.7593 + }, + { + "type": "atom", + "index": 15, + "x": 6.8653, + "y": -3.1413 + }, + { + "type": "atom", + "index": 16, + "x": 5.9142, + "y": -2.8323 + }, + { + "type": "atom", + "index": 17, + "x": 5.1711, + "y": -3.5014 + }, + { + "type": "atom", + "index": 18, + "x": 4.22, + "y": -3.1924 + }, + { + "type": "atom", + "index": 19, + "x": 3.4769, + "y": -3.8615 + }, + { + "type": "atom", + "index": 20, + "x": 2.5258, + "y": -3.5525 + }, + { + "type": "atom", + "index": 21, + "x": 1.7827, + "y": -4.2216 + }, + { + "type": "atom", + "index": 22, + "x": 0.8316, + "y": -3.9126 + }, + { + "type": "atom", + "index": 23, + "x": 0.6237, + "y": -2.9345 + }, + { + "type": "atom", + "index": 24, + "x": -0.3274, + "y": -2.6254 + }, + { + "type": "atom", + "index": 25, + "x": -0.5353, + "y": -1.6473 + }, + { + "type": "atom", + "index": 26, + "x": 0.2079, + "y": -0.9782 + }, + { + "type": "atom", + "index": 27, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 28, + "x": 0.7431, + "y": 0.6691 + }, + { + "type": "atom", + "index": 29, + "x": 1.6942, + "y": 0.3601 + }, + { + "type": "atom", + "index": 30, + "x": 2.4373, + "y": 1.0292 + }, + { + "type": "atom", + "index": 31, + "x": 14.3749, + "y": -1.4732 + }, + { + "type": "atom", + "index": 32, + "x": 15.326, + "y": -1.7822 + }, + { + "type": "atom", + "element": "O", + "index": 33, + "x": 14.167, + "y": -0.495 + }, + { + "type": "atom", + "index": 34, + "x": 16.0691, + "y": -1.113 + }, + { + "type": "atom", + "index": 35, + "x": 17.0202, + "y": -1.4221 + }, + { + "type": "atom", + "index": 36, + "x": 17.7633, + "y": -0.7529 + }, + { + "type": "atom", + "index": 37, + "x": 18.7144, + "y": -1.062 + }, + { + "type": "atom", + "index": 38, + "x": 19.4575, + "y": -0.3928 + }, + { + "type": "atom", + "index": 39, + "x": 20.4086, + "y": -0.7018 + }, + { + "type": "atom", + "index": 40, + "x": 21.1517, + "y": -0.0327 + }, + { + "type": "atom", + "index": 41, + "x": 22.1028, + "y": -0.3417 + }, + { + "type": "atom", + "index": 42, + "x": 22.3107, + "y": -1.3199 + }, + { + "type": "atom", + "index": 43, + "x": 23.2618, + "y": -1.6289 + }, + { + "type": "atom", + "index": 44, + "x": 23.4697, + "y": -2.607 + }, + { + "type": "atom", + "index": 45, + "x": 22.7265, + "y": -3.2762 + }, + { + "type": "atom", + "index": 46, + "x": 22.9344, + "y": -4.2543 + }, + { + "type": "atom", + "index": 47, + "x": 22.1913, + "y": -4.9234 + }, + { + "type": "atom", + "index": 48, + "x": 21.2402, + "y": -4.6144 + }, + { + "type": "atom", + "index": 49, + "x": 20.4971, + "y": -5.2836 + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 0, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 8, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 1, + "b": 9, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 5, + "b": 10, + "lines": [ + "inward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 11, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 14, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 20, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 20, + "b": 21, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 21, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 23, + "b": 24, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 24, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 25, + "b": 26, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 26, + "b": 27, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 27, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 28, + "b": 29, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 29, + "b": 30, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 32, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 33, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 32, + "b": 34, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 34, + "b": 35, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 35, + "b": 36, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 36, + "b": 37, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 37, + "b": 38, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 38, + "b": 39, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 39, + "b": 40, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 40, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 41, + "b": 42, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 42, + "b": 43, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 43, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 44, + "b": 45, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 45, + "b": 46, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 46, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 47, + "b": 48, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 48, + "b": 49, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 31, + "b": 10, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/linolenic_acid.json b/kubejs/assets/tfg/molecules/linolenic_acid.json new file mode 100644 index 000000000..de8f44aac --- /dev/null +++ b/kubejs/assets/tfg/molecules/linolenic_acid.json @@ -0,0 +1,284 @@ +{ + "contents": [ + { + "type": "atom", + "index": 0, + "x": 0.0, + "y": -1.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "left": "H", + "index": 2, + "x": -0.866, + "y": -1.5 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 4, + "x": 1.732, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 2.5981, + "y": -1.5 + }, + { + "type": "atom", + "index": 6, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 7, + "x": 4.3301, + "y": -1.5 + }, + { + "type": "atom", + "index": 8, + "x": 5.1961, + "y": -1.0 + }, + { + "type": "atom", + "index": 9, + "x": 6.0622, + "y": -1.5 + }, + { + "type": "atom", + "index": 10, + "x": 6.9282, + "y": -1.0 + }, + { + "type": "atom", + "index": 11, + "x": 7.9282, + "y": -1.0 + }, + { + "type": "atom", + "index": 12, + "x": 8.7942, + "y": -1.5 + }, + { + "type": "atom", + "index": 13, + "x": 9.6602, + "y": -1.0 + }, + { + "type": "atom", + "index": 14, + "x": 10.6602, + "y": -1.0 + }, + { + "type": "atom", + "index": 15, + "x": 11.5263, + "y": -1.5 + }, + { + "type": "atom", + "index": 16, + "x": 12.3923, + "y": -1.0 + }, + { + "type": "atom", + "index": 17, + "x": 13.3923, + "y": -1.0 + }, + { + "type": "atom", + "index": 18, + "x": 14.2583, + "y": -1.5 + }, + { + "type": "atom", + "index": 19, + "x": 15.1243, + "y": -1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 1, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 8, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 10, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 13, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 15, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 16, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 17, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 18, + "b": 19, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json index aa88c9920..aa47fd688 100644 --- a/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json +++ b/kubejs/assets/tfg/molecules/methylene_diphenyl_dicarbamate.json @@ -1,330 +1,380 @@ { - "contents": [ - { - "type": "atom", - "index": 0, - "x": 4.3301, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 1, - "x": 3.4641, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 2, - "x": 4.3301, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 3, - "x": 2.5980999999999987, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 4, - "x": 3.4641, - "y": 0 - }, - { - "type": "atom", - "index": 5, - "x": 2.5980999999999987, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 6, - "x": 5.1961999999999993, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 7, - "x": 6.0621999999999989, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "index": 8, - "x": 6.9281999999999986, - "y": 0 - }, - { - "type": "atom", - "index": 9, - "x": 6.0621999999999989, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 10, - "x": 7.7941999999999982, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "index": 11, - "x": 6.9281999999999986, - "y": -2.0001000000000007 - }, - { - "type": "atom", - "index": 12, - "x": 7.7941999999999982, - "y": -1.5001000000000007 - }, - { - "type": "atom", - "element": "O", - "index": 13, - "x": 1.7320999999999991, - "y": 0 - }, - { - "type": "atom", - "element": "O", - "index": 14, - "x": 8.6603000000000012, - "y": 0 - }, - { - "type": "atom", - "index": 15, - "x": 0.86599999999999966, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "element": "O", - "index": 16, - "x": 0.86599999999999966, - "y": -1.4999999999999991 - }, - { - "type": "atom", - "element": "N", - "left": [ - "H", - 2 - ], - "index": 17, - "x": 0.0, - "y": 0.0 - }, - { - "type": "atom", - "index": 18, - "x": 9.5263, - "y": -0.50009999999999977 - }, - { - "type": "atom", - "element": "N", - "right": [ - "H", - 2 - ], - "index": 19, - "x": 9.5263, - "y": -1.5 - }, - { - "type": "atom", - "element": "O", - "index": 20, - "x": 10.3924, - "y": 0.0 - }, - { - "type": "bond", - "a": 2, - "b": 0, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 0, - "b": 4, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 4, - "b": 5, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 5, - "b": 3, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 3, - "b": 1, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 1, - "b": 2, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 2, - "b": 6, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 6, - "b": 7, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 9, - "b": 7, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 7, - "b": 11, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 11, - "b": 12, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 12, - "b": 10, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 10, - "b": 8, - "lines": [ - "solid", - "solid" - ] - }, - { - "type": "bond", - "a": 8, - "b": 9, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 5, - "b": 13, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 10, - "b": 14, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 13, - "b": 15, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 15, - "b": 16, - "lines": [ - "solid", - "solid" - ], - "centered": true - }, - { - "type": "bond", - "a": 15, - "b": 17, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 14, - "b": 18, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 18, - "b": 19, - "lines": [ - "solid" - ] - }, - { - "type": "bond", - "a": 18, - "b": 20, - "lines": [ - "solid", - "solid" - ], - "centered": true - } - ] + "contents": [ + { + "type": "atom", + "index": 0, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 5.1962, + "y": 0.0 + }, + { + "type": "atom", + "index": 2, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "index": 3, + "x": 5.1962, + "y": -1.0 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3301, + "y": -1.5 + }, + { + "type": "atom", + "index": 6, + "x": 6.0622, + "y": -1.5 + }, + { + "type": "atom", + "index": 7, + "x": 6.9282, + "y": -1.0 + }, + { + "type": "atom", + "index": 8, + "x": 7.7943, + "y": 0.5 + }, + { + "type": "atom", + "index": 9, + "x": 6.9282, + "y": 0.0 + }, + { + "type": "atom", + "index": 10, + "x": 8.6603, + "y": 0.0 + }, + { + "type": "atom", + "index": 11, + "x": 7.7943, + "y": -1.5 + }, + { + "type": "atom", + "index": 12, + "x": 8.6603, + "y": -1.0 + }, + { + "type": "atom", + "element": "N", + "index": 13, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "element": "N", + "index": 14, + "x": 9.5263, + "y": 0.5 + }, + { + "type": "atom", + "element": "H", + "index": 15, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "index": 16, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "index": 17, + "x": 10.3923, + "y": 0.0 + }, + { + "type": "atom", + "element": "H", + "index": 18, + "x": 9.5263, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "index": 19, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "index": 20, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 21, + "x": 10.3923, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "index": 22, + "x": 11.2584, + "y": 0.5 + }, + { + "type": "atom", + "index": 23, + "x": 12.1244, + "y": 0.0 + }, + { + "type": "atom", + "index": 24, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 2, + "b": 0, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 1, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 9, + "b": 7, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 7, + "b": 11, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 11, + "b": 12, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 12, + "b": 10, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 8, + "lines": [ + "solid", + "solid" + ] + }, + { + "type": "bond", + "a": 8, + "b": 9, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 13, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 10, + "b": 14, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 15, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 13, + "b": 16, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 17, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 14, + "b": 18, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 19, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 16, + "b": 20, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 17, + "b": 21, + "lines": [ + "solid", + "solid" + ], + "centered": true + }, + { + "type": "bond", + "a": 17, + "b": 22, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 22, + "b": 23, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 19, + "b": 24, + "lines": [ + "solid" + ] + } + ] } \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/sorbitol.json b/kubejs/assets/tfg/molecules/sorbitol.json new file mode 100644 index 000000000..7ba316f37 --- /dev/null +++ b/kubejs/assets/tfg/molecules/sorbitol.json @@ -0,0 +1,176 @@ +{ + "contents": [ + { + "type": "atom", + "element": "O", + "right": "H", + "index": 0, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.7321, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 2.5981, + "y": 0.5 + }, + { + "type": "atom", + "index": 4, + "x": 3.4641, + "y": 0.0 + }, + { + "type": "atom", + "index": 5, + "x": 4.3301, + "y": 0.5 + }, + { + "type": "atom", + "index": 6, + "x": 5.1962, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 7, + "x": 6.0622, + "y": 0.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 8, + "x": 4.3301, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 9, + "x": 3.4641, + "y": -1.0 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 10, + "x": 2.5981, + "y": 1.5 + }, + { + "type": "atom", + "element": "O", + "right": "H", + "index": 11, + "x": 1.7321, + "y": -1.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 2, + "b": 3, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 3, + "b": 4, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 4, + "b": 5, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 6, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 6, + "b": 7, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 5, + "b": 8, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 4, + "b": 9, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 3, + "b": 10, + "lines": [ + "outward" + ] + }, + { + "type": "bond", + "a": 2, + "b": 11, + "lines": [ + "inward" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/trimethylamine.json b/kubejs/assets/tfg/molecules/trimethylamine.json new file mode 100644 index 000000000..80e341a2d --- /dev/null +++ b/kubejs/assets/tfg/molecules/trimethylamine.json @@ -0,0 +1,53 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "index": 0, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 1.5 + }, + { + "type": "atom", + "index": 2, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 3, + "x": 0.0, + "y": 0.0 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 0, + "b": 3, + "lines": [ + "solid" + ] + } + ] +} \ No newline at end of file diff --git a/kubejs/assets/tfg/molecules/urea.json b/kubejs/assets/tfg/molecules/urea.json new file mode 100644 index 000000000..10d871325 --- /dev/null +++ b/kubejs/assets/tfg/molecules/urea.json @@ -0,0 +1,65 @@ +{ + "contents": [ + { + "type": "atom", + "element": "N", + "right": [ + "H", + 2 + ], + "index": 0, + "x": 1.732, + "y": 0.0 + }, + { + "type": "atom", + "index": 1, + "x": 0.866, + "y": 0.5 + }, + { + "type": "atom", + "element": "N", + "left": [ + "H", + 2 + ], + "index": 2, + "x": 0.0, + "y": 0.0 + }, + { + "type": "atom", + "element": "O", + "index": 3, + "x": 0.866, + "y": 1.5 + }, + { + "type": "bond", + "a": 0, + "b": 1, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 2, + "lines": [ + "solid" + ] + }, + { + "type": "bond", + "a": 1, + "b": 3, + "lines": [ + "solid", + "solid" + ], + "centered": true + } + ] +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js index a6257a9c3..5562aac3f 100644 --- a/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js +++ b/kubejs/server_scripts/tfg/powergen/nuclear/recipes.nuclear.js @@ -568,6 +568,87 @@ function registerTFGNuclearRecipes(event) { //#endregion - + //#region Epoxidized Isosorbide Linolenate + + event.recipes.gtceu.distillery('tfg:linolenic_from_seed') + .inputFluids(Fluid.of('gtceu:seed_oil', 1000)) + .outputFluids(Fluid.of('tfg:linolenic_acid', 10)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.distillery('tfg:linolenic_from_olive') + .inputFluids(Fluid.of('tfc:olive_oil', 1000)) + .outputFluids(Fluid.of('tfg:linolenic_acid', 20)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + event.recipes.gtceu.distillery('tfg:linolenic_from_soybean') + .inputFluids(Fluid.of('firmalife:soybean_oil', 1000)) + .outputFluids(Fluid.of('tfg:linolenic_acid', 50)) + .circuit(2) + .duration(100) + .EUt(GTValues.VA[GTValues.MV]) + + //These two might not fit here but eh + event.recipes.gtceu.chemical_reactor('tfg:sucrose_to_monos') + .itemInputs('8x #tfg:sugars') + .inputFluids(Fluid.of('minecraft:water', 8000), Fluid.of('gtceu:sulfuric_acid', 200)) + .circuit(2) + .itemOutputs('24x #forge:dusts/glucose', '24x #forge:dusts/fructose') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.chemical_reactor('tfg:lactose_to_monos') + .itemInputs('8x #forge:dusts/lactose') + .inputFluids(Fluid.of('minecraft:water', 8000), Fluid.of('gtceu:sulfuric_acid', 200)) + .circuit(2) + .itemOutputs('24x #forge:dusts/glucose', '24x #forge:dusts/galactose') + .duration(400) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.chemical_reactor('tfg:glucose_to_sorbitol') + .itemInputs('12x #forge:dusts/glucose') + .inputFluids(Fluid.of('gtceu:hydrogen', 2000)) + .notConsumable('#forge:dusts/ruthenium') + .circuit(2) + .itemOutputs('13x #forge:dusts/sorbitol') + .duration(100) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.chemical_reactor('tfg:sorbitol_to_sorbitan') + .itemInputs('26x #forge:dusts/sorbitol') + .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000)) + .notConsumable('#forge:dusts/potassium_hydroxide') + .circuit(3) + .itemOutputs('23x #forge:dusts/14_sorbitan') + .duration(160) + .EUt(GTValues.VA[GTValues.IV]) + event.recipes.gtceu.chemical_reactor('tfg:sorbitan_to_isosorbide') + .itemInputs('23x #forge:dusts/14_sorbitan') + .inputFluids(Fluid.of('tfg:dimethyl_carbonate', 1000)) + .notConsumable('#forge:dusts/potassium_hydroxide') + .circuit(3) + .itemOutputs('20x #forge:dusts/isosorbide') + .duration(160) + .EUt(GTValues.VA[GTValues.IV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:lipid_attach_isosorbide') + .itemInputs('10x #forge:dusts/isosorbide') + .inputFluids(Fluid.of('tfg:linolenic_acid', 1000), Fluid.of('minecraft:water', 2000)) + .notConsumableFluid(Fluid.of('gtceu:toluene', 1000)) + .circuit(4) + .outputFluids(Fluid.of('tfg:isosorbide_ln', 1000)) + .duration(100) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.large_chemical_reactor('tfg:epoxidation_isosorbide_ln') + .inputFluids(Fluid.of('tfg:isosorbide_ln', 1000), Fluid.of('gtceu:hydrogen_peroxide', 3000), Fluid.of('gtceu:sulfuric_acid', 200)) + .notConsumableFluid(Fluid.of('gtceu:acetic_acid', 1000)) + .circuit(4) + .outputFluids(Fluid.of('tfg:epox_isosorbide_ln', 1000)) + .duration(100) + .EUt(GTValues.VA[GTValues.IV]) + + + //#endregion } diff --git a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js index 40bd3062d..25fc6579b 100644 --- a/kubejs/server_scripts/tfg/space_general/recipes.insulation.js +++ b/kubejs/server_scripts/tfg/space_general/recipes.insulation.js @@ -10,20 +10,38 @@ function registerTFGInsulationRecipes(event) { .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes') - .itemInputs('2x tfg:aes_mix_dust') - .outputFluids(Fluid.of('tfg:molten_aes', 1000)) + .itemInputs('#forge:dusts/aes_mix') + .outputFluids(Fluid.of('tfg:molten_aes', 500)) .chancedOutput('gtceu:ash_dust', 3000, 0) .circuit(1) - .duration(400) + .duration(200) .blastFurnaceTemp(3000) .EUt(GTValues.VA[GTValues.EV]) event.recipes.gtceu.electric_blast_furnace('tfg:molten_aes_he') - .itemInputs('2x tfg:aes_mix_dust') - .inputFluids(Fluid.of('gtceu:helium', 200)) - .outputFluids(Fluid.of('tfg:molten_aes', 1000)) + .itemInputs('#forge:dusts/aes_mix') + .inputFluids(Fluid.of('gtceu:helium', 100)) + .outputFluids(Fluid.of('tfg:molten_aes', 500)) .circuit(2) - .duration(140) + .duration(70) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:small_molten_aes') + .itemInputs('#forge:small_dusts/aes_mix') + .outputFluids(Fluid.of('tfg:molten_aes', 125)) + .chancedOutput('gtceu:ash_dust', 1000, 0) + .circuit(1) + .duration(120) + .blastFurnaceTemp(3000) + .EUt(GTValues.VA[GTValues.EV]) + + event.recipes.gtceu.electric_blast_furnace('tfg:small_molten_aes_he') + .itemInputs('#forge:small_dusts/aes_mix') + .inputFluids(Fluid.of('gtceu:helium', 100)) + .outputFluids(Fluid.of('tfg:molten_aes', 125)) + .circuit(2) + .duration(40) .blastFurnaceTemp(3000) .EUt(GTValues.VA[GTValues.EV]) diff --git a/kubejs/server_scripts/tfg/venus/recipes.biochem.js b/kubejs/server_scripts/tfg/venus/recipes.biochem.js index c43cd7182..c3298a2da 100644 --- a/kubejs/server_scripts/tfg/venus/recipes.biochem.js +++ b/kubejs/server_scripts/tfg/venus/recipes.biochem.js @@ -565,17 +565,35 @@ function registerTFGBiochemRecipes(event) { .EUt(GTValues.VA[GTValues.IV]); // Triglycerides from cell factory. - bioreactorRecipe('triglyceride_oil_from_smooth_endoplasmic_reticula', 10*20, 1920, { + bioreactorRecipe('triglyceride_oil_from_smooth_er_byacid', 10*20, 1920, { fluidInputs: [ 'gtceu:glycerol 1000', - 'tfg:butyric_acid 1000' + 'tfg:butyric_acid 3000' ], itemInputs: [ 'tfg:smooth_endoplasmic_reticula', 'tfg:lab_equipment' ], fluidOutputs: [ - Fluid.of('tfg:triglyceride_oil', 2000) + Fluid.of('tfg:triglyceride_oil', 3000) + ], + itemOutputs: [ + 'tfg:dirty_lab_equipment' + ], + cleanroom: CleanroomType.CLEANROOM + }); + + bioreactorRecipe('triglyceride_oil_from_smooth_er_lnacid', 10*20, 1920, { + fluidInputs: [ + 'gtceu:glycerol 1000', + 'tfg:linolenic_acid 3000' + ], + itemInputs: [ + 'tfg:smooth_endoplasmic_reticula', + 'tfg:lab_equipment' + ], + fluidOutputs: [ + Fluid.of('tfg:triglyceride_oil', 3000) ], itemOutputs: [ 'tfg:dirty_lab_equipment' diff --git a/kubejs/startup_scripts/tfg/materials.js b/kubejs/startup_scripts/tfg/materials.js index b25ca13df..707ad6423 100644 --- a/kubejs/startup_scripts/tfg/materials.js +++ b/kubejs/startup_scripts/tfg/materials.js @@ -3,11 +3,21 @@ const registerTFGMaterials = (event) => { + //#region placeholder materials event.create('unknown') .color('0xFFFFFF') .formula('?') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + event.create('ammonium') + .components('1x nitrogen', '4x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + + event.create('methoxy') + .components('1x oxygen', '1x carbon', '3x hydrogen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + //#endregion + registerTFGPowerReworkMaterials(event); registerTFGNuclearMaterials(event); registerTFGBiolineMaterials(event); diff --git a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js index 8da8a343d..5608f4ae6 100644 --- a/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js +++ b/kubejs/startup_scripts/tfg/nuclear/materials.nuclear.js @@ -274,6 +274,53 @@ const registerTFGNuclearMaterials = (event) => { .radioactiveHazard(10000000) //#endregion + + //#region Epoxidized Isosorbide Linolenate + event.create('tfg:glucose') + .dust() + .components('6x carbon', '12x hydrogen', '6x oxygen') + .color(0xFFE9E3) + event.create('tfg:galactose') + .dust() + .components('6x carbon', '12x hydrogen', '6x oxygen') + .color(0xEBE3FF) + event.create('tfg:fructose') + .dust() + .components('6x carbon', '12x hydrogen', '6x oxygen') + .iconSet(GTMaterialIconSet.SHINY) + .color(0xE6FFE3) + event.create('tfg:sorbitol') + .dust() + .components('6x carbon', '14x hydrogen', '6x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xDEFEFF) + event.create('tfg:14_sorbitan') + .dust() + .components('6x carbon', '12x hydrogen', '5x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0xB1F1F2) + event.create('tfg:isosorbide') + .dust() + .components('6x carbon', '10x hydrogen', '4x oxygen') + .iconSet(GTMaterialIconSet.FINE) + .color(0x84D6DB) + event.create('tfg:linolenic_acid') + .liquid() + .components('18x carbon', '30x hydrogen', '2x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xF5D478) + event.create('tfg:isosorbide_ln') + .liquid() + .components('42x carbon', '66x hydrogen', '6x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xDB5178) + event.create('tfg:epox_isosorbide_ln') + .liquid() + .components('42x carbon', '66x hydrogen', '12x oxygen') + .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) + .color(0xAB2748) + + //#endregion //#region Isotopic Solvent diff --git a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js index 49ffd7665..dbbccfcd6 100644 --- a/kubejs/startup_scripts/tfg/space_general/materials.rockets.js +++ b/kubejs/startup_scripts/tfg/space_general/materials.rockets.js @@ -120,7 +120,7 @@ function registerTFGRocketMaterials(event) { //#region aerogel event.create('tfg:tmos') .liquid() - .formula("Si(OCH3)4") + .components('1x silicon', '4x methoxy') .flags(GTMaterialFlags.DISABLE_DECOMPOSITION) .color(0xC2C6CC) event.create('tfg:silica_gel')