https://powdertoy.co.uk/Wiki/index.php?title=Special:NewPages&feed=atom&hideredirs=1&limit=50&offset=&namespace=0&username=&tagfilter=&size-mode=max&size=0 The Powder Toy - New pages [en] 2024-04-20T15:40:39Z From The Powder Toy MediaWiki 1.30.0 https://powdertoy.co.uk/Wiki/W/Element:RSSS.html Element:RSSS 2024-03-20T15:47:06Z <p>savask: Wiki page for solid resist</p> <hr /> <div>{{ infobox Element<br /> | icon = RSSS.png<br /> | longname = Solidified resist<br /> | image = <br /> <br /> | identifier = DEFAULT_PT_RSSS<br /> | name = RSSS<br /> | description = Solidified resist. Blocks pressure and insulates electricity. Liquefies on contact with neutrons.<br /> | colour = C43626<br /> | menusection = SC_SOLIDS<br /> | menuvisible = 1<br /> | advection = 0<br /> | airdrag = 0<br /> | airloss = 0.9<br /> | loss = 0<br /> | collision = 0<br /> | diffusion = 0<br /> | explosive = 0<br /> | falldown = 0<br /> | flammable = 0<br /> | gravity = 0<br /> | hardness = 0<br /> | heatconduct = 130<br /> | hotair = 0<br /> | meltable = 0<br /> | state = ST_SOLID<br /> | temperature = 295.15<br /> | weight = 100<br /> | properties = TYPE_SOLID PROP_NEUTPASS<br /> | lowtemperature = <br /> | lowtemperaturetransition = <br /> | hightemperature = <br /> | hightemperaturetransition = <br /> | lowpressure = <br /> | lowpressuretransition = <br /> | highpressure = <br /> | highpressuretransition = <br /> }}<br /> <br /> Solidified resist is a solid produced after the reaction between [[Element:RSST|liquid resist]] and [[Element:PHOT|photons]].<br /> Solidified resist is immune to [[Element:ACID|acid]], heat and pressure. It blocks air (like [[Element:TTAN|titanium]]) and insulates [[Element:SPRK|spark]].<br /> Solid resist reflects photons and absorbs [[Element:GRVT|gravitons]]. [[Element:ELEC|Electrons]] pass through solid resist, and [[Element:PROT|protons]] destroy it.<br /> <br /> == Creation ==<br /> <br /> Solidified resist can be synthesized only by shining photons on liquid resist:<br /> <br /> {{MaterialBtn|RSST}} + {{MaterialBtn|PHOT}} → {{MaterialBtn|RSSS}}<br /> <br /> == Reactions ==<br /> <br /> Solid resist liquefies into resist on contact with [[Element:NEUT|neutrons]]:<br /> <br /> {{MaterialBtn|RSSS}} + {{MaterialBtn|NEUT}} → {{MaterialBtn|RSST}}<br /> <br /> As in the case of liquid resist, if solidified resist has ''ctype'' and/or ''tmp'' set, then it will liquefy into the element stored in ''ctype'' and set that element's ''ctype'' to solid resist's ''tmp''.<br /> For example, solid resist with ''ctype = [[Element:ICE|ICE]]'' and ''tmp = [[Element:ICE|ELEC]]'' will liquefy into ice with ''ctype = ELEC'':<br /> <br /> {{MaterialBtn|RSSS}} ''(ctype = ICE, tmp = ELEC)'' + {{MaterialBtn|NEUT}} → {{MaterialBtn|ICE}} ''(ctype = ELEC)''<br /> <br /> {{Languages|Element:RSSS}}</div> savask https://powdertoy.co.uk/Wiki/W/Element:RSST.html Element:RSST 2024-03-20T15:04:18Z <p>savask: Wiki page for resist</p> <hr /> <div>{{ infobox Element<br /> | icon = RSST.png<br /> | longname = Resist<br /> | image = <br /> <br /> | identifier = DEFAULT_PT_RSST<br /> | name = RSST<br /> | description = Resist. Solidifies on contact with photons, is destroyed by electrons and spark.<br /> | colour = F95B49<br /> | menusection = SC_LIQUID<br /> | menuvisible = 1<br /> | advection = 0.3<br /> | airdrag = 0.02<br /> | airloss = 0.98<br /> | loss = 0.80<br /> | collision = 0<br /> | diffusion = 0<br /> | explosive = 0<br /> | falldown = 2<br /> | flammable = 0<br /> | gravity = 0.15<br /> | hardness = 50<br /> | heatconduct = 55<br /> | hotair = 0<br /> | meltable = 0<br /> | state = ST_LIQUID<br /> | temperature = 295.15<br /> | weight = 33<br /> | properties = TYPE_LIQUID PROP_CONDUCTS PROP_LIFE_DEC PROP_NEUTPASS<br /> | lowtemperature = <br /> | lowtemperaturetransition = <br /> | hightemperature = <br /> | hightemperaturetransition = <br /> | lowpressure = <br /> | lowpressuretransition = <br /> | highpressure = <br /> | highpressuretransition = <br /> }}<br /> <br /> Resist is a photo-sensitive liquid, akin to the real life photoresist. When a [[Element:PHOT|photon]] hits a particle of resist, the latter turns into [[Element:RSSS|solid resist]].<br /> Resist is immune to heat and pressure, but can be destroyed by [[Element:ACID|acid]] and [[Element:ELEC|electrons]] (solid resist can withstand these substances). <br /> Resist conducts [[Element:SPRK|spark]] and is destroyed by it, hence a pulse of spark current will travel through liquid resist erasing it simultaneously.<br /> [[Element:NEUT|Neutrons]], [[Element:PROT|protons]] and [[Element:GRVT|gravitons]] pass through resist freely.<br /> <br /> == Creation ==<br /> <br /> [[Element:GLOW|Glow]] and [[Element:GEL|gel]] combine into resist:<br /> <br /> {{MaterialBtn|GLOW}} + {{MaterialBtn|GEL}} → {{MaterialBtn|RSST}}<br /> <br /> Solid resist liquefies into resist on contact with neutrons:<br /> <br /> {{MaterialBtn|RSSS}} + {{MaterialBtn|NEUT}} → {{MaterialBtn|RSST}}<br /> <br /> == Reactions ==<br /> <br /> The main reaction is resist solidifying on contact with photons:<br /> <br /> {{MaterialBtn|RSST}} + {{MaterialBtn|PHOT}} → {{MaterialBtn|RSSS}}<br /> <br /> If resist has ''ctype'' and/or ''tmp'' set, then it will solidify into the element stored in ''ctype'' and set that element's ''ctype'' to resist's ''tmp''.<br /> For example, resist with ''ctype = [[Element:ICE|ICE]]'' and ''tmp = [[Element:ICE|ELEC]]'' will solidify into ice with ''ctype = ELEC'':<br /> <br /> {{MaterialBtn|RSST}} ''(ctype = ICE, tmp = ELEC)'' + {{MaterialBtn|PHOT}} → {{MaterialBtn|ICE}} ''(ctype = ELEC)''<br /> <br /> Resist will copy ''ctype'' from [[Element:CLNE|clone]] and [[Element:PCLN|powered clone]] it touches, powered clone need not be turned on for that to work.<br /> <br /> Resist turns into [[Element:BIZR|bizzare]] on contact with [[Element:PTNM|platinum]]:<br /> <br /> {{MaterialBtn|RSST}} + {{MaterialBtn|PTNM}} → {{MaterialBtn|BIZR}} + {{MaterialBtn|PTNM}}<br /> <br /> Resist can be used to produce [[Element:FIRW|fireworks]] and [[Element:FSEP|fuse powder]]:<br /> <br /> {{MaterialBtn|RSST}} + {{MaterialBtn|GUN}} → {{MaterialBtn|FIRW}}<br /> <br /> {{MaterialBtn|RSST}} + {{MaterialBtn|BCOL}} → {{MaterialBtn|FSEP}}<br /> <br /> {{Languages|Element:RSST}}</div> savask https://powdertoy.co.uk/Wiki/W/Elements:Sensors/ko.html Elements:Sensors/ko 2024-02-16T05:56:48Z <p>TPTManiaKOR: Enter a short summary [b]</p> <hr /> <div>{{Languages|Elements:Sensors}}<br /> 이 분류항목은 84.0 버전에서 당시로서는 최근에 추가되었던 감지기 물질들에 대한 요구를 받아들여 추가되었다.<br /> <br /> === [[File:INVS.png|INVS]] [[Element:INVS/ko|통과제]] ===<br /> <br /> '''설명:'''<br /> &quot;높은 압력을 가하면 물질이 통과할 수 있습니다.&quot;<br /> <br /> '''기본 온도:'''<br /> 22°C<br /> <br /> 전원식 벽과 유사하게, 고압에 노출되면 INVS는 물질이 자유자재로 통과할 수 있는 상태가 된다. 평상시의 상태일 때는 PHOT가 통과 시에 NEUT로 변한다.<br /> <br /> === [[File:DTEC.png|DTEC]] [[Element:DTEC/ko|탐지기]] ===<br /> <br /> '''설명:'''<br /> &quot;ctype으로 설정한 물질이 근처에 있으면 전류를 방출합니다.&quot;<br /> <br /> '''기본 온도:'''<br /> 22°C<br /> <br /> 주변의 ctype으로 설정한 물질이 있다면 SPRK를 발생시킨다. 원하는 물체를 선택한 상태로 DTEC 위에서 클릭하면 ctype가 지정된다. DTEC는 FILT의 옆에 있을 때 BRAY를 맞으면 BRAY의 ctype을 복제하는 성질도 갖고 있다.<br /> <br /> === [[File:TSNS.png|TSNS]] [[Element:TSNS/ko|온도 센서]] ===<br /> <br /> '''설명:'''<br /> &quot;설정된 온도보다 높은 온도의 물질이 감지되는 경우 전류를 방출합니다.&quot;<br /> <br /> '''기본 온도:'''<br /> 22°C<br /> <br /> METL이나 다른 TSNS 외의 물질이 TEMP보다 높은 온도를 갖고 있다면 2픽셀 내의 전도체에 SPRK를 흘린다. 열을 전도하지 않는다.<br /> <br /> === [[File:PSNS.png|PSNS]] [[Element:PSNS/ko|압력 감지]] ===<br /> <br /> '''설명:''' <br /> &quot;압력이 설정된 온도보다 높으면 전류를 방출합니다.&quot;<br /> <br /> '''기본 온도:'''<br /> 4°C<br /> <br /> 주변 공기압이 자신의 온도보다 높으면 2픽셀 내의 전도체에 SPRK를 흘리는 물질. TSNS와 유사하게, 열을 전도하지 않는다.<br /> <br /> === [[File:LSNS.png|LSNS]] [[Element:LSNS/ko|Life 감지기]] ===<br /> <br /> '''설명:'''<br /> &quot;설정된 온도보다 높은 Life 값을 갖는 물질이 근처에 있는 경우 전류를 방출합니다.&quot;<br /> <br /> '''기본 온도:'''<br /> 4°C<br /> <br /> 자신의 온도보다 Life값이 높은 물질이 주변에 있다면 주변에 SPRK를 흘리는 물질로, 녹거나 부서지지 않고 열을 전도하지도 않는다.<br /> <br /> === [[File:LDTC.png|LDTC]] [[Element:LDTC/ko|선형 감지기]] ===<br /> <br /> '''설명:'''<br /> &quot;여덟 방향으로 물질을 스캔하여 ctype으로 설정된 물질이 있는 쪽의 반대편에 전류를 방출합니다.&quot;<br /> <br /> '''기본 온도:'''<br /> 22C &lt;br/&gt;<br /> ctype으로 설정된 물질이 자신으로부터 십자 빛 X자 모양으로 8방향 내에 있다면 그 반대 전류를 발생시킨다.<br /> <br /> === [[File:VSNS.png|VSNS]] [[Element:VSNS/ko|속도 감지기]] ===<br /> <br /> '''설명:'''<br /> &quot;설정된 온도보다 높은 속도의 입자가 감지되면 전류를 방출합니다.&quot;<br /> <br /> '''Temp:'''<br /> 4C<br /> <br /> 자신의 온도보다 속도가 높은 물질이 주변에 있다면 주변에 SPRK를 흘리는 물질로, 녹거나 부서지지 않고 열을 전도하지도 않는다.<br /> <br /> &lt;b&gt;일렬화&lt;/b&gt;<br /> 본 영문 일렬화 튜토리얼은 센서를 통해 일렬화를 적용하는 방법에 대해서 알려준다.<br /> {{ save | id=2446165}}<br /> <br /> [[Category:Elements]]</div> TPTManiaKOR https://powdertoy.co.uk/Wiki/W/Elements:Powered_materials/ko.html Elements:Powered materials/ko 2024-02-16T05:24:20Z <p>TPTManiaKOR: 전체적 편집 방향(각 분류 문서에서는 최대한 간결하게 쓰고, 각 물질 문서에서 최대한 자세하게 다루기)에 맞춰서 일부 내용을 삭제했습니다.</p> <hr /> <div>{{Languages|Elements:Powered materials}}<br /> <br /> 주: 번역상 Powered Materials를 '''전원'''으로 번역하는 것은 어색하기 때문에 한국 공식 커뮤니티에서는 본 단어에 대한 새로운 번역을 모집 중입니다.<br /> <br /> == 전원 ==<br /> 버전 49.0에 추가된 전원 물질은 동작에 에너지를 요구하는 물질이다.<br /> [[Elements:Electronics|전기]] 분류의 물질과는 혼동하기 쉽지만, 전기로 분류된 물질은 전류를 생성/전달/수정할 수 있는 반면, 전원으로 분류된 물질은 (DLAY를 제외하면) 전류를 흡수하기만 한다.<br /> <br /> === [[File:LCRY.png|LCRY]] [[Element:LCRY/ko|액정]] ===<br /> '''설명:'''<br /> &quot;활성화하였을 때 색을 바꿉니다. PSCN으로 활성화하고 NSCN으로 비활성화합니다.&quot; <br /> <br /> 액정의 일반적인 색상은 어두운 회색(꺼졌을 때)와 밝은 회색(켜졌을 때)이지만, [[Deco/ko|데코레이션]]을 이용해서 색상을 바꿀 수 있다. 데코레이션이 입혀지면, 켜졌을 때는 해당 색상이 되고, 꺼졌을 때는 해당 색상을 아주 어둡게 한 색상이 된다.<br /> <br /> === [[File:PCLN.png|PCLN]] [[Element:PCLN/ko|전원식 복제기]] ===<br /> '''설:'''<br /> &quot;활성화되었을 때 닿은 물질을 복제합니다.&quot;<br /> <br /> 설명에 기재된 대로 이 물질은 다른 물질을 복제한다. ctype을 통해 복제되는 물질을 바꿀 수 있다. PSCN으로 활성화하고 NSCN으로 비활성화한다.<br /> <br /> === [[File:HSWC.png|HSWC]] [[Element:HSWC/ko|열 스위치]] ===<br /> '''설명:'''<br /> &quot;활성화하였을 때만 열을 전도합니다.&quot;<br /> <br /> 온도와 압력에 파괴되지 않는다. 활성화 시에만 동작하며, PSCN으로 활성화, NSCN으로 비활성화할 수 있다.<br /> <br /> === [[File:DLAY.png|DLAY]] [[Element:DLAY/ko|전류 주기 지연 개폐기]] ===<br /> '''설명:'''<br /> &quot;온도에 따라 전류의 흐름을 지연시킵니다. (HEAT 및 COOL을 사용하여 온도를 조절할 수 있습니다.)&quot;<br /> <br /> 열과 압력에 파괴되지 않는다. 온도에 기반한 시간 동안 SPRK의 움직임을 지연시킨다. (온도가 뜨거울수록 1도당 1프레임씩 지연된다.)<br /> <br /> === [[File:STOR.png|STOR]] [[Element:STOR/ko|저장소]] ===<br /> '''설명:'''<br /> &quot;단일 입자를 저장하며, PSCN을 이용하여 입자를 배출합니다. PIPE로 입자를 전송할 수 있습니다.&quot;<br /> <br /> STOR에 닿는 1개의 입자는 그 안에 저장되며, PSCN으로부터 전류를 받으면 내보낸다. ctype으로 지정된 물질이 있다면 그 물질만을 저장한다.<br /> <br /> === [[File:PVOD.png|PVOD]] [[Element:PVOD/ko|전원식 공허]] ===<br /> '''설명:'''<br /> &quot;활성화하였을 때 닿은 입자를 제거합니다.&quot;<br /> <br /> PSCN으로 활성화하면 VOID와 같이 닿은 입자를 없앤다. NSCN으로 비활성화할 수 있다.<br /> <br /> === [[File:PUMP.png|PUMP]] [[Element:PUMP/ko|압력 생성기]] ===<br /> '''설명:'''<br /> &quot;활성화하였을 때 설정한 온도에 맞춰 압력을 발생시킵니다.&quot;<br /> <br /> PSCN으로 활성화하면 주변 압력을 변화시키는 물질. 비활성화는 마찬가지로 NSCN으로 한다. 온도에 따라서 압력의 세기가 바뀌며, PROT를 제외한 다른 물질과 열교환을 하지 않기에 HEAT/COOL 도구로 온도를 바꿀 수 있다. 설치되었을 때 기본적으로 활성화된 상태이다.<br /> <br /> TMP가 1일 때, 이 물질은 FILT에서 데이터를 받아서 이에 맞춰서 압력을 바꿀 수 있다. 이 기능은 [[Element:PSNS/ko|PSNS]]와 같이 쓸 수 있다.<br /> <br /> === [[File:PBCN.png|PBCN]] [[Element:PBCN/ko|파과 가능한 전원식 복제기]] ===<br /> '''Description:'''<br /> &quot;파괴 가능한 전원식 CLNE입니다.&quot;<br /> <br /> BCLN과 같이 부서질 수 있는 전원식 복제기로, 이외의 속성은 PCLN과 거의 같다.<br /> <br /> === [[File:GPMP.png|GPMP]] [[Element:GPMP/ko|중력 펌프]] ===<br /> '''설:'''<br /> &quot;활성화하였을 때 설정한 온도에 맞춰 중력을 발생시킵니다.&quot;<br /> <br /> 활성화하면 [[:newtonian_gravity/ko|뉴턴 중력]]을 온도에 맞추어 바꾼다. 역시 PSCN으로 켜고 NSCN으로 끈다.<br /> <br /> PROT을 제외하면 다른 물질과 열 교환을 하지 않으므로 온도를 바꾸기 위해선 HEAT/COOL 도구를 써야 한다. 가열시키면 가열시킬수록 강한 중력이 형성되어 물질을 당기고, 냉각시키면 냉각시킬수록 강한 반중력이 형성되어 물질을 밀어낸다. 메뉴에서 뉴턴 중력을 활성화하여야만 동작한다.<br /> <br /> === [[File:PPIP.png|PPIP]] [[Element:PPIP/ko|전원식 파이프]] ===<br /> '''설명:'''<br /> &quot;PSCN 및 NSCN으로 활성화를 전환시킬 수 있습니다.&quot;<br /> <br /> PIPE와 완전히 같은 방식으로 동작하나, PSCN과 NSCN으로 각각 물체의 이동을 시작 및 정지시킬 수 있으며, INST로 전기를 흘려주면 방향이 전환된다. PPIP는 가끔 방향이 전환되면 막히기도 한다. PPIP가 활성화되어 있다면 둘러싸고 있는 BRCK가 파랗게 되며, 화려한 디스플레이 모드에서는 빛이 난다.<br /> <br /> [[Category: Elements]]</div> TPTManiaKOR https://powdertoy.co.uk/Wiki/W/Powder_Toy_Lua_API_(preview).html Powder Toy Lua API (preview) 2024-01-27T20:41:00Z <p>LBPHacker: Praised be pandoc, I would wither away typing all this out in the mediawiki format</p> <hr /> <div>== bz2 ==<br /> <br /> The &lt;code&gt;bz2&lt;/code&gt; API provides access to the bzip2 library TPT bundles. It can be used for compressing and decompressing blocks of data, such as TPT saves.<br /> <br /> Only one-shot functionality is exposed because streaming functionality is only useful for tasks that are beyond the scope of this API.<br /> <br /> Unless stated otherwise, all functions raise errors if supplied with parameters that disagree with their descriptions.<br /> <br /> === bz2.compress ===<br /> <br /> Compress data with bzip2 at compression level 9.<br /> <br /> &lt;pre&gt;compressedData, errCode, errStr = bz2.compress(data, [maxSize])&lt;/pre&gt;<br /> * &lt;code&gt;data&lt;/code&gt;: string, the data to be compressed<br /> * &lt;code&gt;maxSize&lt;/code&gt;: number, upper limit on the length of &lt;code&gt;compressedData&lt;/code&gt;; defaults to &lt;code&gt;0&lt;/code&gt;, which means no limit<br /> * &lt;code&gt;compressedData&lt;/code&gt;: string, the compressed data, or &lt;code&gt;nil&lt;/code&gt; on error<br /> * &lt;code&gt;errCode&lt;/code&gt;: &lt;code&gt;nil&lt;/code&gt;, or one of the following values on error:<br /> ** &lt;code&gt;bz2.COMPRESS_NOMEM&lt;/code&gt;: out of memory, TPT will probably crash soon<br /> ** &lt;code&gt;bz2.COMPRESS_LIMIT&lt;/code&gt;: the length of &lt;code&gt;compressedData&lt;/code&gt; would exceed &lt;code&gt;maxSize&lt;/code&gt;<br /> * &lt;code&gt;errStr&lt;/code&gt;: &lt;code&gt;nil&lt;/code&gt;, or a human-friendly string that explains the error<br /> <br /> === bz2.decompress ===<br /> <br /> Decompress bzip2-compressed data.<br /> <br /> &lt;pre&gt;data, errCode, errStr = bz2.decompress(compressedData, [maxSize])&lt;/pre&gt;<br /> * &lt;code&gt;compressedData&lt;/code&gt;: string, the compressed data<br /> * &lt;code&gt;maxSize&lt;/code&gt;: number, upper limit on the length of &lt;code&gt;data&lt;/code&gt;; defaults to &lt;code&gt;0&lt;/code&gt;, which means no limit<br /> * &lt;code&gt;data&lt;/code&gt;: string, the original data, or &lt;code&gt;nil&lt;/code&gt; on error<br /> * &lt;code&gt;errCode&lt;/code&gt;: &lt;code&gt;nil&lt;/code&gt;, or one of the following values on error:<br /> ** &lt;code&gt;bz2.DECOMPRESS_NOMEM&lt;/code&gt;: out of memory, TPT will probably crash soon<br /> ** &lt;code&gt;bz2.DECOMPRESS_LIMIT&lt;/code&gt;: the length of &lt;code&gt;data&lt;/code&gt; would exceed &lt;code&gt;maxSize&lt;/code&gt;<br /> ** &lt;code&gt;bz2.DECOMPRESS_TYPE&lt;/code&gt;: &lt;code&gt;compressedData&lt;/code&gt; is not bzip2-compressed data<br /> ** &lt;code&gt;bz2.DECOMPRESS_BAD&lt;/code&gt;: &lt;code&gt;compressedData&lt;/code&gt; is otherwise corrupt<br /> ** &lt;code&gt;bz2.DECOMPRESS_EOF&lt;/code&gt;: &lt;code&gt;compressedData&lt;/code&gt; contains data beyond the end of the bzip2 stream<br /> * &lt;code&gt;errStr&lt;/code&gt;: &lt;code&gt;nil&lt;/code&gt;, or a human-friendly string that explains the error<br /> <br /> == elements ==<br /> <br /> The &lt;code&gt;elements&lt;/code&gt; API contains methods and constants for creating and modifying elements.<br /> <br /> '''The shorter alias &lt;code&gt;elem&lt;/code&gt; is also available.'''<br /> <br /> Unless stated otherwise, all functions raise errors if supplied with parameters that disagree with their descriptions.<br /> <br /> &lt;span id=&quot;elements.group_pt_iname&quot;&gt;&lt;/span&gt;<br /> === elements.[group]_PT_[iname] ===<br /> <br /> &lt;pre&gt;watrNumber = elements.DEFAULT_PT_WATR&lt;/pre&gt;<br /> There are two ways to refer to elements: element numbers and element identifiers, which are strings of the form &lt;code&gt;&amp;quot;[group]_PT_[iname]&amp;quot;&lt;/code&gt;. Both &lt;code&gt;[group]&lt;/code&gt; and &lt;code&gt;[iname]&lt;/code&gt; can be any string without underscores (&lt;code&gt;_&lt;/code&gt;). All built-in elements are in group &lt;code&gt;DEFAULT&lt;/code&gt;. For example, the identifier of WATR is &lt;code&gt;&amp;quot;DEFAULT_PT_WATR&amp;quot;&lt;/code&gt;, because WATR belongs to the group &lt;code&gt;DEFAULT&lt;/code&gt; and its internal name is &lt;code&gt;WATR&lt;/code&gt;. This is different from [[#elements.property|the &lt;code&gt;Name&lt;/code&gt; property]].<br /> <br /> These constants map element identifiers to element numbers. The element number of WATR is &lt;code&gt;2&lt;/code&gt;, so &lt;code&gt;elements.DEFAULT_PT_WATR&lt;/code&gt; is also &lt;code&gt;2&lt;/code&gt;.<br /> <br /> === elements.allocate ===<br /> <br /> Create a new element.<br /> <br /> &lt;pre&gt;elemNumber = elements.allocate(group, iname)&lt;/pre&gt;<br /> * &lt;code&gt;group&lt;/code&gt;: string without underscores (&lt;code&gt;_&lt;/code&gt;), the group the element belongs to; gets uppercased by the function<br /> * &lt;code&gt;iname&lt;/code&gt;: string without underscores (&lt;code&gt;_&lt;/code&gt;), the internal name of the element; gets uppercased by the function<br /> * &lt;code&gt;elemNumber&lt;/code&gt;: the positive element number allocated for the element created, or &lt;code&gt;-1&lt;/code&gt; on error, if there are no free element numbers left<br /> <br /> &lt;code&gt;group&lt;/code&gt; should be something unique to your script, and should be the same across the entire script. It is common to use a simpler version of your username or the script’s name, for example if your script is called ''Ultimate Chemistry Pack v3'', you might use &lt;code&gt;&amp;quot;CHEMPACK3&amp;quot;&lt;/code&gt; as the group name.<br /> <br /> &lt;code&gt;iname&lt;/code&gt; should be unique to the element within your script, and should ultimately resemble [[#elements.property|the &lt;code&gt;Name&lt;/code&gt; property]] of the element. For example, if your element’s name is ''C-6'' you should use &lt;code&gt;C6&lt;/code&gt; as the internal name.<br /> <br /> The resulting element identifier must be unique across all scripts in use at any point in time. Elements that seem like built-in elements, i.e. ones in the group &lt;code&gt;DEFAULT&lt;/code&gt;, cannot be created. Note that, as stated above, both &lt;code&gt;group&lt;/code&gt; and &lt;code&gt;iname&lt;/code&gt; get uppercased, so &lt;code&gt;elements.allocate(&amp;quot;CheMpaCk3&amp;quot;, &amp;quot;c6&amp;quot;)&lt;/code&gt; is equivalent to &lt;code&gt;elements.allocate(&amp;quot;CHEMPACK3&amp;quot;, &amp;quot;C6&amp;quot;)&lt;/code&gt;.<br /> <br /> Make the choice such that it is convenient to refer to your element via [[#elements.group_pt_iname|an &lt;code&gt;elements.[group]_PT_[iname]&lt;/code&gt; constant]]. While it is perfectly possible to type &lt;code&gt;elem[&amp;quot;Ultimate Chemistry Pack v3_PT_C-6&amp;quot;]&lt;/code&gt;, it is much more convenient to type &lt;code&gt;elem.CHEMPACK3_PT_C6&lt;/code&gt;.<br /> <br /> The new element is created with all the default properties, and will not be visible until you modify it to show up in the menu.<br /> <br /> === elements.element ===<br /> <br /> Query all or update multiple properties of an element.<br /> <br /> &lt;pre&gt;elemProps = elements.element(elemNumber) -- query variant<br /> elements.element(elemNumber, elemProps) -- update variant&lt;/pre&gt;<br /> * &lt;code&gt;elemNumber&lt;/code&gt;: number of the element whose properties are to be queried or update<br /> * &lt;code&gt;elemProps&lt;/code&gt;: table that maps property names to property values<br /> <br /> The keys and values of &lt;code&gt;elemProps&lt;/code&gt; are the same as the &lt;code&gt;propName&lt;/code&gt; and &lt;code&gt;propValue&lt;/code&gt; parameters of [[#elements.property|elements.property]]. The query variant returns all properties of the element in &lt;code&gt;elemProps&lt;/code&gt; with the same caveats as [[#elements.property|elements.property]]. The update variant accepts any subset of properties, only updates the ones present in the table, applying the same checks as [[#elements.property|elements.property]].<br /> <br /> This function is commonly used to base an element off another element by first copying all properties of the source element and applying them to the new element, and then customizing the new element a bit afterwards:<br /> <br /> &lt;pre&gt;local purpleGold = elem.allocate(&amp;quot;EXAMPLE&amp;quot;, &amp;quot;PGLD&amp;quot;)<br /> assert(purpleGold ~= -1, &amp;quot;ran out of element numbers&amp;quot;)<br /> elem.element(purpleGold, elem.element(elem.DEFAULT_PT_GOLD))<br /> elem.property(purpleGold, &amp;quot;Name&amp;quot;, &amp;quot;PGLD&amp;quot;)<br /> elem.property(purpleGold, &amp;quot;Color&amp;quot;, 0x8040FF)&lt;/pre&gt;<br /> === elements.exists ===<br /> <br /> Check whether a number is a real element number and refers to an element.<br /> <br /> &lt;pre&gt;exists = elements.exists(elemNumber)&lt;/pre&gt;<br /> * &lt;code&gt;elemNumber&lt;/code&gt;: number of the element to be checked<br /> * &lt;code&gt;exists&lt;/code&gt;: boolean, &lt;code&gt;true&lt;/code&gt; if &lt;code&gt;elemNumber&lt;/code&gt; refers to an element<br /> <br /> If an element exists, there exists [[#elements.group_pt_iname|a corresponding &lt;code&gt;elements.[group]_PT_[iname]&lt;/code&gt; constant]], and conversely, if there exists such a constant, there exists a corresponding element.<br /> <br /> === elements.free ===<br /> <br /> Free a previously allocated element.<br /> <br /> &lt;pre&gt;elements.free(elemNumber)&lt;/pre&gt;<br /> * &lt;code&gt;elemNumber&lt;/code&gt;: number of the element to be freed<br /> <br /> The element number is freed and can used later by another script. Built-in elements, i.e. elements in the group &lt;code&gt;DEFAULT&lt;/code&gt;, cannot be freed.<br /> <br /> &lt;span id=&quot;elements.getbyname&quot;&gt;&lt;/span&gt;<br /> === elements.getByName ===<br /> <br /> Find an element by name, [[#elements.property|the &lt;code&gt;Name&lt;/code&gt; property]].<br /> <br /> &lt;pre&gt;elementNumber = elements.getByName(name)&lt;/pre&gt;<br /> * &lt;code&gt;name&lt;/code&gt;: string, the name to find the element by<br /> * &lt;code&gt;elemNumber&lt;/code&gt;: positive number of the element &lt;code&gt;name&lt;/code&gt; refers to, or &lt;code&gt;-1&lt;/code&gt; on error if no such element exists<br /> <br /> This function converts a human-friendly element name to an element number, essentially the same way the PROP tool or the console works.<br /> <br /> &lt;span id=&quot;elements.loaddefault&quot;&gt;&lt;/span&gt;<br /> === elements.loadDefault ===<br /> <br /> Restore the set of elements to its initial state at startup.<br /> <br /> &lt;pre&gt;elements.loadDefault()&lt;/pre&gt;<br /> This frees all elements created and resets all properties of all built-in elements to their defaults.<br /> <br /> === elements.property ===<br /> <br /> Query or update a property of an element.<br /> <br /> &lt;pre&gt;propValue = elements.property(elemNumber, propName) -- query variant<br /> elements.property(elemNumber, propName, propValue) -- update variant<br /> elements.property(elemNumber, &amp;quot;Update&amp;quot;, propValue, [runWhen]) -- special update variant for the Update property&lt;/pre&gt;<br /> * &lt;code&gt;elemNumber&lt;/code&gt;: number of the element whose property is to be queried or updated<br /> * &lt;code&gt;propName&lt;/code&gt;: string, name of the property to be queried or updated<br /> * &lt;code&gt;propValue&lt;/code&gt;: various types, value of the property to be queried or updated<br /> * &lt;code&gt;runWhen&lt;/code&gt;: number, specifies when the update function should be run, one of:<br /> ** &lt;code&gt;elements.UPDATE_AFTER&lt;/code&gt;: run before the built-in update function, this is the default<br /> ** &lt;code&gt;elements.UPDATE_REPLACE&lt;/code&gt;: run instead of the built-in update function<br /> ** &lt;code&gt;elements.UPDATE_BEFORE&lt;/code&gt;: run after the built-in update function<br /> <br /> The following table lists all element properties accessible via this function:<br /> <br /> {| class=&quot;wikitable&quot;<br /> |-<br /> ! &lt;code&gt;propName&lt;/code&gt;<br /> ! &lt;code&gt;propValue&lt;/code&gt; type<br /> ! description<br /> |-<br /> | &lt;code&gt;&amp;quot;Advection&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;AirDrag&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;AirLoss&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;CarriesTypeIn&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;ChangeType&amp;quot;&lt;/code&gt;<br /> | function<br /> | read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;Collision&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Color&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Create&amp;quot;&lt;/code&gt;<br /> | function<br /> | read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;CreateAllowed&amp;quot;&lt;/code&gt;<br /> | function<br /> | read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;CtypeDraw&amp;quot;&lt;/code&gt;<br /> | function<br /> | read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;DefaultProperties&amp;quot;&lt;/code&gt;<br /> | table<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Description&amp;quot;&lt;/code&gt;<br /> | string<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Diffusion&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Explosive&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Falldown&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Flammable&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Graphics&amp;quot;&lt;/code&gt;<br /> | function<br /> | read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;Gravity&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Hardness&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;HeatConduct&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;HighPressure&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;HighPressureTransition&amp;quot;&lt;/code&gt;<br /> | element number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;HighTemperature&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;HighTemperatureTransition&amp;quot;&lt;/code&gt;<br /> | element number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;HotAir&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Identifier&amp;quot;&lt;/code&gt;<br /> | string<br /> | element identifier, read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;Loss&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;LowPressure&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;LowPressureTransition&amp;quot;&lt;/code&gt;<br /> | element number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;LowTemperature&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;LowTemperatureTransition&amp;quot;&lt;/code&gt;<br /> | element number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Meltable&amp;quot;&lt;/code&gt;<br /> | &lt;code&gt;0&lt;/code&gt; or &lt;code&gt;1&lt;/code&gt;<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;MenuSection&amp;quot;&lt;/code&gt;<br /> | menu number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;MenuVisible&amp;quot;&lt;/code&gt;<br /> | &lt;code&gt;0&lt;/code&gt; or &lt;code&gt;1&lt;/code&gt;<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Name&amp;quot;&lt;/code&gt;<br /> | string<br /> | text that appears on the element button<br /> |-<br /> | &lt;code&gt;&amp;quot;NewtonianGravity&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;PhotonReflectWavelengths&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Properties&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Temperature&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |-<br /> | &lt;code&gt;&amp;quot;Update&amp;quot;&lt;/code&gt;<br /> | function<br /> | read-only<br /> |-<br /> | &lt;code&gt;&amp;quot;Weight&amp;quot;&lt;/code&gt;<br /> | number<br /> |<br /> |}<br /> <br /> &lt;code&gt;runWhen&lt;/code&gt; is not possible to specify with [[#elements.element|elements.element]].<br /> <br /> == event ==<br /> <br /> &lt;span id=&quot;event.getmodifiers&quot;&gt;&lt;/span&gt;<br /> === event.getModifiers ===<br /> <br /> === event.register ===<br /> <br /> === event.unregister ===<br /> <br /> &lt;span id=&quot;filesystem&quot;&gt;&lt;/span&gt;<br /> == fileSystem ==<br /> <br /> &lt;span id=&quot;filesystem.copy&quot;&gt;&lt;/span&gt;<br /> === fileSystem.copy ===<br /> <br /> &lt;span id=&quot;filesystem.exists&quot;&gt;&lt;/span&gt;<br /> === fileSystem.exists ===<br /> <br /> &lt;span id=&quot;filesystem.isdirectory&quot;&gt;&lt;/span&gt;<br /> === fileSystem.isDirectory ===<br /> <br /> &lt;span id=&quot;filesystem.isfile&quot;&gt;&lt;/span&gt;<br /> === fileSystem.isFile ===<br /> <br /> &lt;span id=&quot;filesystem.islink&quot;&gt;&lt;/span&gt;<br /> === fileSystem.isLink ===<br /> <br /> &lt;span id=&quot;filesystem.list&quot;&gt;&lt;/span&gt;<br /> === fileSystem.list ===<br /> <br /> &lt;span id=&quot;filesystem.makedirectory&quot;&gt;&lt;/span&gt;<br /> === fileSystem.makeDirectory ===<br /> <br /> &lt;span id=&quot;filesystem.move&quot;&gt;&lt;/span&gt;<br /> === fileSystem.move ===<br /> <br /> &lt;span id=&quot;filesystem.removedirectory&quot;&gt;&lt;/span&gt;<br /> === fileSystem.removeDirectory ===<br /> <br /> &lt;span id=&quot;filesystem.removefile&quot;&gt;&lt;/span&gt;<br /> === fileSystem.removeFile ===<br /> <br /> == graphics ==<br /> <br /> &lt;span id=&quot;graphics.drawcircle&quot;&gt;&lt;/span&gt;<br /> === graphics.drawCircle ===<br /> <br /> &lt;span id=&quot;graphics.drawline&quot;&gt;&lt;/span&gt;<br /> === graphics.drawLine ===<br /> <br /> &lt;span id=&quot;graphics.drawpixel&quot;&gt;&lt;/span&gt;<br /> === graphics.drawPixel ===<br /> <br /> &lt;span id=&quot;graphics.drawrect&quot;&gt;&lt;/span&gt;<br /> === graphics.drawRect ===<br /> <br /> &lt;span id=&quot;graphics.drawtext&quot;&gt;&lt;/span&gt;<br /> === graphics.drawText ===<br /> <br /> &lt;span id=&quot;graphics.fillcircle&quot;&gt;&lt;/span&gt;<br /> === graphics.fillCircle ===<br /> <br /> &lt;span id=&quot;graphics.fillrect&quot;&gt;&lt;/span&gt;<br /> === graphics.fillRect ===<br /> <br /> &lt;span id=&quot;graphics.getcolors&quot;&gt;&lt;/span&gt;<br /> === graphics.getColors ===<br /> <br /> &lt;span id=&quot;graphics.gethexcolor&quot;&gt;&lt;/span&gt;<br /> === graphics.getHexColor ===<br /> <br /> &lt;span id=&quot;graphics.setcliprect&quot;&gt;&lt;/span&gt;<br /> === graphics.setClipRect ===<br /> <br /> &lt;span id=&quot;graphics.textsize&quot;&gt;&lt;/span&gt;<br /> === graphics.textSize ===<br /> <br /> === constants ===<br /> <br /> == http ==<br /> <br /> === http.get ===<br /> <br /> &lt;span id=&quot;http.getauthtoken&quot;&gt;&lt;/span&gt;<br /> === http.getAuthToken ===<br /> <br /> === http.post ===<br /> <br /> == interface ==<br /> <br /> &lt;span id=&quot;interface.activemenu&quot;&gt;&lt;/span&gt;<br /> === interface.activeMenu ===<br /> <br /> &lt;span id=&quot;interface.activetool&quot;&gt;&lt;/span&gt;<br /> === interface.activeTool ===<br /> <br /> &lt;span id=&quot;interface.addcomponent&quot;&gt;&lt;/span&gt;<br /> === interface.addComponent ===<br /> <br /> &lt;span id=&quot;interface.beginconfirm&quot;&gt;&lt;/span&gt;<br /> === interface.beginConfirm ===<br /> <br /> &lt;span id=&quot;interface.begininput&quot;&gt;&lt;/span&gt;<br /> === interface.beginInput ===<br /> <br /> &lt;span id=&quot;interface.beginmessagebox&quot;&gt;&lt;/span&gt;<br /> === interface.beginMessageBox ===<br /> <br /> &lt;span id=&quot;interface.beginthrowerror&quot;&gt;&lt;/span&gt;<br /> === interface.beginThrowError ===<br /> <br /> &lt;span id=&quot;interface.brushid&quot;&gt;&lt;/span&gt;<br /> === interface.brushID ===<br /> <br /> &lt;span id=&quot;interface.brushradius&quot;&gt;&lt;/span&gt;<br /> === interface.brushRadius ===<br /> <br /> === interface.button ===<br /> <br /> === interface.checkbox ===<br /> <br /> &lt;span id=&quot;interface.closewindow&quot;&gt;&lt;/span&gt;<br /> === interface.closeWindow ===<br /> <br /> === interface.console ===<br /> <br /> &lt;span id=&quot;interface.droptextinput&quot;&gt;&lt;/span&gt;<br /> === interface.dropTextInput ===<br /> <br /> &lt;span id=&quot;interface.grabtextinput&quot;&gt;&lt;/span&gt;<br /> === interface.grabTextInput ===<br /> <br /> === interface.label ===<br /> <br /> &lt;span id=&quot;interface.menuenabled&quot;&gt;&lt;/span&gt;<br /> === interface.menuEnabled ===<br /> <br /> &lt;span id=&quot;interface.mouseposition&quot;&gt;&lt;/span&gt;<br /> === interface.mousePosition ===<br /> <br /> &lt;span id=&quot;interface.nummenus&quot;&gt;&lt;/span&gt;<br /> === interface.numMenus ===<br /> <br /> &lt;span id=&quot;interface.perfectcirclebrush&quot;&gt;&lt;/span&gt;<br /> === interface.perfectCircleBrush ===<br /> <br /> &lt;span id=&quot;interface.progressbar&quot;&gt;&lt;/span&gt;<br /> === interface.progressBar ===<br /> <br /> &lt;span id=&quot;interface.removecomponent&quot;&gt;&lt;/span&gt;<br /> === interface.removeComponent ===<br /> <br /> &lt;span id=&quot;interface.showwindow&quot;&gt;&lt;/span&gt;<br /> === interface.showWindow ===<br /> <br /> === interface.slider ===<br /> <br /> &lt;span id=&quot;interface.textinputrect&quot;&gt;&lt;/span&gt;<br /> === interface.textInputRect ===<br /> <br /> === interface.textbox ===<br /> <br /> === interface.window ===<br /> <br /> &lt;span id=&quot;interface.windowsize&quot;&gt;&lt;/span&gt;<br /> === interface.windowSize ===<br /> <br /> &lt;span id=&quot;constants-1&quot;&gt;&lt;/span&gt;<br /> === constants ===<br /> <br /> == platform ==<br /> <br /> &lt;span id=&quot;platform.clipboardcopy&quot;&gt;&lt;/span&gt;<br /> === platform.clipboardCopy ===<br /> <br /> &lt;span id=&quot;platform.clipboardpaste&quot;&gt;&lt;/span&gt;<br /> === platform.clipboardPaste ===<br /> <br /> &lt;span id=&quot;platform.exename&quot;&gt;&lt;/span&gt;<br /> === platform.exeName ===<br /> <br /> === platform.ident ===<br /> <br /> &lt;span id=&quot;platform.openlink&quot;&gt;&lt;/span&gt;<br /> === platform.openLink ===<br /> <br /> === platform.platform ===<br /> <br /> &lt;span id=&quot;platform.releasetype&quot;&gt;&lt;/span&gt;<br /> === platform.releaseType ===<br /> <br /> === platform.restart ===<br /> <br /> == renderer ==<br /> <br /> &lt;span id=&quot;renderer.colormode&quot;&gt;&lt;/span&gt;<br /> === renderer.colorMode ===<br /> <br /> &lt;span id=&quot;renderer.debughud&quot;&gt;&lt;/span&gt;<br /> === renderer.debugHud ===<br /> <br /> === renderer.decorations ===<br /> <br /> === renderer.depth3d ===<br /> <br /> &lt;span id=&quot;renderer.displaymodes&quot;&gt;&lt;/span&gt;<br /> === renderer.displayModes ===<br /> <br /> &lt;span id=&quot;renderer.firesize&quot;&gt;&lt;/span&gt;<br /> === renderer.fireSize ===<br /> <br /> === renderer.grid ===<br /> <br /> === renderer.hud ===<br /> <br /> &lt;span id=&quot;renderer.rendermodes&quot;&gt;&lt;/span&gt;<br /> === renderer.renderModes ===<br /> <br /> &lt;span id=&quot;renderer.showbrush&quot;&gt;&lt;/span&gt;<br /> === renderer.showBrush ===<br /> <br /> &lt;span id=&quot;renderer.usedisplaypreset&quot;&gt;&lt;/span&gt;<br /> === renderer.useDisplayPreset ===<br /> <br /> &lt;span id=&quot;renderer.zoomenabled&quot;&gt;&lt;/span&gt;<br /> === renderer.zoomEnabled ===<br /> <br /> &lt;span id=&quot;renderer.zoomscope&quot;&gt;&lt;/span&gt;<br /> === renderer.zoomScope ===<br /> <br /> &lt;span id=&quot;renderer.zoomwindow&quot;&gt;&lt;/span&gt;<br /> === renderer.zoomWindow ===<br /> <br /> == simulation ==<br /> <br /> &lt;span id=&quot;simulation.addcustomgol&quot;&gt;&lt;/span&gt;<br /> === simulation.addCustomGol ===<br /> <br /> &lt;span id=&quot;simulation.adjustcoords&quot;&gt;&lt;/span&gt;<br /> === simulation.adjustCoords ===<br /> <br /> &lt;span id=&quot;simulation.airmode&quot;&gt;&lt;/span&gt;<br /> === simulation.airMode ===<br /> <br /> &lt;span id=&quot;simulation.ambientairtemp&quot;&gt;&lt;/span&gt;<br /> === simulation.ambientAirTemp ===<br /> <br /> &lt;span id=&quot;simulation.ambientheat&quot;&gt;&lt;/span&gt;<br /> === simulation.ambientHeat ===<br /> <br /> &lt;span id=&quot;simulation.ambientheatsim&quot;&gt;&lt;/span&gt;<br /> === simulation.ambientHeatSim ===<br /> <br /> === simulation.brush ===<br /> <br /> &lt;span id=&quot;simulation.canmove&quot;&gt;&lt;/span&gt;<br /> === simulation.canMove ===<br /> <br /> &lt;span id=&quot;simulation.clearrect&quot;&gt;&lt;/span&gt;<br /> === simulation.clearRect ===<br /> <br /> &lt;span id=&quot;simulation.clearsim&quot;&gt;&lt;/span&gt;<br /> === simulation.clearSim ===<br /> <br /> &lt;span id=&quot;simulation.createbox&quot;&gt;&lt;/span&gt;<br /> === simulation.createBox ===<br /> <br /> &lt;span id=&quot;simulation.createline&quot;&gt;&lt;/span&gt;<br /> === simulation.createLine ===<br /> <br /> &lt;span id=&quot;simulation.createparts&quot;&gt;&lt;/span&gt;<br /> === simulation.createParts ===<br /> <br /> &lt;span id=&quot;simulation.createwallbox&quot;&gt;&lt;/span&gt;<br /> === simulation.createWallBox ===<br /> <br /> &lt;span id=&quot;simulation.createwallline&quot;&gt;&lt;/span&gt;<br /> === simulation.createWallLine ===<br /> <br /> &lt;span id=&quot;simulation.createwalls&quot;&gt;&lt;/span&gt;<br /> === simulation.createWalls ===<br /> <br /> &lt;span id=&quot;simulation.customgravity&quot;&gt;&lt;/span&gt;<br /> === simulation.customGravity ===<br /> <br /> &lt;span id=&quot;simulation.decobox&quot;&gt;&lt;/span&gt;<br /> === simulation.decoBox ===<br /> <br /> &lt;span id=&quot;simulation.decobrush&quot;&gt;&lt;/span&gt;<br /> === simulation.decoBrush ===<br /> <br /> &lt;span id=&quot;simulation.decocolor&quot;&gt;&lt;/span&gt;<br /> === simulation.decoColor ===<br /> <br /> &lt;span id=&quot;simulation.decoline&quot;&gt;&lt;/span&gt;<br /> === simulation.decoLine ===<br /> <br /> &lt;span id=&quot;simulation.decospace&quot;&gt;&lt;/span&gt;<br /> === simulation.decoSpace ===<br /> <br /> &lt;span id=&quot;simulation.deletestamp&quot;&gt;&lt;/span&gt;<br /> === simulation.deleteStamp ===<br /> <br /> &lt;span id=&quot;simulation.edgemode&quot;&gt;&lt;/span&gt;<br /> === simulation.edgeMode ===<br /> <br /> &lt;span id=&quot;simulation.elecmap&quot;&gt;&lt;/span&gt;<br /> === simulation.elecMap ===<br /> <br /> &lt;span id=&quot;simulation.elementcount&quot;&gt;&lt;/span&gt;<br /> === simulation.elementCount ===<br /> <br /> &lt;span id=&quot;simulation.fanvelocityx&quot;&gt;&lt;/span&gt;<br /> === simulation.fanVelocityX ===<br /> <br /> &lt;span id=&quot;simulation.fanvelocityy&quot;&gt;&lt;/span&gt;<br /> === simulation.fanVelocityY ===<br /> <br /> &lt;span id=&quot;simulation.flooddeco&quot;&gt;&lt;/span&gt;<br /> === simulation.floodDeco ===<br /> <br /> &lt;span id=&quot;simulation.floodparts&quot;&gt;&lt;/span&gt;<br /> === simulation.floodParts ===<br /> <br /> &lt;span id=&quot;simulation.floodwalls&quot;&gt;&lt;/span&gt;<br /> === simulation.floodWalls ===<br /> <br /> &lt;span id=&quot;simulation.framerender&quot;&gt;&lt;/span&gt;<br /> === simulation.frameRender ===<br /> <br /> &lt;span id=&quot;simulation.getsaveid&quot;&gt;&lt;/span&gt;<br /> === simulation.getSaveID ===<br /> <br /> &lt;span id=&quot;simulation.golspeedratio&quot;&gt;&lt;/span&gt;<br /> === simulation.golSpeedRatio ===<br /> <br /> &lt;span id=&quot;simulation.gravityfield&quot;&gt;&lt;/span&gt;<br /> === simulation.gravityField ===<br /> <br /> &lt;span id=&quot;simulation.gravitygrid&quot;&gt;&lt;/span&gt;<br /> === simulation.gravityGrid ===<br /> <br /> &lt;span id=&quot;simulation.gravitymass&quot;&gt;&lt;/span&gt;<br /> === simulation.gravityMass ===<br /> <br /> &lt;span id=&quot;simulation.gravitymode&quot;&gt;&lt;/span&gt;<br /> === simulation.gravityMode ===<br /> <br /> &lt;span id=&quot;simulation.heatsim&quot;&gt;&lt;/span&gt;<br /> === simulation.heatSim ===<br /> <br /> &lt;span id=&quot;simulation.historyforward&quot;&gt;&lt;/span&gt;<br /> === simulation.historyForward ===<br /> <br /> &lt;span id=&quot;simulation.historyrestore&quot;&gt;&lt;/span&gt;<br /> === simulation.historyRestore ===<br /> <br /> &lt;span id=&quot;simulation.lastupdatedid&quot;&gt;&lt;/span&gt;<br /> === simulation.lastUpdatedID ===<br /> <br /> &lt;span id=&quot;simulation.listcustomgol&quot;&gt;&lt;/span&gt;<br /> === simulation.listCustomGol ===<br /> <br /> &lt;span id=&quot;simulation.liststamps&quot;&gt;&lt;/span&gt;<br /> === simulation.listStamps ===<br /> <br /> &lt;span id=&quot;simulation.loadsave&quot;&gt;&lt;/span&gt;<br /> === simulation.loadSave ===<br /> <br /> &lt;span id=&quot;simulation.loadstamp&quot;&gt;&lt;/span&gt;<br /> === simulation.loadStamp ===<br /> <br /> === simulation.neighbors ===<br /> <br /> &lt;span id=&quot;simulation.newtoniangravity&quot;&gt;&lt;/span&gt;<br /> === simulation.newtonianGravity ===<br /> <br /> &lt;span id=&quot;simulation.partchangetype&quot;&gt;&lt;/span&gt;<br /> === simulation.partChangeType ===<br /> <br /> &lt;span id=&quot;simulation.partcount&quot;&gt;&lt;/span&gt;<br /> === simulation.partCount ===<br /> <br /> &lt;span id=&quot;simulation.partcreate&quot;&gt;&lt;/span&gt;<br /> === simulation.partCreate ===<br /> <br /> &lt;span id=&quot;simulation.partexists&quot;&gt;&lt;/span&gt;<br /> === simulation.partExists ===<br /> <br /> &lt;span id=&quot;simulation.partid&quot;&gt;&lt;/span&gt;<br /> === simulation.partID ===<br /> <br /> &lt;span id=&quot;simulation.partkill&quot;&gt;&lt;/span&gt;<br /> === simulation.partKill ===<br /> <br /> &lt;span id=&quot;simulation.partneighbors&quot;&gt;&lt;/span&gt;<br /> === simulation.partNeighbors ===<br /> <br /> &lt;span id=&quot;simulation.partposition&quot;&gt;&lt;/span&gt;<br /> === simulation.partPosition ===<br /> <br /> &lt;span id=&quot;simulation.partproperty&quot;&gt;&lt;/span&gt;<br /> === simulation.partProperty ===<br /> <br /> === simulation.parts ===<br /> <br /> === simulation.paused ===<br /> <br /> === simulation.photons ===<br /> <br /> === simulation.pmap ===<br /> <br /> === simulation.pressure ===<br /> <br /> &lt;span id=&quot;simulation.prettypowders&quot;&gt;&lt;/span&gt;<br /> === simulation.prettyPowders ===<br /> <br /> &lt;span id=&quot;simulation.reloadsave&quot;&gt;&lt;/span&gt;<br /> === simulation.reloadSave ===<br /> <br /> &lt;span id=&quot;simulation.removecustomgol&quot;&gt;&lt;/span&gt;<br /> === simulation.removeCustomGol ===<br /> <br /> &lt;span id=&quot;simulation.replacemodeflags&quot;&gt;&lt;/span&gt;<br /> === simulation.replaceModeFlags ===<br /> <br /> &lt;span id=&quot;simulation.resetgravityfield&quot;&gt;&lt;/span&gt;<br /> === simulation.resetGravityField ===<br /> <br /> &lt;span id=&quot;simulation.resetpressure&quot;&gt;&lt;/span&gt;<br /> === simulation.resetPressure ===<br /> <br /> &lt;span id=&quot;simulation.resetspark&quot;&gt;&lt;/span&gt;<br /> === simulation.resetSpark ===<br /> <br /> &lt;span id=&quot;simulation.resettemp&quot;&gt;&lt;/span&gt;<br /> === simulation.resetTemp ===<br /> <br /> &lt;span id=&quot;simulation.resetvelocity&quot;&gt;&lt;/span&gt;<br /> === simulation.resetVelocity ===<br /> <br /> &lt;span id=&quot;simulation.savestamp&quot;&gt;&lt;/span&gt;<br /> === simulation.saveStamp ===<br /> <br /> === simulation.signs ===<br /> <br /> &lt;span id=&quot;simulation.signs-constants&quot;&gt;&lt;/span&gt;<br /> === simulation.signs constants ===<br /> <br /> &lt;span id=&quot;simulation.signsn&quot;&gt;&lt;/span&gt;<br /> === simulation.signs[n] ===<br /> <br /> === simulation.signs.new ===<br /> <br /> === simulation.signs.delete ===<br /> <br /> &lt;span id=&quot;simulation.takesnapshot&quot;&gt;&lt;/span&gt;<br /> === simulation.takeSnapshot ===<br /> <br /> &lt;span id=&quot;simulation.temperaturescale&quot;&gt;&lt;/span&gt;<br /> === simulation.temperatureScale ===<br /> <br /> &lt;span id=&quot;simulation.toolbox&quot;&gt;&lt;/span&gt;<br /> === simulation.toolBox ===<br /> <br /> &lt;span id=&quot;simulation.toolbrush&quot;&gt;&lt;/span&gt;<br /> === simulation.toolBrush ===<br /> <br /> &lt;span id=&quot;simulation.toolline&quot;&gt;&lt;/span&gt;<br /> === simulation.toolLine ===<br /> <br /> &lt;span id=&quot;simulation.updateupto&quot;&gt;&lt;/span&gt;<br /> === simulation.updateUpTo ===<br /> <br /> &lt;span id=&quot;simulation.velocityx&quot;&gt;&lt;/span&gt;<br /> === simulation.velocityX ===<br /> <br /> &lt;span id=&quot;simulation.velocityy&quot;&gt;&lt;/span&gt;<br /> === simulation.velocityY ===<br /> <br /> &lt;span id=&quot;simulation.wallmap&quot;&gt;&lt;/span&gt;<br /> === simulation.wallMap ===<br /> <br /> === simulation.walls ===<br /> <br /> &lt;span id=&quot;simulation.wallsid&quot;&gt;&lt;/span&gt;<br /> === simulation.walls[id] ===<br /> <br /> &lt;span id=&quot;simulation.walls.wl&quot;&gt;&lt;/span&gt;<br /> === simulation.walls.''''WL'''' ===<br /> <br /> &lt;span id=&quot;simulation.waterequalization&quot;&gt;&lt;/span&gt;<br /> === simulation.waterEqualization ===<br /> <br /> &lt;span id=&quot;constants-2&quot;&gt;&lt;/span&gt;<br /> === constants ===<br /> <br /> == socket ==<br /> <br /> &lt;span id=&quot;socket.gettime&quot;&gt;&lt;/span&gt;<br /> === socket.getTime ===<br /> <br /> === socket.sleep ===<br /> <br /> === socket.tcp ===<br /> <br /> == tpt ==<br /> <br /> === tpt.debug ===<br /> <br /> &lt;span id=&quot;tpt.drawcap&quot;&gt;&lt;/span&gt;<br /> === tpt.drawCap ===<br /> <br /> &lt;span id=&quot;tpt.fpscap&quot;&gt;&lt;/span&gt;<br /> === tpt.fpsCap ===<br /> <br /> &lt;span id=&quot;tpt.getusername&quot;&gt;&lt;/span&gt;<br /> === tpt.getUserName ===<br /> <br /> &lt;span id=&quot;tpt.installscriptmanager&quot;&gt;&lt;/span&gt;<br /> === tpt.installScriptManager ===<br /> <br /> === tpt.log ===<br /> <br /> === tpt.record ===<br /> <br /> === tpt.screenshot ===<br /> <br /> === tpt.version ===<br /> <br /> &lt;span id=&quot;button&quot;&gt;&lt;/span&gt;<br /> == Button ==<br /> <br /> &lt;span id=&quot;buttonaction&quot;&gt;&lt;/span&gt;<br /> === Button:action ===<br /> <br /> &lt;span id=&quot;buttonenabled&quot;&gt;&lt;/span&gt;<br /> === Button:enabled ===<br /> <br /> &lt;span id=&quot;buttonposition&quot;&gt;&lt;/span&gt;<br /> === Button:position ===<br /> <br /> &lt;span id=&quot;buttonsize&quot;&gt;&lt;/span&gt;<br /> === Button:size ===<br /> <br /> &lt;span id=&quot;buttontext&quot;&gt;&lt;/span&gt;<br /> === Button:text ===<br /> <br /> &lt;span id=&quot;buttonvisible&quot;&gt;&lt;/span&gt;<br /> === Button:visible ===<br /> <br /> &lt;span id=&quot;checkbox&quot;&gt;&lt;/span&gt;<br /> == Checkbox ==<br /> <br /> &lt;span id=&quot;checkboxaction&quot;&gt;&lt;/span&gt;<br /> === Checkbox:action ===<br /> <br /> &lt;span id=&quot;checkboxchecked&quot;&gt;&lt;/span&gt;<br /> === Checkbox:checked ===<br /> <br /> &lt;span id=&quot;checkboxposition&quot;&gt;&lt;/span&gt;<br /> === Checkbox:position ===<br /> <br /> &lt;span id=&quot;checkboxsize&quot;&gt;&lt;/span&gt;<br /> === Checkbox:size ===<br /> <br /> &lt;span id=&quot;checkboxtext&quot;&gt;&lt;/span&gt;<br /> === Checkbox:text ===<br /> <br /> &lt;span id=&quot;checkboxvisible&quot;&gt;&lt;/span&gt;<br /> === Checkbox:visible ===<br /> <br /> &lt;span id=&quot;label&quot;&gt;&lt;/span&gt;<br /> == Label ==<br /> <br /> &lt;span id=&quot;labelposition&quot;&gt;&lt;/span&gt;<br /> === Label:position ===<br /> <br /> &lt;span id=&quot;labelsize&quot;&gt;&lt;/span&gt;<br /> === Label:size ===<br /> <br /> &lt;span id=&quot;labeltext&quot;&gt;&lt;/span&gt;<br /> === Label:text ===<br /> <br /> &lt;span id=&quot;labelvisible&quot;&gt;&lt;/span&gt;<br /> === Label:visible ===<br /> <br /> &lt;span id=&quot;progressbar&quot;&gt;&lt;/span&gt;<br /> == ProgressBar ==<br /> <br /> &lt;span id=&quot;progressbarposition&quot;&gt;&lt;/span&gt;<br /> === ProgressBar:position ===<br /> <br /> &lt;span id=&quot;progressbarprogress&quot;&gt;&lt;/span&gt;<br /> === ProgressBar:progress ===<br /> <br /> &lt;span id=&quot;progressbarsize&quot;&gt;&lt;/span&gt;<br /> === ProgressBar:size ===<br /> <br /> &lt;span id=&quot;progressbarstatus&quot;&gt;&lt;/span&gt;<br /> === ProgressBar:status ===<br /> <br /> &lt;span id=&quot;progressbarvisible&quot;&gt;&lt;/span&gt;<br /> === ProgressBar:visible ===<br /> <br /> &lt;span id=&quot;slider&quot;&gt;&lt;/span&gt;<br /> == Slider ==<br /> <br /> &lt;span id=&quot;slideronvaluechanged&quot;&gt;&lt;/span&gt;<br /> === Slider:onValueChanged ===<br /> <br /> &lt;span id=&quot;sliderposition&quot;&gt;&lt;/span&gt;<br /> === Slider:position ===<br /> <br /> &lt;span id=&quot;slidersize&quot;&gt;&lt;/span&gt;<br /> === Slider:size ===<br /> <br /> &lt;span id=&quot;slidersteps&quot;&gt;&lt;/span&gt;<br /> === Slider:steps ===<br /> <br /> &lt;span id=&quot;slidervalue&quot;&gt;&lt;/span&gt;<br /> === Slider:value ===<br /> <br /> &lt;span id=&quot;slidervisible&quot;&gt;&lt;/span&gt;<br /> === Slider:visible ===<br /> <br /> &lt;span id=&quot;textbox&quot;&gt;&lt;/span&gt;<br /> == Textbox ==<br /> <br /> &lt;span id=&quot;textboxontextchanged&quot;&gt;&lt;/span&gt;<br /> === Textbox:onTextChanged ===<br /> <br /> &lt;span id=&quot;textboxposition&quot;&gt;&lt;/span&gt;<br /> === Textbox:position ===<br /> <br /> &lt;span id=&quot;textboxreadonly&quot;&gt;&lt;/span&gt;<br /> === Textbox:readonly ===<br /> <br /> &lt;span id=&quot;textboxsize&quot;&gt;&lt;/span&gt;<br /> === Textbox:size ===<br /> <br /> &lt;span id=&quot;textboxtext&quot;&gt;&lt;/span&gt;<br /> === Textbox:text ===<br /> <br /> &lt;span id=&quot;textboxvisible&quot;&gt;&lt;/span&gt;<br /> === Textbox:visible ===<br /> <br /> &lt;span id=&quot;window&quot;&gt;&lt;/span&gt;<br /> == Window ==<br /> <br /> &lt;span id=&quot;windowaddcomponent&quot;&gt;&lt;/span&gt;<br /> === Window:addComponent ===<br /> <br /> &lt;span id=&quot;windowonblur&quot;&gt;&lt;/span&gt;<br /> === Window:onBlur ===<br /> <br /> &lt;span id=&quot;windowondraw&quot;&gt;&lt;/span&gt;<br /> === Window:onDraw ===<br /> <br /> &lt;span id=&quot;windowonexit&quot;&gt;&lt;/span&gt;<br /> === Window:onExit ===<br /> <br /> &lt;span id=&quot;windowonfocus&quot;&gt;&lt;/span&gt;<br /> === Window:onFocus ===<br /> <br /> &lt;span id=&quot;windowoninitialized&quot;&gt;&lt;/span&gt;<br /> === Window:onInitialized ===<br /> <br /> &lt;span id=&quot;windowonkeypress&quot;&gt;&lt;/span&gt;<br /> === Window:onKeyPress ===<br /> <br /> &lt;span id=&quot;windowonkeyrelease&quot;&gt;&lt;/span&gt;<br /> === Window:onKeyRelease ===<br /> <br /> &lt;span id=&quot;windowonmousedown&quot;&gt;&lt;/span&gt;<br /> === Window:onMouseDown ===<br /> <br /> &lt;span id=&quot;windowonmousemove&quot;&gt;&lt;/span&gt;<br /> === Window:onMouseMove ===<br /> <br /> &lt;span id=&quot;windowonmouseup&quot;&gt;&lt;/span&gt;<br /> === Window:onMouseUp ===<br /> <br /> &lt;span id=&quot;windowonmousewheel&quot;&gt;&lt;/span&gt;<br /> === Window:onMouseWheel ===<br /> <br /> &lt;span id=&quot;windowontick&quot;&gt;&lt;/span&gt;<br /> === Window:onTick ===<br /> <br /> &lt;span id=&quot;windowontryexit&quot;&gt;&lt;/span&gt;<br /> === Window:onTryExit ===<br /> <br /> &lt;span id=&quot;windowontryokay&quot;&gt;&lt;/span&gt;<br /> === Window:onTryOkay ===<br /> <br /> &lt;span id=&quot;windowposition&quot;&gt;&lt;/span&gt;<br /> === Window:position ===<br /> <br /> &lt;span id=&quot;windowremovecomponent&quot;&gt;&lt;/span&gt;<br /> === Window:removeComponent ===<br /> <br /> &lt;span id=&quot;windowsize&quot;&gt;&lt;/span&gt;<br /> === Window:size ===</div> LBPHacker