Mod Suggestion Provider Fix by HarleyOConnor

  • Suggestion Provider Fix by HarleyOConnor

    Small fix to the commands suggestion provider so modded resources are auto-filled properly.
    • 4.95 KB
    • 1.20.1
    • April 10, 2021
    • June 15, 2023
    • Miscellaneous
    Suggestion Provider Fix
Mod Information
NameSuggestion Provider FixAuthorHarleyOConnorDescriptionSmall fix to the commands suggestion provider so modded resources are auto-filled properly.
InformationDownloads:
Version: 1.20.1
Size: 4.95 KB
Updated at: June 15, 2023
Created at: April 10, 2021
Tags
Miscellaneous

Suggestion Provider Fix

A minor change to Minecraft's suggestion provider so that it auto-completes resource locations for all mod namespaces.

Whilst this is a very tiny change, if you use commands a lot in modded it is likely to save you a lot of time.

Note that this mod does not need to be installed on a dedicated server to work, though doing so is advisable so that the client and server mod list match.

Example

For example, let's say you want to use '/give' to spawn yourself an 'oak_seed' from Dynamic Trees. With vanilla, you may begin to type '/give @p oak_seed' and no auto-complete suggestions will come up, as it expects you to type in 'dynamictrees:oak_seed' since that is the full name for the item:

Without

With this mod installed however, you are able to start typing 'oak_seed' and any items with that name (regardless of their namespace/mod ID) will be suggested:



This also works with other registries that use "resource locations", including blocks, biomes, and even custom registries from other mods.

Technical Description

This mod uses a mixin to overwrite 'ISuggestionProvider#filterResources(Iterable, String, Function, Consumer)', doing exactly the same thing but negating a check on whether or not the namespace of the 'ResourceLocation' is 'minecraft' (since this is the default when a path is typed without a namespace). This means that suggestion providers for 'ResourceLocation' objects will suggest all paths matching the input string if no namespace was entered, instead of only from Minecraft itself.