Bungee Resourcepacks 1.6.14

Easily set resource packs with BungeeCord and per server

  1. Phoenix616
    Tested Minecraft Versions:
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    [​IMG] Made in Germany with love (and beer)

    [​IMG]
    Use the latest development builds for 1.12.1-1.14.x support!

    Did you ever want to set one Server Resource Rack for your whole BungeeCord network? Or set a different pack for a couple of your servers behind your Bungee proxy and got annoyed by Minecraft re-downloading the same pack while switching servers? Then you came to the right place!


    This plugin lets you set one Server Resource Pack for you whole BungeeCord without the need to set them on your lobby server which would result in the client re-downloading the pack even when it already had it enabled!

    It also has the ability to set the pack for each server individually and it even detects if the server behind the Bungee has send a pack itself and resets the pack to the global or server's pack if the player switches to another server!


    You can use my World Resourcepacks plugin if you are looking for a Bukkit version. It lets you set the pack per world and is compatible with this one.

    For an enhanced version of this plugin take a look at Force Resourcepacks!
    It lets you react on whether the player downloaded the pack or not with a message, title or a straight up kick!


    Note: This plugin only works on clients with versions above 1.8!

    Features
    • Set different server resourcepacks per server or whole BungeeCord network
    • Match server names with regex!
    • Language system with messages depending on the locale of the client
    • Configurable delay before sending the pack to a player
    • Remembers which pack a user has currently applied and doesn't resend on server switch
    • Let the user set the pack himself. The pack can be re-applied on each login and will be used for resets on servers that don't have the pack
    • Inform the user which pack the server send them if it was done automatically
    • ResourcePackSendEvent and ResourcePackSelectEvent for developers to react on the sending or selecting of a pack in their own plugins
    • Send the correct pack format depending on the client's version
    • Automatically generates the sha1 hashes!
    • Compatible with AuthMe Reloaded.
      Do you need it to be compatible with more plugins? Contact me!
    • Need more features like kicking when the player rejects the pack? Take a look at Force Resourcepacks!
    Statistics
    Donations
    Programming is time intensive and I would really appreciate your support!
    So if you can afford it or make commercially use of this plugin feel free to buy me a beer.
    Patreon with rewards: [​IMG]
    Paypal: https://s.moep.tv/donate
    Ðoge: D7G4Svo7GTNHpuhjwUBj2k7qANnZHwYD4p
    BTC: 1EXMFRknc7kLwCmM1zf5LXNnPD4ihVCEhQ

    Commands

    To execute every /brp command you need the bungeeresourcepacks.command permission!
    /brp reload [resend] - bungeeresourcepacks.command.reload - Reloads the config file; resends the packs to every online player if the 2nd argument is "resend"

    /brp version - bungeeresourcepacks.command.version - Shows the version of this plugin
    /brp generatehashes - bungeeresourcepacks.command.generatehashes - Manually generate the resource pack hashes

    To execute every /usepack command you need the bungeeresourcepacks.command.usepack permission!
    To execute it for other players you need bungeeresourcepacks.command.usepack.others!
    To have access to a specific pack a player needs the bungeeresourcepacks.pack.<packname> permission or the one defined for the pack in it's config section!
    /usepack - List all packs available to you
    /usepack <packname> [<playername>] - Send a specific pack to yourself or another player
    Config
    Code (YAML):
    debug: true
    # Whether or not resourcepack file hashes should be generated on startup:
    autogeneratehashes
    : true
    messages
    :
      usepack
    : You now use the pack %pack%!
      packlisthead
    : "Packs available to you:"
      nopacks
    : No packs found!
    packs
    :
      lobbypack
    :
       # The url the client should download the resourcepack from.
       # Has to be a direct download link! No medifaire/mega/other oneclick-hoster!
        url
    : http://example.com/lobbyresourcepack.zip
       # The sha1 hash of the resourcepack's zip file.
       # This needs to be the correct one in 1.10 and later!
        hash
    : abcdef012345678abcdef012345678abcdef0123
       # The format version of this resourcepack
       # 1 is for 1.8 packs
       # 2 is for 1.9
        format
    : 1
       # Whether or not this pack will only be send to players with a certain permission
       # permission: bungeeresourcepacks.pack.<packname>
        restricted
    : false
       # If you want you can define a specific permission for this pack if you don't want
       # the default bungeeresourcepacks.pack.<packname> permission!
        permission
    : bungeeresourcepacks.pack.lobbypack
      gamepack
    :
        url
    : http://example.com/minigameresourcepack.zip
        hash
    : 012345678abcdef012345678abcdef012345678a
      # Empty pack to reset the pack to the default one
      emptypack
    :
        url
    : https://github.com/Phoenix616/BungeeResourcepacks/blob/master/Empty.zip?raw=true
        hash
    : 3934d29cc6f7c271afdc477f6dd6b2ea90493825
    # Name of the pack to use for resetting of the pack for servers which don't have one assigned
    empty
    : emptypack
    global
    :
      pack
    : lobbypack
      # Secondary is the list of packs to not replace if the user already has them
      # If no main pack is set the first one also gets used to reset
      # the pack if the user has a non secondary one
      secondary
    :
      - gamepack
      # Delay in ticks before sending the pack to a player after he logs in/switches to the server
      send-delay
    : 10
    servers
    :
      lobby
    :
        pack
    : lobbypack
        secondary
    :
        - gamepack
      minigame
    :
        pack
    : gamepack
    Use this simple guide to find the sha1 hash of your resource pack's zip file.
    About the client freeze
    When a server resource pack is send to a client it will shortly freeze after the download is complete. (Same as manually applying a local pack) This happens because the client has to reload all resources, check which resources overlap and do some other calculation and manipulation with them. (Like stitching all the textures together to a single image like they were in the first texture pack format) It's not a download issue as the client will locally cache the pack files and not re-download them if their hash didn't change.

    How long this takes generally depends on the PC's performance and the size of the textures (HD packs take longer) that are used in all resource packs that the player has applied. (So even if the server resource pack doesn't contain any HD textures or textures at all the client will still completely reload all locally applied resource packs) This is something that has to be fixed in the client by Mojang for example by only reloading resources that changed. There's not a lot I can do about that offer than advice people to put pressure on Mojang to improve that behaviour.

    Dev-Resources

    The source is available on GitHub and licensed under the GPLv3.
    Development builds can be found on the Minebench.de Jenkins.
    There are also some Javadocs if you intend to develop plugins based on mine.


    Metrics
    This resource includes StatsLite to add some statistics via mcstats.org. You can opt-out by changing the settings in the PluginMetrics/config.properties file! StatsLite is licensed under the following license:
    Copyright (c) 2016, Minecrell <https://github.com/Minecrell>

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in
    all copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
    THE SOFTWARE.
    Because mcstats seems to be dying a new metrics site was added with version 1.6.13: bstats.org. We'll see if it stick around, if not I'll just remove it again otherwise we already have some cool data to draw graphs with! If you don't want bstats to collect info on your server then you can disable it in the bStats/config.yml file. The license the used bStats-lite class is under can be found here.​

    Other Resources

    [​IMG]
    This resource is distributed without any warranty or liability by the author.

Recent Reviews

  1. Battlevali
    Battlevali
    5/5,
    Version: 1.6.14
    This plugin is amazing, the developer is very helpful.

    Phoenix616 is one of the best developer on spigot.
    - Huge thanks for this.
    - Its working flaweless.

    I absolute suggest everybody to try out his plugins.
  2. GarethPW
    GarethPW
    5/5,
    Version: 1.6.14
    Great plugin. Fairly straightforward to configure and is a much better system than using server.properties!
  3. minez
    minez
    5/5,
    Version: 1.6.14
    Very cool plugin, thank you have been looking for such a plugin. As soon as I save up, be sure to buy your other plugins. Thank you!
  4. JavaCode
    JavaCode
    5/5,
    Version: 1.6.2
    Works perfectly. Extremely helpful when you have one RP server that requires a custom texture pack and every other server just needs the normal texture pack. Thanks!
  5. Looy3
    Looy3
    4/5,
    Version: 1.6.2
    From the comments, it works. It isn't working for me however. The plugin doesn't even create it's own config, much less its own folder. The server texture packs still link from server to server. Please help.
    1. Phoenix616
      Author's Response
      Please use the discussion thread for support requests and not the review section... (also please provide your startup log there)
  6. File14
    File14
    5/5,
    Version: 1.6.2
    Very nice developer, he take cares if you have a problem and he does his best to try to solve it. Many thanks for creating such an epic plugin!
  7. Dreylok
    Dreylok
    5/5,
    Version: 1.6.0
    Really well done. Not a lot of plugins work for me on the first try or they are lacking some obvious features. This is great, it works perfectly once you configure it correctly (got a little confused about the "Empty" parameter) and does exactly what I need. Thanks!
  8. DomMinesDiamonds
    DomMinesDiamonds
    5/5,
    Version: 1.5.6
    __________________________________________________

    What do you mean by hash? I don't know what that is, yea
    ik sad XD but may you tell me how I may get it?

    __________________________________________________
    1. Phoenix616
  9. Hakogaming
    Hakogaming
    5/5,
    Version: 1.5.0
    English:
    Your plugin is just excellent!!! he work like one tells him!
    To download without hesitation

    Francais:
    Le plugin est juste excellent !!! il travail comme on lui dit !
    A télécharger sans hésitation.
  10. HAlex
    HAlex
    4/5,
    Version: 1.4.4
    Awesome plugin, just a problem, the Hub has a custom pack, when you join a server then return to the Hub, the pack isn't the custom, i changed and tried everything in config...
    1. Phoenix616
      Author's Response
      Please use the discussion thread for help requests as this should not be happening if configured correctly.