Difference between revisions of "Pikmin 2 area generator file"

From Pikmin Technical Knowledge Base
Jump to navigation Jump to search
m (→‎Entity: removed false information)
(12 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
An area's generator files can be found in <code>/user/Abe/map/*</code>. Amongst these, the <code>loop</code> and <code>nonloop</code> folders, as well as the <code>defaultgen.txt</code>, <code>initgen.txt</code>, and <code>plantsgen.txt</code> contain data for what objects to spawn in the area, and how. These text files must be encoded in Shift-JIS, or at least ASCII. To avoid any issues, use [https://notepad-plus-plus.org/download/v7.5.6.html Notepad++] and check the encoding in the bottom right.
 
An area's generator files can be found in <code>/user/Abe/map/*</code>. Amongst these, the <code>loop</code> and <code>nonloop</code> folders, as well as the <code>defaultgen.txt</code>, <code>initgen.txt</code>, and <code>plantsgen.txt</code> contain data for what objects to spawn in the area, and how. These text files must be encoded in Shift-JIS, or at least ASCII. To avoid any issues, use [https://notepad-plus-plus.org/download/v7.5.6.html Notepad++] and check the encoding in the bottom right.
  
The <code>loop</code> and <code>nonloop</code> folders have intriguing file-naming formats. They likely mean something, and it's likely related to the days. Possibilities:
+
The <code>loop</code> and <code>nonloop</code> folders have intriguing file-naming formats. They indicate a range of days, where the day numbering is one less than what day is displayed to players. For example, consider the following files in <code>tutorial/nonloop</code>:
* <code>&lt;starting day&gt;-&lt;ending day&gt;.txt</code>
+
<code>1-2.txt</code>, <code>1-4.txt</code>, <code>2-2.txt</code>, <code>3-9.txt</code>. On day 3, the entities in the first 3 files will run their generation procedure, but not the entities in <code>3-9.txt</code>. Files in <code>loop</code> are similar, but somewhat more complicated, and require more research.
* <code>&lt;starting day&gt;-&lt;number of days&gt.txt</code>
 
  
 
===== Example =====
 
===== Example =====
Line 41: Line 40:
  
 
==Entity==
 
==Entity==
Underneath that in the brackets is the actual entity; in the above example, the Hocotate Ship. Everything above <code># pos</code> seems to be debug info for the original programmers with no effect on the entity(enemy or object) itself, EXCEPT for <code># reserved</code> which if set to zero, the object will only ever load once, and <code># 復活日数</code> underneath that, which controls how many days it takes to respawn(if set to zero, it will respawn always, even after leaving a cave). The numbers next to <code># pos</code> are the entity's x, y, and z coordinates. To find a point's coordinates in a level use 3DS Max or Super Mario Sunshine (SMS) Bin Editor. In <code># offset</code> are more x y z coordinates that will "offset" or move the entity over more by the amount specified. This value is not used in-game and is basically redundant. Under that is the Entity's class, for example <code>{item} {0002}</code>. Further still under that in the brackets is the <code># item id</code>. Finally, entities have 3 <code># rotation</code> values, to rotate it a number of degrees on the x, y, or z axis, respectively. To keep an object upright only change the y parameter. Under that lie the Entity's unique parameters.
+
Underneath that in the brackets is the actual entity; in the above example, the Hocotate Ship. Everything above <code># pos</code> seems to be debug info for the original programmers with no effect on the entity(enemy or object) itself, EXCEPT for <code># reserved</code> which if set to zero, the object will only ever load once, and <code># 復活日数</code> underneath that, which controls how many days it takes to respawn(if set to zero, it will respawn always, even after leaving a cave). The numbers next to <code># pos</code> are the entity's x, y, and z coordinates. To find a point's coordinates in a level use 3ds Max or Yoshi2's Pikmin 2 Gen Editor. In <code># offset</code> are more x y z coordinates that will "offset" or move the entity over more by the amount specified. Under that is the Entity's class, for example <code>{item} {0002}</code>. Further still under that in the brackets is the <code># item id</code>. Finally, entities have 3 <code># rotation</code> values, to rotate it a number of degrees on the x, y, or z axis, respectively. To keep an object upright only change the y parameter. Under that lie the Entity's unique parameters.
 
There are multiple types of Entities in the Overworld, with differing parameters. These include...
 
There are multiple types of Entities in the Overworld, with differing parameters. These include...
  
Line 50: Line 49:
 
#* Some living things as well, like Burgeoning Spirderwort and the Ujadani.
 
#* Some living things as well, like Burgeoning Spirderwort and the Ujadani.
 
# '''"{piki} {0001}"'''
 
# '''"{piki} {0001}"'''
#* Includes all five types of Pikmin, spawning any into overworld is possible.
+
#* Includes the main five types of Pikmin.
#* Also seems to deal with Submerged Castle's Blues only code.
 
 
# '''{teki} {0005}'''
 
# '''{teki} {0005}'''
 
#* Includes all things in the Piklopedia; that is to say, enemies.
 
#* Includes all things in the Piklopedia; that is to say, enemies.
Line 61: Line 59:
  
 
{| class="wikitable sortable"
 
{| class="wikitable sortable"
! Item Id || Parameters || Notes
+
! Item ID || Parameters || Notes
 
|-
 
|-
| {onyn} (onion/ship) || <code>x # onyon index x # after boot? true==1</code>  || Index 4 = Hocotate Ship, Index 2 = Yellow Onion, Index 1 = Red Onion, Index 0 = Blue Onion, 0 after boot = Onion leaves after a day, 1 after boot = Onion stays for good
+
| {onyn} (onion/ship) || <code>x # onyon index</code><br><code>x # after boot? true==1</code>  || index: 0=Blue Onion 1=Red Onion 2=Yellow Onion 4=Ship<br>after boot: 0 = wild Onion, only spawns if you haven't recruited that color; 1 = landing site, only spawns if you've already recruited that color
 
|-
 
|-
| {piki} (pikmin) || <code>{p000} 4 x # 色 {p001} 4 x # 数 {p002} 4 x # 自活(1=yes) {_eof} </code> || {p000} 0 = Blue 1 = Red 2 = Yellow 3 = Purple 4 = White, {p001} x = # of Pikmin, {p002} 0 for idle Pikmin, 1 if otherwise '''The fours are part of the code'''  
+
| {piki} (wild Pikmin) || <code>{p000} 4 x</code><br><code># 色 {p001} 4 x </code><br><code># 数 {p002} 4 x</code><br><code># 自活(1=yes) {_eof} </code> || {p000} 0=Blue 1=Red 2=Yellow 3=Purple 4=White. Attempting to spawn Bulbmin or Pikpik carrots crashes the game.<br>{p001} x = number of Pikmin<br>{p002} 1 = wild Pikmin, 0 = unused, intended for an E3 version '''The fours are part of the code'''  
 
|-
 
|-
| {cave} (caves) || <code>x.txt units.txt {x_XX} # id (for stages.txt) # FogParm { {fg00} - {fg09} }</code> || First is the caveinfo file, second does nothing, next is the stages.txt id, which includes text and hazard warning data. {fg00} through {fg03} deal with fog zone start and end, how fast it starts and how long it lingers, {fg04} through {fg06} are the colors of the fog, and {fg07} through {fg09} deal with the distances the fog spreads out when inside, when it appears, and when it disspates. '''The fours are part of the code'''
+
| {cave} (caves) || <code>x.txt</code><br><code>units.txt</code><br><code>{x_XX}</code><br><code># id (for stages.txt) </code><br><code># FogParm { {fg00} - {fg09} }</code> || First text file is the caveinfo file name; units.txt does nothing.<br>{x_XX} is the [[Pikmin_2_identifiers#Caves|cave ID]], used for name, hazard data, and various hardcoded boss behavior. The final digit of the ID is also the music index in BgmList.<br>{fg00} through {fg03} deal with fog zone start and end, how fast it starts and how long it lingers<br>{fg04} through {fg06} are the colors of the fog<br>{fg07} through {fg09} deal with the distances the fog spreads out when inside, when it appears, and when it disspates.<br>'''The fours are part of the code'''
 
|-
 
|-
| {teki} (enemies, plants, and hazards) || <code>x # teki x # teki_birth_type x # teki_num x.000000 # face direction x # 0:point 1:circle x.000000 # appear radius x.000000 # enemy size x # お宝アイテムコード x # Pellet color x # Pellet size x # Pellet Min x # Pellet Max x.000000 # Pellet Min</code> || Has it's own section down below.
+
| {teki} (enemies, plants, and hazards) || [[#Teki|See below]] ||  
 
|-
 
|-
| {pelt} (treasure) || <code>x } under pellet local version</code> ||The [[Pikmin 2 identifiers#Treasures|Treasure's ID]]
+
| {pelt} (carriable objects) || <code>X  # mgr id</code><br><code>X.000000 X.000000 X.000000 # rotation</code><br><code>{0000} # pellet local version</code><br><code>XXX</code> || <code>mgr id</code> is the carriable object type: 0=pellets, 3=normal treasures, 4=Exploration Kit treasures. Other values are untested.<br>The line after <code>pellet local version</code> is the [[Pikmin 2 identifiers#Treasures|treasure ID]] for treasures.
 
|-
 
|-
| {brdg} (stick bridges) || <code>x  #橋タイプ</code> ||0 = short bridge 1 = slope bridge 2 = long bridge
+
| {brdg} (stick bridges) || <code>x  #橋タイプ</code> ||0 = short bridge 1 = sloped bridge 2 = long bridge
 
|-
 
|-
| {gate} (bramble gates) || <code>x.000000 #ライフ x #Color </code> ||First parameter is the gate's HP, second is the gate's color. 1 for black, 0 for white
+
| {gate} (bramble gates) || <code>x.000000 #ライフ </code><br><code>x #Color </code> ||First parameter is the gate's HP, second is the gate's color. 1 for black, 0 for white
 
|-
 
|-
 
| {dgat} (electric gates) || <code>x.000000 #ライフ</code> ||The gate's health. Only comes in one color.
 
| {dgat} (electric gates) || <code>x.000000 #ライフ</code> ||The gate's health. Only comes in one color.
 
|-
 
|-
| {rock} (spiderwort mold) || <code>{0000} # item local version</code> ||Unknown effect. It is in fact called {rock}.
+
| {rock} (spiderwort mold) || || Mold is actually called <code>{rock}</code> internally.
 
|-
 
|-
| {barl} (rock clog) || <code>{0000} # item local version</code> ||Unknown effect. Rock clogs really are called {barl}
+
| {barl} (rock clog) || || When destroyed, a clog will drain any waterbox it's placed inside; the waterbox is not specified here. A clogged cave entrance is simply a <code>{barl}</code> and <code>{cave}</code> at the same coordinates.
 
|-
 
|-
| {plnt} (burgeoning spiderwort) || <code>x  #実タイプ</code> ||What kind of berries it grows. 0 for red, 1 for blue, 2 for a mix of both.
+
| {plnt} (Burgeoning Spiderwort) || <code>x  #実タイプ</code> ||What kind of berries it grows. 0=spicy 1=bitter 2=mixed.
 
|-
 
|-
| {ujms} (ujadani bugs) || <code>x #うじゃ王数</code> ||Number of bugs in the group.
+
| {ujms} (Ujadani bugs) || <code>x #うじゃ王数</code> ||Number of bugs in the group.
 
|-
 
|-
| {weed} (nectar grass/pebble) || <code>x #うじゃ王数 x #石か草か</code> || x #1 = amount of grass x #2 = 0 for stone, 1 for nectar grass  
+
| {weed} (nectar grass/rocks) || <code>x #うじゃ王数 </code><br><code>x #石か草か</code> || <code>うじゃ王数</code>: amount of grass/rocks<br><code>石か草か</code>: 0=rocks, 1=grass  
 
|-
 
|-
| <code>under construction</code> || x || '''Temporary'''.
+
| {dwfl} (downfloors: weight blocks and paper bags) || <code>x #沈み人数 </code><br><code>x #type </code><br><code>x # 1:seesaw</code><br><code>{XXXX} # id</code> || <code>沈み人数</code>: weight required to press. Only used if <code>1:seesaw</code> is 0. The weight is visible on seesaw blocks but has no effect.<br><code>type</code>: 0=small block, 1=large block, 2=paper bag<br><code>1:seesaw</code>: 0=press permanently, 1=seesaw.<br><code>id</code>: Only used for seesaw blocks. Set 2 blocks to the same ID to pair them.  
 
|-
 
|-
 
|}
 
|}
Line 100: Line 98:
 
! Parameter || Notes
 
! Parameter || Notes
 
|-
 
|-
| <code>x # teki</code> || x.000000 #ライフ
+
| <code>x # teki</code> || The [[Pikmin 2 identifiers#Enemies_and_other_objects|Enemy's ID]].  
 
|-
 
|-
| <code>x # teki_birth_type</code> || {0000} # item local version
+
| <code>x # teki_birth_type</code> || 0 = Normal, 1 = Falls from the sky
 
|-
 
|-
| <code>x # teki_num</code> || {0000} # item local version
+
| <code>x # teki_num</code> || Number of enemies to spawn, used if <code># 0:point 1:circle</code> is >= 2.
 
|-
 
|-
| <code>x.000000 # face direction</code> || x  #実タイプ
+
| <code>x.000000 # face direction</code> || Direction it faces, in degrees.
 
|-
 
|-
| <code>x # 0:point 1:circle</code> || x #うじゃ王数
+
| <code>x # 0:point 1:circle</code> || 1 or less = Single, 2 or more = Multiple
 
|-
 
|-
| <code>x.000000 # appear radius</code> || x #うじゃ王数 x #石か草か
+
| <code>x.000000 # appear radius</code> || Radius the enemy can spawn in, around the specified coordinates. Set to 0 to disable.
 
|-
 
|-
| <code>x.000000 # enemy size</code> || x #うじゃ王数 x #石か草か
+
| <code>x.000000 # enemy size</code> || Unknown
 
|-
 
|-
| <code>x # お宝アイテムコード</code> || x #うじゃ王数 x #石か草か
+
| <code>x # お宝アイテムコード</code> || ID of treasure to drop. Add 768 for normal treasures, 1024 for Exploration Kit treasures.
 
|-
 
|-
| <code>x # Pellet color</code> || x #うじゃ王数 x #石か草か
+
| <code>x # Pellet color</code> || Color of pellets to drop. 0 = Blue 1 = Red 2 = Yellow 3 = Random.
 
|-
 
|-
| <code>x # Pellet size</code> || x #うじゃ王数 x #石か草か
+
| <code>x # Pellet size</code> || Size of dropped pellets; 1, 5, 10, or 20.
 
|-
 
|-
| <code>x # Pellet Min </code> || x #うじゃ王数 x #石か草か
+
| <code>x # Pellet Min</code> || Minimum number of pellets it can drop.
 
|-
 
|-
| <code>x # Pellet Max</code> || x #うじゃ王数 x #石か草か
+
| <code>x # Pellet Max</code> || Maximum number of pellets it can drop.
 
|-
 
|-
| <code>x # pellet type</code> || x #うじゃ王数 x #石か草か
+
| <code>x.xxxxxx # Pellet Min</code> || Different from the first, this controls the percent chance it will drop pellets. 1.0 is 100%
 
|-
 
|-
| <code>x # pellet size</code> || x #うじゃ王数 x #石か草か
+
| <code>x # pellet type</code> || Only used with Pellet Posies. Works just like the above <code># Pellet color</code>, except 3 = cycling between colors, and will crash if none of the primary colors are unlocked yet.
 
|-
 
|-
| <code>x # size</code> || x #うじゃ王数 x #石か草か
+
| <code>x # pellet size</code> || Size of pellet it bears; only 1, 5, 10, or 20.
 
|-
 
|-
| <code>under construction</code> || x
+
| <code>x # size</code> || The stage of growth of the Pellet Posy. 0 = Sprout, 1 = Halfway, 2 = Mature.
 
|-
 
|-
 
|}
 
|}
  
 
{{credits| [[User:UnclePaul894|UnclePaul894]]}}
 
{{credits| [[User:UnclePaul894|UnclePaul894]]}}
 +
 +
Note that certain teki will not drop treasures or pellets, even if set to do so. These include fire/electric/poison hazards, bomb rocks, Volatile Dweevils, eggs, Honeywisps, Candypops, Mitites, and Spectralids. (Pellet Posies are functional and can drop treasure/pellets in addition to their normal pellet.)
 +
 +
Additionally, decorative plants and chiyogami paper can spawn a set of 4 yellow Spectralids when touched, if their pellet color is 0 and pellet size is 1. This is only fully functional for Margaret (ID 77) and red large Figwort (ID 50), but other plants can spawn Spectralids if one of the aforementioned plants is also present and set to spawn Spectralids.
  
 
[[Category:Pikmin 2]]
 
[[Category:Pikmin 2]]
 
[[Category:File formats]]
 
[[Category:File formats]]

Revision as of 00:57, 31 July 2021

Editor's note: This page is under construction.

An area's generator files can be found in /user/Abe/map/*. Amongst these, the loop and nonloop folders, as well as the defaultgen.txt, initgen.txt, and plantsgen.txt contain data for what objects to spawn in the area, and how. These text files must be encoded in Shift-JIS, or at least ASCII. To avoid any issues, use Notepad++ and check the encoding in the bottom right.

The loop and nonloop folders have intriguing file-naming formats. They indicate a range of days, where the day numbering is one less than what day is displayed to players. For example, consider the following files in tutorial/nonloop: 1-2.txt, 1-4.txt, 2-2.txt, 3-9.txt. On day 3, the entities in the first 3 files will run their generation procedure, but not the entities in 3-9.txt. Files in loop are similar, but somewhat more complicated, and require more research.

Example
# generatorMgr <Generator(Default)>
{v0.1} 	# version
0.000000 0.000000 0.000000 	# startPos
0.000000 	# startDir
34 	# 34 generators
# 宇宙船
{
	{v0.1} 	# version
	0 	# reserved
	0 	# 復活日数
	137 70 146 136 145 68 0 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 205 	# <宇宙船>
	-331.454987 80.000000 1228.323975 	# pos
	0.000000 0.000000 0.000000 	# offset
	{item} {0002} 	# onyn
	{
		{onyn} 	# item id
		0.000000 -171.524994 0.000000 	# rotation
		{0001} 	# item local version
		4 	# onyon index
		1 	# after boot? true==1
	}
	# gen base
	{
		{_eof} 
	}
}

Header

Each file starts with a line titled # generatorMgr <Generator(Default)>. Under this is, {v0.1}, which denotes the format of the file. The coordinates next to startPos seem to be useless. Under startDir is a number (in this case 34, the number after the hashtag does NOT matter, as does anything else after a hashtag). This number must be the same as the number of entities listed in the file, or else the game will crash.

Entity

Underneath that in the brackets is the actual entity; in the above example, the Hocotate Ship. Everything above # pos seems to be debug info for the original programmers with no effect on the entity(enemy or object) itself, EXCEPT for # reserved which if set to zero, the object will only ever load once, and # 復活日数 underneath that, which controls how many days it takes to respawn(if set to zero, it will respawn always, even after leaving a cave). The numbers next to # pos are the entity's x, y, and z coordinates. To find a point's coordinates in a level use 3ds Max or Yoshi2's Pikmin 2 Gen Editor. In # offset are more x y z coordinates that will "offset" or move the entity over more by the amount specified. Under that is the Entity's class, for example {item} {0002}. Further still under that in the brackets is the # item id. Finally, entities have 3 # rotation values, to rotate it a number of degrees on the x, y, or z axis, respectively. To keep an object upright only change the y parameter. Under that lie the Entity's unique parameters. There are multiple types of Entities in the Overworld, with differing parameters. These include...

Entity categories

  1. "{item} {0002}"
    • Includes Hocotate Ship, the Onions, Caves, Weight Blocks, Paper Bags, Gates, Rock Clogs, Nectar Grass, Nectar Pebble, and Bridges.
    • Some living things as well, like Burgeoning Spirderwort and the Ujadani.
  2. "{piki} {0001}"
    • Includes the main five types of Pikmin.
  3. {teki} {0005}
    • Includes all things in the Piklopedia; that is to say, enemies.
    • An enemy with a treasure in it is part of this group and has a value of that treasure + 768.
  4. {pelt} {0000}
    • Are exclusively treasures.

*Below, an x is used to denote where the variable is to be input in a parameter line.

Item ID Parameters Notes
{onyn} (onion/ship) x # onyon index
x # after boot? true==1
index: 0=Blue Onion 1=Red Onion 2=Yellow Onion 4=Ship
after boot: 0 = wild Onion, only spawns if you haven't recruited that color; 1 = landing site, only spawns if you've already recruited that color
{piki} (wild Pikmin) {p000} 4 x
# 色 {p001} 4 x
# 数 {p002} 4 x
# 自活(1=yes) {_eof}
{p000} 0=Blue 1=Red 2=Yellow 3=Purple 4=White. Attempting to spawn Bulbmin or Pikpik carrots crashes the game.
{p001} x = number of Pikmin
{p002} 1 = wild Pikmin, 0 = unused, intended for an E3 version The fours are part of the code
{cave} (caves) x.txt
units.txt
{x_XX}
# id (for stages.txt)
# FogParm { {fg00} - {fg09} }
First text file is the caveinfo file name; units.txt does nothing.
{x_XX} is the cave ID, used for name, hazard data, and various hardcoded boss behavior. The final digit of the ID is also the music index in BgmList.
{fg00} through {fg03} deal with fog zone start and end, how fast it starts and how long it lingers
{fg04} through {fg06} are the colors of the fog
{fg07} through {fg09} deal with the distances the fog spreads out when inside, when it appears, and when it disspates.
The fours are part of the code
{teki} (enemies, plants, and hazards) See below
{pelt} (carriable objects) X # mgr id
X.000000 X.000000 X.000000 # rotation
{0000} # pellet local version
XXX
mgr id is the carriable object type: 0=pellets, 3=normal treasures, 4=Exploration Kit treasures. Other values are untested.
The line after pellet local version is the treasure ID for treasures.
{brdg} (stick bridges) x #橋タイプ 0 = short bridge 1 = sloped bridge 2 = long bridge
{gate} (bramble gates) x.000000 #ライフ
x #Color
First parameter is the gate's HP, second is the gate's color. 1 for black, 0 for white
{dgat} (electric gates) x.000000 #ライフ The gate's health. Only comes in one color.
{rock} (spiderwort mold) Mold is actually called {rock} internally.
{barl} (rock clog) When destroyed, a clog will drain any waterbox it's placed inside; the waterbox is not specified here. A clogged cave entrance is simply a {barl} and {cave} at the same coordinates.
{plnt} (Burgeoning Spiderwort) x #実タイプ What kind of berries it grows. 0=spicy 1=bitter 2=mixed.
{ujms} (Ujadani bugs) x #うじゃ王数 Number of bugs in the group.
{weed} (nectar grass/rocks) x #うじゃ王数
x #石か草か
うじゃ王数: amount of grass/rocks
石か草か: 0=rocks, 1=grass
{dwfl} (downfloors: weight blocks and paper bags) x #沈み人数
x #type
x # 1:seesaw
{XXXX} # id
沈み人数: weight required to press. Only used if 1:seesaw is 0. The weight is visible on seesaw blocks but has no effect.
type: 0=small block, 1=large block, 2=paper bag
1:seesaw: 0=press permanently, 1=seesaw.
id: Only used for seesaw blocks. Set 2 blocks to the same ID to pair them.

Teki

Entities in the Teki category have by far the most complex parameters of all types, and thus have their own section.

Parameter Notes
x # teki The Enemy's ID.
x # teki_birth_type 0 = Normal, 1 = Falls from the sky
x # teki_num Number of enemies to spawn, used if # 0:point 1:circle is >= 2.
x.000000 # face direction Direction it faces, in degrees.
x # 0:point 1:circle 1 or less = Single, 2 or more = Multiple
x.000000 # appear radius Radius the enemy can spawn in, around the specified coordinates. Set to 0 to disable.
x.000000 # enemy size Unknown
x # お宝アイテムコード ID of treasure to drop. Add 768 for normal treasures, 1024 for Exploration Kit treasures.
x # Pellet color Color of pellets to drop. 0 = Blue 1 = Red 2 = Yellow 3 = Random.
x # Pellet size Size of dropped pellets; 1, 5, 10, or 20.
x # Pellet Min Minimum number of pellets it can drop.
x # Pellet Max Maximum number of pellets it can drop.
x.xxxxxx # Pellet Min Different from the first, this controls the percent chance it will drop pellets. 1.0 is 100%
x # pellet type Only used with Pellet Posies. Works just like the above # Pellet color, except 3 = cycling between colors, and will crash if none of the primary colors are unlocked yet.
x # pellet size Size of pellet it bears; only 1, 5, 10, or 20.
x # size The stage of growth of the Pellet Posy. 0 = Sprout, 1 = Halfway, 2 = Mature.
Credits: UnclePaul894

Note that certain teki will not drop treasures or pellets, even if set to do so. These include fire/electric/poison hazards, bomb rocks, Volatile Dweevils, eggs, Honeywisps, Candypops, Mitites, and Spectralids. (Pellet Posies are functional and can drop treasure/pellets in addition to their normal pellet.)

Additionally, decorative plants and chiyogami paper can spawn a set of 4 yellow Spectralids when touched, if their pellet color is 0 and pellet size is 1. This is only fully functional for Margaret (ID 77) and red large Figwort (ID 50), but other plants can spawn Spectralids if one of the aforementioned plants is also present and set to spawn Spectralids.