Closed OnsenManju closed 7 years ago
Sample plugin for testing (API 2.0) https://github.com/OnsenManju/SpawnTest
command:
/findmob(/fm) <name>
/spawntest(/st) <mob ID or name> [amount]
p.s. In case of Moon Lord, it needs to use /st "moon lord's core"
or /st 398
.
Just curious, but is this issue related to birds spawned with /sm always being the basic type, even when using Blue Jay and Cardigan's IDs?
@Kojirremer Yeah, same goes for Salamanders and Slugs.
@Kojirremer, @tlworks Probably.
Birds are similar as big mimics.
/findmob bird
Search result:
type=74 Main.npcName="Bird" NPC.name="Bird" NPC.displayName="Bird"
type=297 Main.npcName="Blue Jay" NPC.name="Bird" NPC.displayName="Blue Jay"
type=298 Main.npcName="Cardinal" NPC.name="Bird" NPC.displayName="Cardinal"
Salamanders are same as scarecrows. (I'm not sure about slugs(snails?) though)
/findmob salamander
Search result:
type=498 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=499 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=500 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=501 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=502 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=503 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=504 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=505 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
type=506 Main.npcName="Salamander" NPC.name="Salamander" NPC.displayName="Salamander"
Sample plugin can spawn them by its ID separately. Have a try if interested.
Seem to me that /item command also have this problem. For example: you can't spawn treasure bag (using ID) of any bosses except Slime King.
@tanpro260196 Perhaps so. Created new issue. #1398
Hi guys, we haven't forgotten about this issue, but it likely will not be worked on until the next Terraria update due to reasons.
@WhiteXZ Thanks for your comment. Then I'll keep maintaining SpawnTest plugin as a temporary workaround until those issues are resolved.
@WhiteXZ it's worth pointing out that uh, our source says that the next update won't drop for quite some time.
@WhiteXZ Thanks a lot! Now we can summon most of mobs by their basic name and specific ID!
All of the following worked successfully on new TShock 4.3.23:
/sm "eater of worlds"
, /sm "giant worm"
, /sm "dune splicer"
/sm wyvern
/sm "jungle slime"
, /sm "yellow slime"
, /sm "red slime"
and so on/sm "crimson mimic"
, /sm 474
/sm "etherian wyvern"
, /sm 558
, /sm 559
, /sm 560
/sm bird
, /sm "blue jay"
, /sm cardinal
/sm scarecrow
, /sm 305
, /sm 306
, /sm 307
and so on
/sm salamander
, /sm 498
, /sm 499
, /sm 500
and so onIf you find any more that don't work, feel free to reopen this and tag me :)
As reported #1350 and #1380, current
/spawnmob(/sm)
command can't summon mobs that have segmented bodies (like worms) and multiple types with single name (like big mimic) properly.1st issue: Segmented-mob should be summoned by its head part (e.g. "eater of worlds head") and multiple typed mobs should be summoned by its specific name (e.g. "crimson mimic", not "big mimic").
/sm
is usingTShock.Utils.GetNPCByName()
for searching by mob's name, but it usesnpc.name
, so/sm "eater of worlds"
returns ambiguous error/sm "crimson mimic"
returns invalid error/sm "big mimic"
returns only the first hit, but won't summon any mob in reality (see the 2nd issue)I propose using
npc.displayName
instead ofnpc.name
inGetNPCByName()
to improve that, and also it becomes able to summon by its union name (like/sm "eater of worlds"
, because the head part will be found at first when searching).2nd issue: In
TSPlayer.Server.SpawnNPC()
,name
is set for new mob intensionally. Maybe this was added for the variety of "blue slime" (type=1),but it causes
/sm 474
) =fail to summon/sm 558
(558="etherian wyvern"`)So, how about like this?
I'd appreciate if the devs consider it.