ItemStayPut v1.0.0 2021-04-05

Floating items that stay put and can't be picked up. Awesome for shops!

  1. Ebaldino
    Native Minecraft Version:
    Tested Minecraft Versions:
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    Languages Supported:
    Portuguese (Português), Spanish (Español)
    ItemStayPut03.jpg ItemStayPut
    Floating items that stay put and can't be picked up. Awesome for shops.
    (For Spigot/Paper/Bukkit 1.13.3 to 1.16.5 - see version support, below)
    (From the maker of SignBoard – "Write on signs to your heart's content!")

    Are you tired of shops that use the inventory GUI, and want a more natural, immersive feel for your shops?

    ItemStayPut lets you put down floating items that can't be picked up up by players or mobs. Used in conjunction with EssentialsX shop signs, ItemStayPut is the best option for creating shops that your players will enjoy as part of an immersive experience!

    ItemStayPut is a full rewrite of the classic ItemStay plugin by adventurec, which in turn was a variation of the original ItemDisplay concept by _ForgeUser8949532 back in 2012. (This is the history as far as I could determine; if you feel more credits are deserved for the concept, let me know!)


    Version support
    ItemStayPut v1.0.0 supports all Bukkit/Spigot/Paper versions from 1.13.3 to 1.16.5.

    Just drop the jar in your plugins folder and restart the server.

    Basic usage
    Hold an item in your main hand, look at the spot where you want to drop it, and issue the command /isp drop.

    Multi-language support
    ItemStayPut supports different languages for its interface (menus and messages). This allows users to choose their own language preference and use the plugin in that language. Right now it has options for English (US), Portuguese (BR), and Spanish (CO), but you can translate the locale file into other languages – just make sure to share with us, and we'll include them in future releases of ItemStayPut!

    ClearLagg and other lag remover plugins
    Lag removers really like to delete loose items left scattered around the worlds, and they're right to do so. Unfortunately, this will cause the ItemStayPut items to respawn every time it happens. Except:
    1. If you're using ClearLagg – because ClearLagg has an API, we have programmed ItemStayPut to tell ClearLagg to completely ignore our items, so they won't even flinch when other items are deleted.
    2. If your lag remover plugin has the option to ignore named items – if that's the case, tell it to ignore every item that has a "localized name" of "ItemStayPut".
    If you're using another lag remover that has an API, let us know and we'll try to integrate it with ItemStayPut as well!


    Root Command Aliases

    The standard root command for ItemStayPut is /isp. Since other plugins may also use /isp, ItemStayPut supports four command aliases: /ist, /item, /itemstay, /itemstayput.

    The active_aliases parameter in config.yml controls which ones are actually used. For example, the following configuration line would make ItemStayPut accept all 5 root commands:

    active_aliases: isp, ist, item, itemstay, itemstayput

    By default, only three options are active (isp, item, itemstayput), but you can mix and match as needed to ensure compatibility with other plugins in your server. The first option on the list will be the one featured on all of ItemStayPut 's help texts (usually "/isp").

    Player commands
    • isp - Shows the main command menu (/isp help works too).
    • /isp list – Shows a list of the user's items, per world. If you're admin, shows items for every user.
    • /isp place – Places the item on your main hand at the spot where you're looking.
    • /isp delete <id> - Deletes the item with ID <id>.
    • /isp remove <range> - Delete all items within <range> blocks.
    • /isp locale – Shows the locale commands (see below).
    • /isp credits – Gives credit where credit is due.
    Player locale commands
    • /isp locale list - Shows the languages available for the plugin's interface.
    • /isp locale set <lang> - Sets the user's preferred language to <lang>.
    • /isp locale clear – Clears the user's locale preference (reverts to default).
    Admin commands
    • /isp import <filename> - Imports items from an ItemStay .csv file.
    • /isp respawn <range> - Respawns all items within <range>. If <range> is not given, respawns all items.
    • /isp reload - reloads all the .yml files, including config, items, and locale.
    • /isp version <nbr> - shows the ItemStayPut version running or displays a version's change history (i.e. /isp version 1.0.0).
    Admin locale commands
    • /isp locale listplayers - Shows all players' locale preferences.
    • /isp locale list <lang> - Shows all the translation strings for language <lang>.

    Auto updates
    By default, ItemStayPut will automatically download and install new updates when you restart or reload the server.

    You can control this feature by changing the updates: option in config.yml.

    Valid values for updates: are:
    • auto (downloads and installs new versions automatically);
    • check (only checks if a new version is available);
    • off (turns off updates completely).
    An update check message will always be shown on the console.

    After an update, OPs receive a one-time message telling them about the new version. They can check version history with the command /sb version <nbr>.

    Auto config.yml updates
    No need to update your preferred settings in config.yml !!

    When a new version is downloaded and installed, ItemStayPut will update the config.yml file preserving your custom settings automatically.

    Settings in config.yml
    The following are the default settings in config.yml:

    Code (Text):
    # ItemStayPut config.yml
    # If auto update is active for ItemStayPut, the config.yml file will be automatically updated as well
    # When config.yml is updated, all changes you made to the VALUES of the settings will be PRESERVED and copied over to the new config.yml
    # ... however, any changes you made to the COMMENTS in this file will be overwritten by the default comment.
    # The original config.yml will be renamed config.bak

    # Auto updates:
    # Possible values for updates:
    # auto  (downloads and installs new versions automatically);
    # check (only checks if a new version is available);
    # off   (turns off updates completely).
    updates: auto

    # Config.yml version - if this is lower than the actual ItemStayPut version (use /isp version), it means you probably should do a manual merge of and config.yml.
    # If updates=auto and this version is lower than the actual ItemStayPut version, it will trigger an automatic config.yml update on the next server restart.
    version: 1.0.0

    # players_use_locales - allows every player to choose their own interface language by activating the commands /isp locales list, /isp locales set, /isp locales clear
    # Even if players_use_locales is false, ItemStayPut will always use the default locale file. Locale files are in the Locales folder, and must follow the same name pattern (e.g isplocale_enUS.yml)
    players_use_locales: true
    default_locale: enUS

    # Toggle the use of color on ItemStayPut console messages:
    msg_color_onconsole: true

    # Toggle the one-time message shown to OPs in-game when an update is installed.
    msg_ingame_update_OP: true

    # View distance:
    # How close (in blocks) you have to be to be able to place an item on a block
    view_distance: 5

    # Command aliases:
    # ItemStayPut can respond to any of these four root commands: /isp /item /ist /itemstayput

    # The active_aliases parameter controls which ones are actually used.
    # For example, the following configuration would make ItemStayPut accept all 4 root commands: active_aliases: isp item ist itemstayput
    # By default, only three options are active, but you can mix and match as needed to ensure compatibility with other plugins in your server.
    # The first option on the list will be the one featured on all of ItemStayPut's help texts (usually "/isp").
    # Don't try to add other aliases options; ItemStayPut only accepts these four.
    active_aliases: isp item itemstayput

    # Logging:
    # Set to true to enable logging of ItemStayPut's startup process (only during server start).
    # The major steps that take place during startup are timed and written to log.yml. The log is cleared at each server restart.
    log_on: false

    By default, ItemStayPut allows every user to use the place, list, delete, remove, locale, and credits commands, and also allows every admin to use the import, respawn, reload and version commands.

    To change permissions, use a permissions manager (like PermissionsEX or LuckPerms). Even if given the itemstayput.admin permission, a user must be OP to use the reload and version commands.

    The default permissions are as follows:
    • itemstayput.* - Gives access to all non-admin commands
    • itemstayput.player - Access to credits, delete help list place remove version locale commands
    • itemstayput.admin - Gives access to all commands, including reload and version
    Next steps

    * None at this point. I will entertain requests...


    No pressure :)


    Stats Disclosure

    This plugin utilizes a plugin metrics system, which means that the following information is collected and sent to

    • Your server's randomly generated UUID
    • The amount of players on your server
    • The online mode of your server
    • The bukkit version of your server
    • The java version of your system (e.g. Java 8)
    • The name of your OS (e.g. Windows)
    • The version of your OS
    • The architecture of your OS (e.g. amd64)
    • The system cores of your OS (e.g. 8)
    • bStats-supported plugins
    • Plugin version of bStats-supported plugins
    Go into /plugins/bStats/config.yml to disable stat collecting if you wish.