ResourcePackNoUpload

Quick rating

Community listing page, reviews here may not be monitored by the author.

ResourcePackNoUpload

No reviews yet

Send your resource pack, without uploading it

Mod Loaders
Fabric
Paper
Spigot
Minecraft

Community voices

Reviews

List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Show per page
10
25
50
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

Compatibility

Supported Environments

Where It Runs
Unknown

The author has not specified where this runs.

About

Project Details

Type
Mod
License
MIT License
Latest Version
1.16.2

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

Modrinth ID

Resources

External Links

About

Description

CI

ResourcePackNoUpload Plugin

A Minecraft server tool that allows server administrators to manage and distribute resource packs efficiently without requiring external hosting.

Getting Started

The RNU will generate the configuration templates if they do not exist, but will not work without additional changes. Two things are important: defining the port for the resource pack provider, and the loader to load the resource pack.

Defining port

The server config:

  • For RNU plugin: plugins/ResourcePackNoUpload/server.yml
  • For RNU mod: config/resourcepacknoupload/server.yml
# This server port needs to be open to the players
port: 25008 # Chose an open server port for the players.

# Provide the root address that will be sent to players, usually
# `http://` + server's public IP + `:` + port defined above.
# Example:
# publicLinkRoot: "http://192.0.2.1:25008"
# 
# For the most common cases, this field does not need to be set, but for Pterodactyl-based
# servers this field is mandatory.
publicLinkRoot:

# The approach of sending the resource pack for the players.
sender:
  type: # Here is your sender type.
  # Additional sender fields, each type has their own fields.
  # See the end of this document for more information.

Creating resource pack loader

The plugin config (reloadable with /rnu reload):

  • For RNU plugin: plugins/ResourcePackNoUpload/config.yml
  • For RNU mod: config/resourcepacknoupload/config.yml
# The texture pack loader, called every time that the resource pack is loaded by the RNU.
loader:
  type: # Here is your loader type.
  # Additional loader fields, each type has their own fields.

Available types:

ReadFolder simple loading from folder Uses an existing folder of any provided path.
  type: ReadFolder

  # Relative to the server root folder.
  # Is inside `Cool Folder` (for this example) the resource pack files should be.
  # Cool Folder/pack.mcmeta
  # Cool Folder/assets/minecraft...
  folder: "rnu resource pack/Cool Folder/"
ReadZip simple loading from zipped resource pack Uses an existing .zip of any provided path.
  type: ReadZip

  # Relative to the server root folder.
  # Is inside `Cool Resource Pack.zip` (for this example) the resource pack files should be.
  # Cool Resource Pack.zip/pack.mcmeta
  # Cool Resource Pack.zip/assets/minecraft...
  zip: "rnu resource pack/Cool Resource Pack.zip"
Download downloads from web, with http headers Downloads the resource pack from a link. At first, it would be somewhat against the RNU purpose, but this loader also supports http headers for the download request, allowing you to download the resource, pack with private keys, which is not supported directly by the minecraft client.
  type: Download

  # Optional field, this will cache the download, making sure the download is not
  # done again as long as this cache file can be found in the tempFolder.
  cacheName: drive_private_pack # Arbitrary name, will be used to save the file.

  # The link for the download.
  url: https://www.googleapis.com/drive/v3/files/FILE_ID?alt=media

  # Optional field, this is a list of headers, with their keys and values, Here we
  # are calling the Google API, and passing a required token to download the file.
  headers:
    - key: "Authorization"
      value: "Bearer drive_api3213xih32i9DASKxE83hd9203f1930c0ll-d1v3-t0k3n2389"
WithMovedFiles modify the files from another loader Move loader provided resource pack files from a directory, to another.
  type: WithMovedFiles

  # The folder contents to be moved. Supports unknown paths, for they use `?`.
  # For this example, the download (see more loader information below) result for
  # the loader link would be something like:
  # `Robsutar-super-cool-pack78HN3278gj32d/assets/minecraft...`
  # We will use this first folder as origin, ignoring their name.
  folder: "?/"

  # The folder destination, here we are using the resource pack root.
  destination: ""

  # This can be any loader, For this loader example we are using a release in GitHub,
  # with Fine-grained personal  access token, with reading permissions. Depending on
  # the release, the content of the resource pack can be inside another download file,
  # we use WithMovedFiles to adjust this.
  loader:
    type: Download
    url: https://api.github.com/repos/Robsutar/super-cool-pack/zipball
    headers:
      - key: "Authorization"
        value: "Bearer github_pat_uS78ih32i9DASKxE83hd9203f1930c0ll-g1t-t0k3n2389"
      - key: "Accept"
        value: "application/vnd.github.v3+json"
WithDeletedFiles modify the files from another loader Ignore the files of the loader if they match with a provided path.
  type: WithDeletedFiles

  # The path to ignored, supports glob file matching. In this example, we delete all
  # files that ends with `.md`.
  toDelete: "**.md"
  # To ignore all the files of a directory:
  # toDelete: "assets/all_inside_me_will_be_deleted/**/*"
  # To ignore a file a file:
  # toDelete: "assets/minecraft/i_will_be_deleted.txt"

  # This can be any loader, For this loader example we are using simple ReadFolder loader.
  loader:
    type: ReadFolder
    folder: "rnu resource pack/Cool Folder/"
Merged loads and merges resource packs from a list of loaders Combines multiple loaders, prioritizing the first ones in the list.
  type: Merged

  # Optional field, this is a list of paths to merge json files list entries, particularly
  # useful to merge custom model data automatically. 
  mergedJsonLists:
    - files: "assets/minecraft/models/item/**.json"
      # The numeric field used to order the json entries, in the case of custom model data,
      # entries must necessarily be ordered.
      orderBy: "predicate.custom_model_data"

  # This is a list, for each entry you need to specify the values of the desired loader.
  # See their how to configure each type in the examples above.
  # For overriding cases, loaders on the top of the list have major priority, this is,
  # their files will replace the other files.
  loaders:
    - type: ReadFolder
      folder: "rnu resource pack/Cool Folder/"
    - type: ReadZip
      zip: "plugins/ModelEngine/resource pack.zip"

Auto reloading

It is possible to make the RNU (only the plugin) reload automatically on event call.

How to configure it The auto reloading config: `plugins/ResourcePackNoUpload/autoReloading.yml`
invokers:
  # The event class, this is very specific to each case.
  # Here we will use a ModelEngine event.
  - eventClass: "com.ticxo.modelengine.api.events.ModelRegistrationEvent"

    # The delay in ticks after the event being called.
    delay: 10 # Default is 1.

    # The cooldown before this event can call the reload again.
    # Here we add a cooldown because in the case of ModelEngine, the
    # `ModelRegistrationEvent` event is called a few times in `/meg reload`, this
    # cooldown will make the reload be executed only once.
    repeatCooldown: 10 # Default is 0.

Different sender

By default, the Delayed sender is used, and it works for most cases.

Using the injector on the PaperMC server NOTE: Experimental feature

The server config: plugins/ResourcePackNoUpload/server.yml

sender:
  # This sender will override in runtime the server resource pack properties, 
  # leaving the pack sending handling for the PaperMC.
  type: PaperPropertyInjector
No automatic url sending, and fixed link server The server config: `plugins/ResourcePackNoUpload/server.yml`
sender:
  # This sender will not send the resource pack url to the players automatically,
  # and will have a fixed link.
  # Useful if you want to send the resource pack through the vanilla behavior,
  # setting the resource-pack server.properties to this link for example.
  type: NoSenderFixedLink
  # With the "pack" route, the link would be something like: "http://192.0.2.1:25008/pack.zip"
  # But with the ip and port defined in the config `publicLinkRoot`
  route: "pack"

Additional Configurations

There are other settings inside config.yml, such as messages and RNU behavior, refer to the automatically generated config.yml.

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

~1,000
Downloads
Last Updated
CurseForge
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works