PokeAPI / pokeapi

The Pokémon API
https://pokeapi.co
BSD 3-Clause "New" or "Revised" License
4.05k stars 921 forks source link

Seeking feedback before overhauling items #1101

Open edenbynever opened 1 month ago

edenbynever commented 1 month ago

I'd really like to add the approximately 350 items we're currently missing (the ones from Legends: Arceus and Scarlet/Violet), but I can't shake the notion that now'd be a good time to take the opportunity to fix all the "misalignment" currently present in items.csv. It's clear that the file has grown organically over the years, with contributors haphazardly discovering missing items and appending them with the next available ID. This system does work, but I think it'd be nice (both aesthetically and in terms of data "purity") if our indexing matched something canonical.

Unsurprisingly, the vast majority of our items are present in SV's list, but there are some discrepancies, namely 40 that are absent and 18 that would need minor renaming (not counting two-digit TMs). There are plenty of gaps in the list, and it's occasionally "obvious" where we could slot in some of our absentees, but that would seem to defeat the purpose. I think it'd be fine to special-case them with 10000+ IDs, the way we do currently for Black Augurite and Peat Block (which I must say is hard to make sense of).

I appreciate that this would involve a great deal of modification to lots of tables, but I'd be happy to script the remapping and presumably make this a non-issue for the foreseeable future (there were only a handful of item index changes between Generations VII and VIII, and none between VIII and IX). It's a fairly invasive change (plus it's not perfectly clear what we should do about the many blank/??? items), so it seemed like a good idea to gauge consensus before proceeding.

Naramsim commented 1 month ago

hi! Thanks for the issue! I think you can go along and change/rearrange the IDs. You are going indeed to change a lot of tables, if you like you start with a bunch of items to see if everything works fine.