There are three main points I'd love to get addressed:
- Configuration
- Global:
There currently is the spawn-mode config option in the Pokéloot settings. But this only affects randomly generated chests, in terrain created after the change. Existing ones and tose generated in buildings aren't affectd by it.
It would make sense if chests instead defaulted to a setting called something like "GLOBAL", which checks the mode specified in the config setting at the moment it is claimed. That way any chest that doesn't explicitly have any of the modes defined will automatically follow the global default, including existing ones and those in structure templates. - Manual:
Manually configuring the chests is currently very awkward, with right/left click in creative/survival. While a UI might be nice (especially with some of the other aspects below), at first I think a "Pokéloot Wand" would be enough. It could work similar to Vanilla's "Debug Stick", cycling through the settings (claim setting, hidden, etc.) with left click and changing their values by right-clicking.
More specific settings could be applied via NBT in a custom /give or /setblock command.
- Global:
- Looks and placement
- Pokéballs:
While I'd keep the current selection as the default chests, it would be nice to have more options for special cases.
If the Pokéloot Chests were unified into one like Pokéballs were, they could use the same NBT to determine which ball they display. So you could place a Love Ball Pokéloot via a command like /setblock ~ ~ ~ pixelmon:pokeloot_chest{PokeBallID:"love_ball"} - and even custom Pokéballs could be selected that way. - Waterlogging:
Pretty simple really - allow Pokéloot chests to be waterlogged, so they can be properly placed in/under water.
- Pokéballs:
- Loot
- NBT:
If Pokéloot Chests get unified into a single block, as suggested above, the respective loot source would also need to be defined via NBT on the respective chests. The creative inventory can have the defaults defined, but here too you could apply the respective NBT via command for more specific settings. - Loot Tables:
If my other suggestion is implemented and the definition for their drops migrated to MC's Loot Tables, the existing LootTable tag could be used to apply the tier via NBT, as mentioned above. Additionally this allows servers/builders/map makers to apply other Loot Tables to their custom Pokéloot or create their own.
- NBT:
These aspects combined would allow for things like having a Dive Ball chest generate inside an underwater structure, which gives items from the "Shipwreck Treasure" Loot Table, as many times as the global config allows:
/setblock ~ ~ ~ pixelmon:pokeloot_chest[waterlogged=true]{PokeBallID:"dive_ball",LootTable:"minecraft:chests/shipwreck_treasure"}
It would turn this classic feature from a nice-to-have aspect that's annoying to configure into a powerful asset for all kinds of gameplay content.