NEW: Custom Recipes - ThaCheesyMen/portablefurnace GitHub Wiki

Here's a cleanly formatted version of your message, suitable for a GitHub README or wiki page. I've used Markdown conventions for structure, code formatting, and emphasis:


Custom Resource Pack Guide for Portable Furnace Plugin

Prerequisites

Before you begin, ensure the following:

  • βœ… You have the modified version of the Portable Furnace plugin installed on your server.

  • βœ… You have a basic understanding of how to install and enable resource packs in Minecraft.

  • βœ… You have access to image editing software for creating texture files (.png).

  • βœ… You have a text editor for editing .json configuration files.


Step-by-Step Guide

1. Create the Resource Pack Folder Structure

Start by creating a folder for your resource pack. Inside this folder, create the standard Minecraft resource pack structure:

MyCustomFurnacePack/
β”œβ”€β”€ assets/
β”‚   └── minecraft/
β”‚       β”œβ”€β”€ models/
β”‚       β”‚   └── item/
β”‚       └── textures/
β”‚           └── item/
└── pack.mcmeta

2. Create the pack.mcmeta File

This file tells Minecraft about your resource pack. Example:

{
  "pack": {
    "pack_format": 26,
    "description": "Custom Furnace GUI Pack"
  }
}

πŸ” Adjust pack_format based on your Minecraft version. Check the correct value here.


3. Identify Base Items and CustomModelData

The plugin uses standard Minecraft items with CustomModelData to render the GUI. Example mappings:

GUI Element Base Item CustomModelData
Background BLACK_STAINED_GLASS_PANE 1001
Progress (0%) STONE 2001
Progress (<33%) STONE 2002
... ... ...

πŸ”§ These values must match the ones in the plugin’s config.yml.


4. Create/Modify Base Item Model Files

Tell Minecraft to use different models for items with specific CustomModelData.

File: black_stained_glass_pane.json

{
  "parent": "item/generated",
  "textures": {
    "layer0": "minecraft:item/black_stained_glass_pane"
  },
  "overrides": [
    {
      "predicate": { "custom_model_data": 1001 },
      "model": "minecraft:item/custom_furnace_background"
    }
  ]
}

File: stone.json

{
  "parent": "block/cube_all",
  "textures": {
    "all": "minecraft:block/stone"
  },
  "overrides": [
    {
      "predicate": { "custom_model_data": 2001 },
      "model": "minecraft:item/custom_furnace_progress_0"
    }
  ]
}

πŸ“ Add to existing files if you're merging multiple packs.


5. Create Custom Model Files

For each custom model, create a .json file pointing to the correct texture.

Example: custom_furnace_background.json

{
  "parent": "item/generated",
  "textures": {
    "layer0": "minecraft:item/custom_furnace_background_texture"
  }
}

Repeat this step for each progress and fuel state (e.g., custom_furnace_progress_0.json, custom_furnace_fuel_empty.json, etc.).


6. Create Texture Files

Place your .png textures in the correct path:

assets/minecraft/textures/item/

Examples:

  • custom_furnace_background_texture.png

  • custom_furnace_progress_0_texture.png

🎨 Make sure these are standard PNG files.


7. Configure the Plugin (config.yml)

Edit the plugin config located at:

plugins/PortableFurnace/config.yml

Under gui.custom-textures, add entries like:

gui:
  custom-textures:
    background: 1001
    progress:
      "0": 2001
      "33": 2002
      ...

βœ… Save and reload or restart the plugin after making changes.


8. Install and Enable the Resource Pack

  1. Zip the contents of MyCustomFurnacePack (make sure assets/ and pack.mcmeta are at the root).

  2. Place the .zip file into your Minecraft client's resourcepacks/ folder.

  3. In Minecraft:

    • Go to Options β†’ Resource Packs

    • Move your custom pack to the Selected list.

    • Click Done to apply.


Troubleshooting

If your textures don't show:

  • πŸ”Ž Double-check file paths and names.

  • βœ… Validate .json syntax.

  • πŸ”„ Confirm CustomModelData values match between resource pack and config.

  • βœ”οΈ Ensure the resource pack is properly applied in Minecraft.



🧩 Step-by-Step: Adding to ResourcePackManager

1. Host Your Resource Pack Zip

Upload your zipped MyCustomFurnacePack.zip somewhere accessible via a direct download link (HTTP/HTTPS). Options:

  • βœ… Dropbox (make sure it’s a direct link)
  • βœ… GitHub Releases
  • βœ… A custom web server
  • βœ… Google Drive (with link conversion)

Example Link Format:

https://example.com/resourcepacks/MyCustomFurnacePack.zip

πŸ”₯ Make sure your file is publicly accessible and doesn’t require login or redirect.


2. Configure config.yml of ResourcePackManager

Open the plugins/ResourcePackManager/config.yml and add an entry for your new pack.

packs:
  mycustomfurnace:
    url: "https://example.com/resourcepacks/MyCustomFurnacePack.zip"
    hash: "sha1_hash_here"
    forced: false
    priority: 10
    permission: "resourcepack.mycustomfurnace"

What the Fields Mean:

  • url: Direct download link to the .zip file
  • hash: SHA-1 hash of the zip (used by Minecraft to validate the file)
  • forced: Set to true if you want to require users to accept it
  • priority: Higher number = higher load priority
  • permission: Optional permission node (e.g., only apply to players with this)

3. Generate the SHA-1 Hash

Minecraft requires a SHA-1 checksum of the .zip file. You can generate it with:

On Linux/macOS:

sha1sum MyCustomFurnacePack.zip

On Windows:

Get-FileHash -Path .\MyCustomFurnacePack.zip -Algorithm SHA1

Copy the resulting hash into the hash: field in the config.


4. Give Permissions (Optional)

If you're using permissions:

  • Assign resourcepack.mycustomfurnace to the group or players who should get the pack.

5. Reload the Plugin

After updating the config, run:

/resourcepack reload

Or restart the server.


βœ… Done!

⚠️ **GitHub.com Fallback** ⚠️