The Panoramas mod provides a system for mods and resource packs to add new main manu panoramas to the game.
The mod comes with a few built in panoramas that will be available by default.
- Vanilla (minecraft:vanilla) - The default panorama as defined by Mojang.
- Frozen Ocean (panoramas:frozen_ocean) - A view of the ocean surrounded by icebergs and polar bears.
- Forest (panoramas:forest) - A view of the traditional Minecraft forest.
- Kelp Sea (panoramas:kelp_sea) - An underwater view of a kelp forest with ship wrecks in the background.
- Title Seed (panoramas:title_seed) - A recreation of the original Minecraft title screen panorama.
The config file will be read from your instance's config folder. The file will be named panoramas-client.toml
. If the
file does not exist, you must install and run the mod at least once to generate the most up to date file.
removedEntries
- This option allows you to filter out panorama entries using their full ID. If the ID is listed here it will never be displayed. For exampleremovedEntries = ["minecraft:vanilla]
will prevent the vanilla panorama from being displayed.removedNamespaces
- This option allows all panoramas from a given namespace to be filtered. The namespace is the first half of an ID before the:
. For exampleremovedNamespaces = ["panoramas"]
will remove all panoramas included with the mod by default.maxDisplayTime
- This controls the time in milliseconds to display the panorama. The mod will try to cycle to a new panorama after this duration of time. The default is 600 seconds.forcedPanorama
- This option allows a specific panorama to always be displayed. For example usingforcedPanorama = "panoramas:frozen_ocean"
will ignore all other entries and only show the frozen ocean panorama.
This mod can load custom panoramas from resource packs. This allows mods and modpacks to add their own panoramas that can randomly show up on the title menu while the player plays the game. The intended goal of this mod is to create a system where multiple projects can share the spotlight rather than fighting over which mod gets to display their panoramas.
Panoramas care loaded using resource packs. This can be any type of resource pack, such as a mod's resource pack, a user
applied resource pack, or even a modpack defined resource pack. The panorama files are loaded from
the assets/%namespace%/panoramas/
folder, where the namespace is a lowercase ID for the project that is adding the new
panoramas. A mod will use their modid, while a modpack may use their name. In this tutorial we will
use assets/examples/panoramas/
The first step to adding a panorama is to create a panorama JSON file. This file goes in the panoramas folder, and the
name of the file determines the ID of the panorama. Like all resource pack files this should be a lower case file with
no special characters other than _
. In this example we will use the file my_panorama.json
. This means our full
panorama ID will be examples:my_panorama
.
Inside the panorama JSON file you can configure several properties which will change the behaviour of your panorama. None of these properties are required.
Property | Example | Required | Description |
---|---|---|---|
type | panoramas:vanilla | false | This determines the type of panorama being created. By default the mod only supports vanilla-like panoramas however mods can add new types. |
conditions | N/A | false | An array of load conditions can be defined. These use the Forge recipe load conditions and can be used to prevent files from loading unless a specific mod is present. |
texture | examples:textures/gui/title/background/panorama | false | The resource path to the texture you want to use. A vanilla-like panorama will look for 6 textures suffixed _0 to _5 where each texture forms a different part of the cube. By default this texture will be taken from ID of the panorama and does not need to be specified manually. If your ID is examples:my_panorama it will look for assets/examples/textures/gui/title/background/my_panorama_0 and so on. |
weight | 200 | false | The weight is used to determine how likely a panorama is to be chosen when selecting a random panorama. The higher the value the more likely it is to be selected. The percent chance is determined by dividing the weight by the combined weight of all loaded panoramas. For example if there are two panoramas with a weight of 100 they would each have a 50% chance to display. If one is 100 and the other is 300, the one with 300 weight would show up 75% of the time while the one with 100 weight would show up 25%. The vanilla panorama weight is 1000. The default weight is 1000. |
This example uses all default properties and is effectively an empty file, except for the two curly brackets
which are required for a JSON file to be valid. If the file was in assets/examples/panoramas/default.json
it would
create a simple panorama using the textures from assets/examples/textures/gui/title/background/default_0.png
to assets/examples/textures/gui/title/background/default_5.png
. The weight would be 1000 making it as likely to appear
as the vanilla panorama.
{
}
This example sets most of the available properties. It has a weight of 2000, making it twice as common as the default
vanilla panorama. It will use panorama textures from assets/examples/textures/panoramas/example_0.png
to assets/examples/textures/panoramas/example_5.png
.
{
"type": "panoramas:vanilla",
"texture": "examples:textures/panoramas/example",
"weight": 2000
}
Sometimes you may only want a panorama to load under certain conditions, such as a specific mod being installed and available. This can be achieved using Forge's recipe conditions system. For example imagine we want a panorama to only load when the mod buildcraft is installed. We can use the following approach.
{
"conditions": [
{
"type": "forge:mod_loaded",
"modid": "buildcraft"
}
],
"weight": 2000
}