tModLoader

tModLoader

869 beoordelingen
Achievement Mod
4
3
9
4
4
2
2
   
Prijs
Toevoegen aan favorieten
Toegevoegd aan favorieten
Verwijderen uit favorieten
Mod Side: Client
tModLoader Version: 1.4.3, 1.4.4
Bestandsgrootte
Geplaatst op
Bijgewerkt op
111.774 KB
2 feb 2023 om 17:21
25 mei 2023 om 10:36
8 wijzigingsnotities (weergeven)

Abonneren om te downloaden
Achievement Mod

Omschrijving
Allows you to unlock achievements like in vanilla and allows other mods to add achievements.
Contains configuration options like having separate achievements for each player.
Adds the /achievement command which you can use to give/take/reset achievements.
Usage:
/achievement clear
/achievement grant [achievement name]
/achievement revoke [achievement name]

You can also type /achievement unlockvanilla to unlock all vanilla achievements.

Your achievements are saved to a json file which can be found in a folder called AchievementData.
The folder is found in the same place that your player and world folders are located.

For Developers:

If you are a developer and want to add an achievement use Mod.Call in PostSetupContent

Mod.Call("AddAchievement", this (reference to your mod),
Name of your achievement (string, don't put spaces),
Achievement Category (Terraria.Achievements.AchievementCategory),
Texture path (string, the texture should be 128x64, it will contain the unlocked and locked sprite of the achievement),
Custom border texture path (string, can be null, if you add a texture it should be 72x72),
Show progress bar (bool), Show achievement card (bool), Achievement card order (float), Conditions (string array))

Example:

if (ModLoader.TryGetMod("TMLAchievements", out Mod mod))
mod.Call("AddAchievement", this, "AchievementName", AchievementCategory.Collector, "YourMod/Assets/Textures/Achievement", null, false, false, 2.5f, new string[] { "Collect_" + ItemID.RodofDiscord });

This will create an achievement which you unlock by collecting a Rod of Discord

Setting show progress bar to true will show how many conditions are completed.

Achievement card order is the order of your achievement if you set show achievement card to true
The achievement Timber!! has an order of 1, while Champion of Terraria (Defeat the moon lord) has an order of 36
Setting the order will allow you put the achievement in the correct place in terms of progression.

How to add conditons:
To add a condition you simply add a string in the conditions array.
If you want to add a item condition add the string "Collect_" + the item id. Example: "Collect_" + ItemID.RodofDiscord
If you want to add a craft item condition add the string "Craft_" + the item id. Example: "Craft_" + ItemID.OnyxBlaster
If you want to add a mine tile condition add the string "Mine_" + the tile id. Example: "Mine_" + TileID.GrayBrick
If you want to add a kill npc condition add the string "Kill_" + the npc id. Example: "Kill_" + NPCID.Mimic

If you want a custom condition do "Event_ExampleEvent". Use Mod.Call("Event", "ExampleEvent"); to complete the condition.

If you want a custom value condition do "ValueEvent_ExampleValue_100". If the value reaches 100 the condition is completed. Use Mod.Call("ValueEvent", "ExampleValue", 1f); change the value by 1

Complete Example:
new string[] { "Collect_" + ItemID.AbigailsFlower, "Craft_" + ItemID.GoldenDelight, "Kill_" + NPCID.PurpleSlime }

To complete the achievement with those conditions you will need to collect abigails flower, craft a golden delight, and kill a purple slime.

Finally you will need to add an entry in the localization file of your mod for your achievement name and description.

You can type /achievement debuglist if you want the names of all achievements (including modded ones). Typing the command will print the names of all achievements to your client.log file.

You can modify this to create a texture for your achievement.

https://i.imgur.com/sO6F6Mg.png
Origineel geplaatst door tModLoader:
Developed By metalkingpig
105 opmerkingen
CrazyTren 19 mei om 8:19 
how do I use /achievement grant and /achievement revoke it's not working
LaggyCrow 8 apr om 7:00 
Loving the mod, Cant wait for new update. Thank you.
"loser your mod is useless now" 🤓
keytowite 24 feb om 17:01 
man someone had a bad day at kindergarten
lilbrybry 16 feb om 15:16 
loser your mod is useless now
Repeat 27 jan om 20:11 
Would it be possible to add custom achievement categories?
Knightz 8 dec 2023 om 17:41 
me talking pig
:steamhappy:
Lion8cake 1 nov 2023 om 17:04 
that would be awesome thank you
metalkingpig  [auteur] 1 nov 2023 om 8:03 
@Lion8cake You can't modify vanilla achievements using this mod, but I might be able to add it if you want.
Lion8cake 1 nov 2023 om 3:25 
is there any way to edit existing achievement obtainment methods? Say i want to remove the Hot Reels achievement to be obtained in certain conditions, am i able to do that easily through this mod?