Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
First on the agenda is adding the missing vanilla blocks. At the time of writing, I have already identified the missing blocks (55 Large grid, 23 Small grid) and have even gotten the raw component data for each of them. Just need to put it into the correct format, add it to the script, and test it out.
Second on the agenda will be verifying the component lists are correct for blocks in the library. Will get to that once I've added the missing blocks to the dictionary.
I can remove some of the whitespace in the dictionary entries as well as remove any deprecated lines (Arc Furnace, Oxygen Generator, etc). Also, since the names of the components appear to be used purely for string purposes, I might be able to cut down on the character count significantly by using a shorthand method I used for manually writing down component lists before I found this script. The shorthand would make changes that would look like:
"plt" - SteelPlate
"cpu" - Computer
"dis" - Display
"int" - InteriorPlate (since these are string literals this shouldn't be mistaken as an integer datatype (I hope))
"lg" - LargeTubes ("lg" for "large")
"sml" - SmallTubes ("sml" for "small")
etc...
I'll do what I can do lower the character count without affecting the functionality of the script if at all possible (might have to add something to change back to proper names when it's writing to the LCD, but that's the only core change I can think of at this moment). If I can get it below 100,000, I'll start testing the component counts of all the blocks and see if there are any adjustments needed. I'll send another reply if anything major happens, and if everything checks out in the end, I'll share a link to the raw paste data of the script. I'll keep you posted.
At the top of the script where it sets the component volumes, I've made comments next to each component saying what its shorthand means. I've also made sure the output to the LCD AND the echo to the Programmable Block both have the actual component names, so there shouldn't be any noticeable changes to the output.
I should point out that in modifying the whitespace, I ended up replacing the four-space indentation with tab indentation. While this doesn't look good in the editor for the programmable block, you can copy and paste the script from the PB editor into a regular text editor (I'm using Notepad++ for this btw), and the indentation should be displayed correctly there. Just copy and paste the code back into the PB editor when you're done adding your component lists, and you should be good to go.
With that being said, all the vanilla blocks (minus the Safe Zone, which I will get to after this) are being registered with the script. The second phase of testing I'm going to do will be to validate the component lists for the blocks and adjust the lists if needed.
You can view/download the updated script here[drive.google.com]. Just copy the script contents and paste it into the Programmable Block you're going to use to calculate the component requirements. (Note: the indentation in the PB will not look correct as it doesn't render tabs like it should; this shouldn't affect the performance of the script, though.) There shouldn't be any changes in the core of the script, so you should be able to use it like you have previously. :)
The format for adding blocks DID change slightly, however. When adding the missing blocks to the dictionaries, the script went over the 100,000 character limit that the game has. So in order to save space, I switched the naming convention of the components to a shorthand variant. If you're wanting to add your own blocks into the script, please refer to the comments next to the components in the Component Volume list near the top of the script. The shorthand notation is what you want to use when specifying the names of components when adding blocks to the dictionary. It (hopefully) shouldn't be too hard to figure out, though. And don't worry, I made sure the Programmable Block and the LCD screen still output the full component names, so this is only relevant if you want to add new/modded blocks to be calculated in the script.
A changelog of everything I changed from the original script can also be found here[drive.google.com]. I made this for @the-phil so he'd know exactly what I did if he chooses to push the updates I made to the workshop script. I also saved a backup of the original script as a failsafe if anything needs to be reverted.
Everyone is free to use the updated script (unless the-phil wants me to take it down for some reason D: ). If there are still any problems with the script for vanilla blocks, let me know, and I'll link the fixed script here. Have a nice day! :)
If you need to convert the shorthand to the component names the game uses or vice-versa, I included a couple of functions in the script that allow you to do that ("ShortToLongNotation(string)" and "LongToShortNotation(string)" respectively) If you have any other concerns or questions, feel free to let me know. :).