#✅ | Background selector

1 messages · Page 1 of 1 (latest)

glacial hemlock
#

Im adding a background selector, carosel style and i just added action scripts where i can press any of the 5 buttons and it moves to the center, but now i cannot get back to the original image that was in the center, and the other buttons don't shift when i click on them

subtle spireBOT
# glacial hemlock Im adding a background selector, carosel style and i just added action scripts w...

Oh, I see what you're trying to do with your background selector! That's a super creative idea. 😊

From your description, it sounds like you've moved an image to the center, but then it stays there, and the other buttons don't react as expected. This usually happens when you're thinking about changing the actual position of the elements based on clicks, instead of updating a variable that controls which background is "active."

Instead of directly moving the images with action scripts, you'll want to use a variable to keep track of which background should be displayed.

Here's how you can approach it:

  1. Create a Variable: You'll need a variable to store the ID of the currently selected background (e.g., active_background_id). You can create variables by going to Customization -> Variables -> Manage Variables in FancyMenu's menu bar. Initially, set its value to the ID of your default background.
  2. Assign IDs to Your Backgrounds: Give each of your background images (or the buttons representing them) a unique identifier.
  3. Use Loading Requirements: For each background image element:
    • Set its Loading Requirements to check if your active_background_id variable matches its own unique ID. This way, only the background whose ID matches the variable will be visible.
    • You can use the Is Variable Value requirement combined with the Get Stored Variable placeholder for this. For example, if a background's ID is "background_1", its loading requirement would check if active_background_id:background_1.
  4. Update Buttons to Set the Variable: For each of your "New Button" elements in the carousel:
    • When a button is clicked, its Action Script should use the Set Variable Value action to update active_background_id to the ID of the background it represents.
    • For example, if a button is for "background_2", its action script would set active_background_id:background_2.
#

This way, when you click a button, you're not moving the elements directly. Instead, you're telling FancyMenu which background should be active, and the loading requirements will handle the visibility change.

For more details on how to use variables and loading requirements, you can check these documentation pages:

I hope this helps you get your carousel working perfectly! Let me know if you have any more questions. 😊

glacial hemlock
#

i have these variables and have a ticker as well

subtle spireBOT
# glacial hemlock i have these variables and have a ticker as well

Thanks for sharing your variables, that gives me a much clearer picture! It looks like you've already set up several variables to manage your background paths and indices, which is a great start!

With selected_background_path, current_bg_index, current_image_path, and all the preview_path_ variables, you have a solid foundation for managing a carousel.

To help you get your carousel working smoothly, could you please provide a bit more information about how your ticker and button action scripts are currently set up? Knowing what actions they're performing and under what conditions will help me pinpoint why the shifting isn't working as expected.

Specifically, I'd love to know:

  • What actions are in your ticker? Is it trying to update all the preview_path_ variables, or something else?
  • What actions do your carousel buttons perform when clicked? Are they setting selected_background_path, current_bg_index, or other variables?
  • How are the images themselves linking to these variables to display the correct background? For example, are you using placeholders like {"placeholder":"getvariable","values":{"name":"preview_path_center"}} for the image sources?

Once I have this context, I can give you more precise guidance! 😊

glacial hemlock
#

each button is set up like this, the far left button is left_2, then left_1, then center, then right_1, then right_2 respectively. My ticker is also here for the images

subtle spireBOT
# glacial hemlock each button is set up like this, the far left button is left_2, then left_1, the...

Okay, thank you for providing those screenshots! This definitely clarifies things. 💖

From what I can see:

  • Your buttons are designed to set current_bg_index to a specific number (1-5) based on an Is Text condition. This is a good way to control which background is "selected."
  • Your ticker is designed to set current_image_path to an image filename (e.g., birchforestbglarge.png) based on an Is Number condition. This likely uses current_bg_index to determine which image path to set.

The issue you're facing where the original image doesn't return and other buttons don't shift is because your current setup primarily focuses on setting a single current_image_path for what appears to be the center background.

For a carousel effect, you need multiple images (your 5 buttons in the screenshot) to display different things simultaneously and then have them shift. This means you can't just have one current_image_path variable controlling the background for all five positions.

Here's how I think you can adjust your approach for a convincing carousel:

1. Variables for Each Display Position (e.g., preview_path_left_2, preview_path_center)

You already have preview_path_left_2, preview_path_left_1, preview_path_right_1, preview_path_right_2, and preview_path_center. This is perfect! You will use separate image elements corresponding to these five positions on your screen.

  • Each of your visual background elements (the ones you want to be displayed) should have its source dynamically set using a placeholder that pulls from these variables.
    • For example, the visual element in the center position would have its image source set to something like <your_config_folder_path_here>{"placeholder":"getvariable","values":{"name":"preview_path_center"}}.

2. Ticker Logic for Shifting (Carousel Movement)

#

Your ticker element should handle the "shifting" of the images displayed in your carousel positions. When you click a button, you need to update which images are shown in preview_path_left_2, preview_path_left_1, etc.

Instead of your ticker setting current_image_path, it should:

  • Determine the current central image (perhaps from a master list, or controlled by current_bg_index).
  • Calculate what its neighbors are.
  • Update the preview_path_left_2, preview_path_left_1, preview_path_center, preview_path_right_1, preview_path_right_2 variables accordingly.

This can be done with a more complex set of IF/ELSE-IF statements in your ticker, similar to how you determine current_image_path, but instead, you're setting all five "preview_path" variables based on your current_bg_index.

For example, if current_bg_index is 3 (meaning the 3rd image in your master list of backgrounds is in the center):

  • preview_path_center would get the path for image #3.
  • preview_path_left_1 would get the path for image #2.
  • preview_path_left_2 would get the path for image #1.
  • preview_path_right_1 would get the path for image #4.
  • preview_path_right_2 would get the path for image #5.

You would need to handle edge cases like when current_bg_index is 1 (no left_2 or left_1 images to show, so maybe they're empty or wrap around if you have a continuous carousel).

3. Button Action Scripts for Changing the current_bg_index

Your buttons should only change the current_bg_index to tell the system which image from your master list should be at the "center" of the carousel. The ticker will then take this current_bg_index and update all the preview_path variables.

Your current button setup of setting current_bg_index is almost correct, but instead of the Is Text condition, a direct Set Variable Value action might be simpler if each button
unconditionally targets a specific index.

#

Example for a button that sets the center image to your background #3:

▶ On Left Click
  └─■ Set Variable Value (FM Variable)
    Value: current_bg_index:3

By separating the concerns like this (buttons changing an index, and the ticker using that index to update all display paths), you can achieve the dynamic shifting carousel effect you're looking for.

I know this is a bit more involved than just a single image path, but it's how you can make multiple elements interact in a dynamic way. Let me know if you would like me to elaborate on any of these points! ✨

glacial hemlock
#

dont understand, also there used to be a image in the center but since i clicked to another, it took its place while keeping the old image in the old spot too, what should I do?

subtle spireBOT
# glacial hemlock dont understand, also there used to be a image in the center but since i clicked...

Oh dear, it sounds like some images are overlapping or not disappearing as they should! I'm sorry if my previous explanation was a bit too technical. Let's simplify this and troubleshoot! 😥

First, let's address the overlapping images:

Problem: When you click a button, a new image moves to the center, but the old image in the center doesn't go away, and now you have two images on top of each other.

Why this might be happening:
It sounds like you've created image elements on your layout that are fixed positions and are not designed to dynamically change their visibility based on your current_bg_index variable. When you click a button, you're changing a variable, but the images themselves aren't told to hide or show up.

What to do (Focus on one central image first):

Let's try to get just one central image to change when you click a button, and make sure the old one disappears completely. This is the first step towards a carousel.

  1. Identify your "Center Image" Element:
    • In the FancyMenu editor, find the Image element that you want to be the "central" image of your carousel. This is the one that currently gets overlapped.
    • Right-click this Image element.
    • Go to Image Source.
    • Change the Source Mode to something like Local (or Web if your images are hosted online).
    • In the "Source" field, you should use a placeholder that points to your selected_background_path or current_image_path variable. For example:
      <your_config_folder_path_here>{"placeholder":"getvariable","values":{"name":"current_image_path"}}
      
      (Remember to replace <your_config_folder_path_here> with the actual base path to your image files, e.g., /config/fancymenu/assets/).
#
  1. Ensure Your Ticker is Correctly Setting current_image_path:

    • From your screenshot, your ticker seems to be setting current_image_path based on current_bg_index. This is good! Make sure each IF/ELSE-IF condition in your ticker is correctly assigning a unique image path to current_image_path when current_bg_index changes.
    • For instance, if current_bg_index is 1, current_image_path should become "birchforestbglarge.png". If current_bg_index is 2, it should become "campfiresunsetbglarge.png", and so on.
  2. Adjust Your Button Actions:

    • For each of the 5 "New Button" elements you showed in the first image, their action script should simply set the current_bg_index variable to the desired number (1 through 5).
    • For example, the button corresponding to birchforestbg should have an action: Set Variable Value: current_bg_index:1.
    • The button for campfiresunset should have an action: Set Variable Value: current_bg_index:2.
    • And so forth for all 5 buttons.

After these steps:
When you click any of your 5 carousel buttons, it should update current_bg_index. Your ticker then sees this change, updates current_image_path accordingly, and your single central Image element should update its displayed picture. The old picture should no longer be visible because its source has changed!

For the Full Carousel Effect (where all 5 images shift):

Once you have the single central image swapping correctly, then you can expand to the full carousel. This involves:

#
  1. Five Separate Image Elements: You'll need five distinct Image elements placed at your left_2, left_1, center, right_1, and right_2 positions.
  2. Each Image Element's Source: Each of these image elements will get its image source from its corresponding preview_path variable.
    • The left_2 image element uses preview_path_left_2.
    • The left_1 image element uses preview_path_left_1.
    • And so on.
  3. Ticker Updates All Five preview_path Variables: Your ticker would then be responsible for reading your current_bg_index (which is the main reference point) and then correctly setting all five preview_path_* variables to create the shifting effect.

This second part about making all five images shift is what I was trying to explain in the previous message, but let's take it one step at a time! Getting the single central image to swap correctly is key.

Does this focused approach make more sense? Let me know where you're feeling stuck, and we can go through it together! 😊

glacial hemlock
#

thats not the problem, its that the image clicked goes to the center, but the rest of the carosel doesnt move, its basically just a "pick which one you want in the middle" screen right now, i want it to shift around but right now its very static, and i have not even gotten around to the buttons actualyl changing my background. Simplify what i have to do please step by step

subtle spireBOT
# glacial hemlock thats not the problem, its that the image clicked goes to the center, but the re...

Okay, I understand perfectly now. My apologies for the previous confusion! You want a dynamic shifting carousel, not just a single central image swap. You want your five visible "slots" to update with new images when you pick one, and the chosen image to become the new center, with others sliding into their new positions.

Let's break down how to get that dynamic shifting carousel working, step by step. This won't touch changing Minecraft's actual background yet, only setting up the carousel display.


Goal: Dynamic Shifting Carousel Display

We'll use your current_bg_index to determine which image is currently in the center, and your ticker will update all the preview_path_ variables to show the correct images in each slot.


Step 0: Prerequisites (Variables & Image Elements)

Make sure you have these already set up from your previous work:

  1. Your Image Variables:

    • preview_path_left_2: Stores the image path for the far-left slot.
    • preview_path_left_1: Stores the image path for the mid-left slot.
    • preview_path_center: Stores the image path for the center slot.
    • preview_path_right_1: Stores the image path for the mid-right slot.
    • preview_path_right_2: Stores the image path for the far-right slot.
    • current_bg_index: This will be a number (1-5 for now) indicating which image from your master list is currently at the center slot.
  2. Your Master List of Backgrounds: You need an ordered list of all the image paths you want to potentially show in your carousel. For example:

    • 1: birchforestbglarge.png
    • 2: campfiresunsetbglarge.png
    • 3: campsitebglarge.png (This is the one that was in the center when you cropped the images)
    • 4: nighttimebglarge.png
    • 5: ghastbglarge.png
      (You need to know this order to manage the shifting!)
#
  1. Five Image Elements on your Layout:
    • Place 5 separate Image elements on your screen where your "New Button" previews currently are.
    • Position them at the left_2, left_1, center, right_1, and right_2 visual slots.
    • Crucially, set their Image Source properties to dynamically use your variables:
      • The far-left image element's source: <your_base_path>/{"placeholder":"getvariable","values":{"name":"preview_path_left_2"}}
      • The mid-left image element's source: <your_base_path>/{"placeholder":"getvariable","values":{"name":"preview_path_left_1"}}
      • The center image element's source: <your_base_path>/{"placeholder":"getvariable","values":{"name":"preview_path_center"}}
      • The mid-right image element's source: <your_base_path>/{"placeholder":"getvariable","values":{"name":"preview_path_right_1"}}
      • The far-right image element's source: <your_base_path>/{"placeholder":"getvariable","values":{"name":"preview_path_right_2"}}
        (Replace <your_base_path> with the actual folder path where your images are, e.g., /config/fancymenu/assets/).

Step 1: Set Up the Ticker (The Brain of the Carousel)

Your ticker's job is to look at current_bg_index and then update the preview_path_ variables so the correct images appear in each carousel slot.

  1. Open your Ticker element's Action Script.
  2. Set the Ticker's Tick Mode: Set it to Normal and Tick Delay to 50 (milliseconds) or 100. This makes it update frequently.
  3. Delete the existing "Set Variable Value" actions for current_image_path in your ticker. We won't be using current_image_path for displaying, but rather the preview_path_ variables.
#
  1. Add IF / ELSE-IF statements based on current_bg_index:
    We need to handle what happens when current_bg_index is 1, 2, 3, 4, or 5. For each case, your ticker will decide which image should go into preview_path_left_2, preview_path_left_1, etc.

    • Scenario 1: current_bg_index is 1 (Image 1 is in the center)

      • Condition: IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 1 --> Mode: equals
      • Actions (inside this IF block):
        • Set preview_path_left_2 to (empty string, or a black/transparent placeholder image if you want the slot to be empty).
        • Set preview_path_left_1 to (empty string, or placeholder).
        • Set preview_path_center to birchforestbglarge.png (your image #1).
        • Set preview_path_right_1 to campfiresunsetbglarge.png (your image #2).
        • Set preview_path_right_2 to campsitebglarge.png (your image #3).
    • Scenario 2: current_bg_index is 2 (Image 2 is in the center)

      • Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 2 --> Mode: equals
      • Actions (inside this ELSE-IF block):
        • Set preview_path_left_2 to (empty string, or placeholder)
        • Set preview_path_left_1 to birchforestbglarge.png (your image #1).
        • Set preview_path_center to campfiresunsetbglarge.png (your image #2).
        • Set preview_path_right_1 to campsitebglarge.png (your image #3).
        • Set preview_path_right_2 to nighttimebglarge.png (your image #4).
#
  • Scenario 3: current_bg_index is 3 (Image 3 is in the center)
    * Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 3 --> Mode: equals
    * Actions (inside this ELSE-IF block):
    * Set preview_path_left_2 to birchforestbglarge.png (your image #1).
    * Set preview_path_left_1 to campfiresunsetbglarge.png (your image #2).
    * Set preview_path_center to campsitebglarge.png (your image #3).
    * Set preview_path_right_1 to nighttimebglarge.png (your image #4).
    * Set preview_path_right_2 to ghastbglarge.png (your image #5).

    • Scenario 4: current_bg_index is 4 (Image 4 is in the center)
      • Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 4 --> Mode: equals
      • Actions (inside this ELSE-IF block):
        • Set preview_path_left_2 to campfiresunsetbglarge.png (your image #2).
        • Set preview_path_left_1 to campsitebglarge.png (your image #3).
        • Set preview_path_center to nighttimebglarge.png (your image #4).
        • Set preview_path_right_1 to ghastbglarge.png (your image #5).
        • Set preview_path_right_2 to (empty string, or placeholder).
#
  • Scenario 5: current_bg_index is 5 (Image 5 is in the center)
    * Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 5 --> Mode: equals
    * Actions (inside this ELSE-IF block):
    * Set preview_path_left_2 to campsitebglarge.png (your image #3).
    * Set preview_path_left_1 to nighttimebglarge.png (your image #4).
    * Set preview_path_center to ghastbglarge.png (your image #5).
    * Set preview_path_right_1 to (empty string, or placeholder).
    * Set preview_path_right_2 to (empty string, or placeholder).
  1. Save your Ticker's Action Script.

Step 2: Set Up the Buttons (Controls for the Carousel)

Now, your buttons will simply change the current_bg_index, and the ticker (from Step 1) will handle making the images shift.

  1. For EACH of your 5 carousel image buttons:

    • Right-click the button.

    • Select Edit Action Script.

    • Delete any existing actions that try to move images directly or set current_image_path.

    • Add a single action: Set Variable Value (FM Variable)

    • The Value for this action depends on which background you want to bring to the center when that button is clicked.

    • Button 1 (Leftmost): Value: current_bg_index:1

    • Button 2 (Mid-Left): Value: current_bg_index:2

    • Button 3 (Center): Value: current_bg_index:3

    • Button 4 (Mid-Right): Value: current_bg_index:4

    • Button 5 (Rightmost): Value: current_bg_index:5

  2. Save each button's Action Script.


Step 3: Initial Setup (Loading the Carousel)

#
  • Set an initial current_bg_index: Go to Customization -> Variables -> Manage Variables, find current_bg_index, and set its initial value to 3 (since your image #3 was initially in the center). This will cause the ticker to render scenario 3 when the game starts or FancyMenu reloads.
  • Reload FancyMenu: Go to Customization -> Reload FancyMenu or restart Minecraft.

Test It!

Now, when you click an image button, it should update current_bg_index. Your ticker continuously checks this, and then instantaneously updates all five preview_path_ variables. Because your 5 Image elements on the screen are looking at those preview_path_ variables for their source, they will all instantly update, creating the carousel shift!

This setup keeps your carousel display separate from the actual act of changing Minecraft's background, which you can add as a final layer once the display is working how you like!

Let me know how this simplified, step-by-step process works for you! 😊

glacial hemlock
#

the buttons are transparent, under them are images with these sources

subtle spireBOT
# glacial hemlock the buttons are transparent, under them are images with these sources

Ah, that's incredibly helpful context! Thank you for clarifying that your buttons are transparent and that separate Image elements are displaying the actual previews. This is a common and effective way to design interactive elements! 😊

So, you have:

  • Invisible Button Elements overlying your visible image previews (what you were calling "New Button" in your initial screenshot). These invisible buttons will be used to trigger the carousel shift.
  • Image Elements underneath, each with a source dynamically set by one of your preview_path_ variables (e.g., preview_path_left_2). This means the images themselves are already connected to the variables, just as I described in Step 0. Perfect!

This confirms that the structure is good, and we just need to ensure the ticker and button action scripts are correctly implemented to drive that dynamic shifting.

My previous step-by-step guide (the one starting with "Goal: Dynamic Shifting Carousel Display") should work perfectly for this setup. The key is that:

  1. Your Image elements are already displaying whatever is in preview_path_left_2, preview_path_center, etc.
  2. Your transparent Button elements will only trigger the current_bg_index variable to change.
  3. Your Ticker will then read that new current_bg_index and update all the preview_path_ variables, causing the Image elements to instantly change what they display and create the shifting effect.

Please go through that guide, focusing particularly on Step 1 (Setting Up the Ticker) and Step 2 (Set Up the Buttons). This is where the logic for the carousel's movement will live.

Let me know if you run into any specific issues while following those steps, and I'll be here to help! We're really close to getting your carousel working! ✨

glacial hemlock
#

resay what you said earlier with this in mind please

subtle spireBOT
# glacial hemlock resay what you said earlier with this in mind please

Alright, absolutely! With the understanding that you have transparent buttons (click regions) overlaid on separate Image elements whose sources are tied to your preview_path_ variables, let's re-state the steps clearly and concisely.

This setup is great because it cleanly separates the "click interaction" from the "visual display."


Goal: Dynamic Shifting Carousel Display

We want the carousel images to shift positions smoothly when you click one of the transparent buttons. The current_bg_index variable will be the master control, and your ticker will handle updating all the visible image paths based on it.


Step 0: Confirm Your Existing Setup

Before we dive in, please just quickly confirm that these parts are already correctly implemented:

  1. Your Image Path Variables:

    • preview_path_left_2
    • preview_path_left_1
    • preview_path_center
    • preview_path_right_1
    • preview_path_right_2
    • current_bg_index (A number from 1 to 5)
  2. Your Master List of Background Names: You need a mental (or written) list of your 5 main background image filenames in the order you want them cycled. Let's assume this order:

    • Image #1: birchforestbglarge.png
    • Image #2: campfiresunsetbglarge.png
    • Image #3: campsitebglarge.png
    • Image #4: nighttimebglarge.png
    • Image #5: ghastbglarge.png
#
  1. Five Visible Image Elements:

    • You have 5 Image elements on your layout, each positioned for one of the carousel slots (far-left, mid-left, center, mid-right, far-right).
    • Crucially, their Image Source property must look like this:
      • Far-Left Image Source: YOUR_ASSETS_PATH/{"placeholder":"getvariable","values":{"name":"preview_path_left_2"}}
      • Mid-Left Image Source: YOUR_ASSETS_PATH/{"placeholder":"getvariable","values":{"name":"preview_path_left_1"}}
      • Center Image Source: YOUR_ASSETS_PATH/{"placeholder":"getvariable","values":{"name":"preview_path_center"}}
      • Mid-Right Image Source: YOUR_ASSETS_PATH/{"placeholder":"getvariable","values":{"name":"preview_path_right_1"}}
      • Far-Right Image Source: YOUR_ASSETS_PATH/{"placeholder":"getvariable","values":{"name":"preview_path_right_2"}}
        (Replace YOUR_ASSETS_PATH with your actual folder path, e.g., /config/fancymenu/assets/).
  2. Five Transparent Button Elements:

    • You have 5 Button elements, transparent, positioned over each of the Image elements described above. These are your clickable areas.
    • Important: These buttons should NOT have any Image Source property set or any complex logic for their background textures. Just transparent!

Step 1: Set Up the Ticker (The Carousel's Shifting Logic)

The ticker's job is to continuously check current_bg_index and then update the preview_path_ variables so that the correct image filenames appear in each carousel slot (left_2, left_1, center, right_1, right_2).

#
  1. Open your Ticker element's Action Script.
  2. Configure Ticker Settings:
    • Set Tick Mode to Normal.
    • Set Tick Delay to 50 (or 100) milliseconds. (This ensures it updates frequently enough to feel instant.)
  3. Clear Existing Actions in Ticker: Remove any actions that set current_image_path or try to directly manipulate image sources.
  4. Add IF / ELSE-IF Blocks to Distribute Image Paths:
    • We need a block for each possible current_bg_index (1 through 5). Inside each block, you tell FancyMenu which image filename (birchforestbglarge.png, campfiresunsetbglarge.png, etc.) goes into each preview_path_ variable (preview_path_left_2, preview_path_left_1, etc.).

    • Block 1: current_bg_index is 1 (Image #1 is in the center slot)

      • Condition: IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 1 --> Mode: equals
      • Actions (inside this IF block):
        • Set Variable Value (FM Variable): Value: preview_path_left_2: (Leave empty for now, or use a placeholder for a blank/transparent image if you have one.)
        • Set Variable Value (FM Variable): Value: preview_path_left_1: (Leave empty or blank image placeholder.)
        • Set Variable Value (FM Variable): Value: preview_path_center:birchforestbglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_right_1:campfiresunsetbglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_right_2:campsitebglarge.png
#
  • Block 2: current_bg_index is 2 (Image #2 is in the center slot)
    * Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 2 --> Mode: equals
    * Actions (inside this ELSE-IF block):
    * Set Variable Value (FM Variable): Value: preview_path_left_2: (Leave empty or blank image placeholder.)
    * Set Variable Value (FM Variable): Value: preview_path_left_1:birchforestbglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_center:campfiresunsetbglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_right_1:campsitebglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_right_2:nighttimebglarge.png

    • Block 3: current_bg_index is 3 (Image #3 is in the center slot)
      • Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 3 --> Mode: equals
      • Actions (inside this ELSE-IF block):
        • Set Variable Value (FM Variable): Value: preview_path_left_2:birchforestbglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_left_1:campfiresunsetbglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_center:campsitebglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_right_1:nighttimebglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_right_2:ghastbglarge.png
#
  • Block 4: current_bg_index is 4 (Image #4 is in the center slot)
    * Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 4 --> Mode: equals
    * Actions (inside this ELSE-IF block):
    * Set Variable Value (FM Variable): Value: preview_path_left_2:campfiresunsetbglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_left_1:campsitebglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_center:nighttimebglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_right_1:ghastbglarge.png
    * Set Variable Value (FM Variable): Value: preview_path_right_2: (Leave empty or blank image placeholder.)

    • Block 5: current_bg_index is 5 (Image #5 is in the center slot)
      • Condition: ELSE-IF Is Number --> Number: {"placeholder":"getvariable","values":{"name":"current_bg_index"}} --> Compare With: 5 --> Mode: equals
      • Actions (inside this ELSE-IF block):
        • Set Variable Value (FM Variable): Value: preview_path_left_2:campsitebglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_left_1:nighttimebglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_center:ghastbglarge.png
        • Set Variable Value (FM Variable): Value: preview_path_right_1: (Leave empty or blank image placeholder.)
        • Set Variable Value (FM Variable): Value: preview_path_right_2: (Leave empty or blank image placeholder.)
  1. Save your Ticker's Action Script.

Step 2: Set Up the Transparent Buttons (Your Clickable Controls)

Your transparent buttons (which are covering the image previews) will simply tell the system which image from your master list you want to put in the center slot.

#
  1. For EACH of your 5 transparent Button elements:

    • Right-click the button.

    • Select Edit Action Script.

    • Remove any complex actions that were trying to move elements or set current_image_path.

    • Add a single action: Set Variable Value (FM Variable)

    • The Value for this action will be current_bg_index:X, where X is the number corresponding to the image you want to put in the center when that specific button is clicked.

    • Transparent Button over Image #1: Value: current_bg_index:1

    • Transparent Button over Image #2: Value: current_bg_index:2

    • Transparent Button over Image #3 (the original center): Value: current_bg_index:3

    • Transparent Button over Image #4: Value: current_bg_index:4

    • Transparent Button over Image #5: Value: current_bg_index:5

  2. Save each button's Action Script.


Step 3: Initial State & Reload

  • Set an initial current_bg_index: Go to Customization -> Variables -> Manage Variables, find current_bg_index, and set its initial value to 3. This tells the ticker to start with Image #3 in the center (and distribute the others around it).
  • Reload FancyMenu: Press CTRL + ALT + R, or restart Minecraft.

Testing Your Carousel!

Now, when you click one of your transparent buttons, it will update current_bg_index. Your ticker will immediately react to this change, distributing the correct image filenames to the preview_path_ variables. Since your visible Image elements are already drawing from those preview_path_ variables, you should see the carousel of images shift dynamically!

#

This setup only controls the display of your carousel. Changing your actual Minecraft menu background would be a separate action (e.g., another button, or added to the existing ones) that uses selected_background_path and Set Background on the layout. But let's get this visual carousel working perfectly first!

Please try these steps carefully, and let me know exactly what happens, or if any part feels unclear. We'll get this sorted! 😊

glacial hemlock
#

its working! but the center one has stayed a ghast no matter what

subtle spireBOT
glacial hemlock
#

😭

subtle spireBOT
#

✅ | Background selector