What's Changed
- Changes to how connection information is passed to
Client.connect
. - Changed name of
ArchipelagoClient
back toClient
. Utilize Vite for bundling instead of Webpack.(reverted in 1.0.1)- More examples in
README.md
and updated documentation. - Changed names of events for
Client.addListener
andClient.removeListener
- Turned most interfaces into types.
- Turned all enums into consts.
- Added a
HintManager
class toClient
. Currently only keeps track of own hints. - Changed how
name
andid
lookup foritems
andlocations
work in preparation for ArchipelagoMW/Archipelago's PR 1933. Lookups require game name as well. This will eventually allow each world to use any id without worry of id collisions. - Added a helper class for doing complex set operations in
DataManager
. Client
will no longer request entireDataPackage
from Archipelago server. Only for games that exist in room.- Add item group and location group names to DataPackage and add checksum support. Still no caching is built in, but is prepared for a future update.
- Added
hintPoints
,hintCost
,slotData
,slot
,team
,seed
, andpermissions
properties to DataManager for real-time room information. Updates when room updates. - Improved name lookup and added id lookup for
ItemsManager
andLocationsManager
, as part of look up changes. - Added group lookup for
ItemsManager
andLocationsManager
to pull all items in a given group name for a game. - Changed type of
Client
toClient<SlotDataType>
for TypeScript users to specify the structure of their slot data in advance for better typing information. - Improved
checked
andmissing
locations array properties inLocationsManager
to actually work. - Added
game
name lookup method for a player id inPlayersManager
for easy lookup since in all contexts you you need name for id of location or item, you have the player id. - Added
members
method inPlayersManager
to look up all players in a given Item Link group. Returns empty list if not an item link group. - Removed a lot of redundant code.
- Improved type hinting and inference.
- Removed all mentions of
version
inDataPackage
andGamePackage
. Planned to be removed from AP in PR 1933. - Added all the newer
PrintJSONPacket
types and their appropriate args. remaining
is now aReducedPermission
type instead ofPermission
since it can't have AUTO-type permissions.players
property inDataManager
is of a type that's a combination ofNetworkPlayer
andNetworkSlot
to have all information together after connection.- Added WSS support.
- Added
Hint
type. Used byHintManager
class. - Adjusted build settings.
- And probably a bunch of bug fixes that I forgot about.
This is a very breaking API change, but hoping to keep it stable for the most part for a while now. If you notice any issues, please reach out to me here or in Discord (thephar).
Thanks!
Full Changelog: 0.5.2...1.0.0