Destroy: Chemistry and Carnage

Destroy: Chemistry and Carnage

71 Downloads

Standardizing Chemical Formulas Using The Canonical SMILES Descriptor In The Mod!

BoobaPog opened this issue · 1 comments

commented

Description

Descriptors essentially explain a molecule's structure and prevent confusion between completely different molecules. Based on SashaSemenishchev comment from Feb 20 regarding the use of ZenScript for recipes and adding new molecules, it appears the mod already employs linear formulas.

SashaSemenishchev comment on Feb 20:

Since this commit ZenScripts such as these are working

import mods.destroy.Reactions;
import mods.destroy.Molecules;

val mbte = Molecules.create("mbte")
    .formula("destroy:linear:O(C(C)(C)C)C")
    .boilingPoint(55.2)
    .build();
Reactions.create("test")
    .addReactant(<molecule:destroy:phenylacetone>, 1)
    .addReactant(<molecule:destroy:methylamine>, 1)
    .addReactant(mbte, 1)
    .addProduct(<molecule:destroy:water>)
    .build();

For now I need to add localisation support to the customly made molecules and reactions. And then add destroy recipes of distillation, electrolysis, aging, centrifugation, charging and obliteration. This will include support of customising the mixtures in the recipes as well.

Given the current use of a linear descriptor, it would be good to implement Canonical SMILES (Simplified Molecular Input Line Entry System) specifications for consistency and simplicity.

An example was provided in the comment for adding MTBE (methyl tert-butyl ether) to the game. The formula used in the example was "O(C(C)(C)C)C." Using a standard Canonical SMILES format, the formula would just be "CC(C)(C)OC" which is very similar.

Personally I think Canonical SMILES looks a lot simpler than the current way to represent chemical formulas. On top of it being simpler, the hassles with manually creating these formulas will become unnecessary, as PubChem provides the Canonical SMILES formula for virtually every documented chemical. Using Pubchem it takes a few seconds to find the Canonical SMILES formula. After opening the page for the molecule you want to add. All you need to do is:
1: Using the contents list on the right side click on "2 Names and Identifiers”
2: Then you will see “2.1 Computed Descriptors”
3: Then you will find the formula by just scrolling down until you reach “2.1.4 Canonical SMILES”

Problem This Addresses

Simplifying the process of knowing and using chemical formulas in the game, enhancing accuracy and ease of understanding.

Minecraft Username

Tr3Iscool

commented

You can see why and how Destroy uses the system it does here, but a later update might replace FROWNS with SMILES (side note, For MTBE, CC(C)(C)OC also works).